当前位置:首页 > 每日看点

如何评价GLM开源CogAgent-9,成为GLM-PC基座模型?

卡卷网1年前 (2025-01-10)每日看点269

11月29,智谱正式提出GLM-OS概念,并发布AutoGLM和GLM-PC两款Agent产品。近期GLM-PC的基座模型——CogAgent-9开源,供社区进一步开发。 

CogAgent-9-20241220是基于GLM-4V-9训练而成的专用Agent任务模型。该模型仅需屏幕截图作为输入(无需HTML等文本表征),便能根据用户指定的任意任务,结合历史作,预测下一步的GUI作。得益于屏幕截图和GUI作的普适性,CogAgent可广泛应用于各类基于GUI交互的场景,如个人电脑、、车机设备等。 

相较于2023年12月开源的第一版CogAgent模型,CogAgent-9-20241220在GUI感知、推理预测准确性、动作空间完性、任务普适性和泛化性等方面均实现了显著提升,并支持中英文双语的屏幕截图和语言交互。

<>论文:

s://arxiv.org/as/2312.08914

<>代码:

s://githu/THUDM/CogAgent

<>模型:

s://modelscope/models/ZhipuAI/cogagent-9-20241220(方便下载)

<>体验链接:

s://modelscope/studios/ZhipuAI/CogAgent-Demo

<>技术文档:

s://cogagent.aminer/log#/articles/cogagent-9-20241220-technical-report

<>执行过程

CogAgent以GUI截图为唯一环境输入,结合已完成的动作历史,计算当前GUI截图中最合适的动作。该动作通过CogAgent端侧应用(如GLM-PC和CogAgentDemoApp)注入GUI,GUI响应并更新图像内容;同时,该动作被添加至动作历史。CogAgent根据更新后的历史动作和截图,计算后续作。此过程循环往复,直至CogAgent判定指令执行完毕。 

CogAgent的输入仅包含三部分:用户的自然语言指令、已执行历史动作记录和GUI截图,无需任何文本形式表征的布局信息或附加元素标签(setofmarks)信息。 

其输出涵盖以下四个方面: 

    <>思考过程(Status&Plan):CogAgent显式输出理解GUI截图和决定下一步作的思考过程,包括状态(Status)和计划(Plan)两部分,输出内容可通过参数控制。<>下一步动作的自然语言描述(Action):自然语言形式的动作描述将被加入历史作记录,便于模型理解已执行的动作步骤。<>下一步动作的结构化描述(GroundedOperation):CogAgent以类似函数调用的形式,结构化地描述下一步作及其参数,便于端侧应用解析并执行模型输出。其动作空间包含GUI作(基础动作,如左键单击、文本输入等)和拟人行为(高级动作,如应用启动、调用语言模型等)两类。<>下一步动作的敏感性判断:动作分为“一般作”和“敏感作”两类,后者指可能带来难以挽回后果的动作,例如在“发送邮件”任务中点击“发送”按钮。

<>模型升级

<>模型基座与结构升级:CogAgent采用了更强大的视觉语言模型GLM-4V-9作为基座,显著提升了模型的图像理解性能。 

<>视觉处理模块优化:实现了更高效、一的视觉处理模块,支持1120*1120原生高分辨率图像输入。通过带参数的下采样方法,在几乎不损失模型能力的前提下,提高了模型效率。CogAgent在结构上支持任意例或大小的图像输入,但在训练和推理中,一将输入图像缩放到1120*1120。尽管输入图像尺寸固定,结果显示,即使在2K或更高分辨率的屏幕上,模型仍能保持准确的理解能力。为获得更佳表现,建议用户适当增加图标和文字的相对大小,确保缩放后截图中的内容清晰可辨。 

<>数据集丰富与完:广泛收集并整合了多种数据集,包括无数据和GUI指令微调数据集。无数据涵盖开源GUI布局数据集、自采集的应用和网页数据集;GUI指令微调数据集则包含更长链路、更多应用、跨应用的GUIagent任务数据集等。此外,利用CogAgent自我生成数据,进一步扩充和完了数据集。 

<>预训练策略优化:VLM和GUI预训练旨在提升模型对视觉输入和GUI界面的基础理解能力。研究团队首次提出了GUIGrounding预训练,利用屏幕截图和布局对,构建界面子区域与布局表征(如DOM元素)的对应关系,从而构造GUI的REG和REC任务: 

    GUIReferringExpressionGeneration(REG):预测截图上某一区域对应的布局表征。GUIReferringExpressionComprehension(REC):预测截图中某一元素对应的位置。此方法已应用于多个GUI理解数据构造和GUIagent工作中。在原论文中,我们使用40万网页数据,构造了1.4亿的REC&REG训练样本。在此基础上,进一步扩充和优化了训练数据,加入了桌面应用和移动应用的布局数据,使模型更适应实际应用场景。

<>后训练策略改进:后训练在提升模型GUIagent分析、推理、预测能力方面至关重要。我们采用了更科学的后训练策略,分为两个难度递进的阶段:

    GUIinstructiontuning:融合GUI相关多任务数据,深化模型对GUI内容和功能的理解,具备初步问答能力。使用了广泛的开源数据和私有收集数据。GUIagentT:使模型具备完的GUIagent推理能力,训练数据包括开源数据集(如Mind2We)和额外收集的多平台跨应用数据。

<>模型推理及思维链优化:将思维链分解为Status(当前屏幕状态)、Plan(全局计划)、Action(下一步自然语言描述)、Operation(下一步形式语言描述)。通过随机采样混合多种模式训练数据(如Action-Operation、Status-Action-Operation等),可根据交互情景、计算资源和准确率需求灵活调整和控制推理过程中的实际输出。 

<>动作空间完:明确了基础动作空间,并新增了LLM、QUOTE_TEXT、LAUNCH等高级动作,增强了模型的使用工具和交互能力。 

<>评测结果

CogAgent在以下四个数据集中了CogAgent-9-20241220和类似模型的性能。

02.最佳实践

<>模型推理

代码下载

gitclones://githu/THUDM/CogAgent.git cdCogAgent

模型下载

modelscopedownload--modelZhipuAI/cogagent-9-20241220--local_dir./cogagent

CLI模型推理

pythoninference/cli_demo.py--model_dir./cogagent--platform"Mac"--max_length4096--top_k1--output_image_path./results--format_keystatus_action_op_sensitive

推理结果:

显存占用:

搭建WeUI可直接clone魔搭社区创空间并运行:

gitclones://modelscope/studios/ZhipuAI/CogAgent-Demo.git cdCogAgent-Demo pipinstall-rrequirements.txt pythonapp.py

<>模型微调

我们使用ms-swift对cogagent-9-20241220进行微调。ms-swift是魔搭社区提供的大模型与多模态大模型训练和部署框架。ms-swift开源:s://githu/modelscope/ms-swift

在这里,我们将展示可直接运行的demo,并给出自定义数据集的格式。

在开始微调之前,请确保您的环境已准备妥当。

gitclones://githu/modelscope/ms-swift.git cdms-swift pipinstall-e.[llm]

微调脚本如下:

CUDA_VILE_DEVS=0\ swiftt\ --modelZhipuAI/cogagent-9-20241220\ --dataset'modelscope/coco_2014_caption:validation#20000'\ --train_typelora\ --torch_dtypefloat16\ --num_train_epochs1\ --per_dev_train_atch_size1\ --per_dev_eval_atch_size1\ --learning_rate1e-4\ --lora_rank8\ --lora_alpha32\ --target_modulesall-linear\ --freeze_vittrue\ --gradient_accumulation_steps16\ --eval_steps100\ --se_steps100\ --se_total_limit5\ --logging_steps5\ --max_length2048\ --output_diroutput\ --warmup_ratio0.05\ --dataloader_num_workers4

训练显存资源:

自定义数据集格式如下,只需要指定`--dataset<dataset_path>`即可:

自定义数据集文档:s://swift.readthedo.io/zh-cn/la/Customization/%E8%87%AA%E5%AE%9A%E4%9%89%E6%95%0%E6%8D%AE%E9%9%86.html

[ { "messages":[ { "role":"user", "content":"Task:在设置的桌面与程序坞部分,开启调度中心板块中“显示器具有单空间”的选项\n(Platform:Mac)\n(AnswerinAction-Operation-Sensitiveformat.)\nHistorysteps:\n0.CLICK(ox=[[588,946,616,985]],element_='设置')\t点击屏幕下方的“设置”菜单,从而打开设置\n1.CLICK(ox=[[227,561,297,585]],element_='桌面与程序坞')\t点击左侧菜单中的“桌面与程序坞”选项,进入桌面与程序坞的设置界面。\n2.SCROLL_DOWN(ox=[[367,39,691,929]],step_count=75,element_='动')\t在当前屏幕的右侧动区域中,向下动以查看更多选项。\n" }, { "role":"assistant", "content":"Action:点击“调度中心”板块中的“显示器具有单空间”选项,从而开启该功能。\nGroundedOperation:CLICK(ox=[[655,842,671,857]],element_='“显示器具有单空间”的开关按钮')\n<<一般作>>" } ],"images":["images/0000000000336.png"] }, { "messages":[ { "role":"user", "content":"Task:通过启动台打开设置,导航到“网络”部分,将DNS设置手动IP为8.8.4.4。\n(Platform:Mac)\n(AnswerinAction-Operation-Sensitiveformat.)\nHistorysteps:\n0.CLICK(ox=[[7,6,27,31]],element_='苹果标志')\t点击屏幕左上角的“苹果”图标,以便打开设置。\n1.CLICK(ox=[[3,77,161,99]],element_='设置…')\t点击屏幕左上角菜单栏中的“设置…”选项,以打开设置界面。\n2.CLICK(ox=[[7,478,125,512]],element_='网络')\t点击左侧菜单中的“网络”选项,进入网络设置界面。\n3.CLICK(ox=[[155,217,459,270]],element_='Wi-Fi,已连接')\t点击屏幕中间偏上的“Wi-Fi”选项,进入Wi-Fi设置界面。\n4.CLICK(ox=[[405,280,447,296]],element_='详细信息…')\t点击Wi-Fi名称旁边的“详细信息…”按钮,以查看当前Wi-Fi的详细信息。\n5.CLICK(ox=[[27,344,45,362]],element_='DNS')\t点击左侧菜单中的“DNS”选项,进入DNS设置界面。\n6.CLICK(ox=[[166,308,442,399]],element_='8.8.8.8')\t点击DNS输入框,准备输入新的DNS。\n7.TYPE(ox=[[163,308,443,322]],text='8.8.4.4',element_='ip输入框')\t在DNS输入框中输入8.8.4.4,以设置手动IP。\n8.CLICK(ox=[[410,636,440,651]],element_='好')\t点击界面右下角的“好”按钮,以确认并保存DNS设置的更改。\n" }, { "role":"assistant", "content":"Action:已经完成了“通过启动台打开设置,导航到‘网络’部分,将DNS设置手动IP为8.8.4.4”这一任务,执行结束。\nGroundedOperation:END()\n<<END>>" } ],"images":["images/0000000000482.png"] } ]

训练完成后,使用以下命令对训练时的验证集进行推理:

这里`--adapters`需要替换成训练生成的lastcheckpoint文件夹.由于adapters文件夹中包含了训练的参数文件,因此不需要额外指定`--model`。

CUDA_VILE_DEVS=0\ swiftinfer\ --adaptersoutput/vx-xxx/checkpoint-xxx\ --streamtrue\ --load_data_argstrue\ --max_new_tokens2048

点击链接阅读<>原文,即可跳转模型链接:cogagent-9-20241220

扫描二维码推送至手机访问。

版权声明:本文由卡卷网发布,如需转载请注明出处。

本文链接:https://www.kajuan.net/ttnews/2025/01/8618.html

分享给朋友:

相关文章

每天5点就下班了,闲着也是闲着,有哪些副业可以推荐?

每天5点就下班了,闲着也是闲着,有哪些副业可以推荐?

今天整理了36个搞钱APP 可以先接触学习看看,然后选定一个感兴趣的方向去精进 要知道机会不是一下子来临的, 而一定是你前期做了很多准备 每天进步一点点,就像滚雪球一样 希望所以女生,能够在2024年提升自己, 立下一个新的搞钱Flag吧…

感觉手机配置都差不多,为什么有的手机能卖2k-3k,而有的手机却能卖到6k-8k?

感觉手机配置都差不多,为什么有的手机能卖2k-3k,而有的手机却能卖到6k-8k?

与所有的商品一样,手机的价格,也是由它的成本所决定的。 虽然看起来3000元的手机和6000的手机配置差不多,甚至处理器都可能是同一个,但在很多大家容易忽略的地方,决定了两者价格的不同: 例如手机的外观,塑料的机身,与素皮机身和玻璃机身就完…

自媒体如何快速起步?

自媒体如何快速起步?

有两种经验,可供参考。 第一种是:现象级的爆火、爆款,这种情况捞到钱,实现财务自由的人并不多,但确实存在。只不过非要说清楚为什么这个账号可以火、可以短时间内赚到普通人一辈子赚不到的钱,他们自己也不一定能说清楚,因为赶上了风口(内外部情况)。…

为什么扫码支付在中国流行,在发达国家被排斥?

因为这是一种落后的技术。 卖菜的大爷花5毛钱就可以打印出一张二维码来接受付款。 你觉着这种先进么?跟先进完全不沾边的。正是因为不先进,所以才能流行。 卖菜大爷用不起一台先进的、具有NFC感应功能的、还能刷各种银行卡的收款机。 这就是现实。…

鸿蒙系统到底是不是安卓系统?

你好,是的。 接下来我给不懂技术的人简单的说一下哄蒙系统的来龙去脉。 首先你要知道什么是开源。 ‌‌开源 (Open Source)全称为开放源代码‌,意味着任何人都可以获取和使用软件的源代码,并在遵守版权协议的前提下进行修改和再发布。‌1…

为什么现在 AI 已经没啥热度了?

从改名叫大模型那一刻,懂行的就已经放弃了,剩下资本和无知网友还有点后劲 所谓大模型,本质就是一个更大、更快数据库的传声筒。更大更快本身确实很厉害,但依然只是传声筒,和AI根本不沾边 数据库之外仍然一无所知,甚至数据库之内的输出逻辑还要依赖大…

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。