智谱CogAgent-9B:单屏截图解锁GUI操作,推理预测“快准稳”

始智AI wisemodel.cn开源社区

在学界和大模型社区中,众多研究者与开发者开始关注 VLM-based GUI Agent。Claude 3.5(Computer Use)、Gemini 2.0 - Project Mariner 等商业化模型也在探索视觉 GUI agent,并通过发布或内测 API 供公众使用。这一趋势使相关技术的应用范围得以拓展,也让更多人有机会参与到该领域的实践中,加速其发展与落地。

智谱AI最新版CogAgent模型CogAgent-9B-20241220,是基于GLM-4V-9B训练而成的专用Agent任务模型,该模型仅需屏幕截图作为输入(无需HTML等文本表征),便能根据用户指定的任意任务,结合历史操作,预测下一步的GUI操作。其通过数据的采集与优化、多阶段训练与策略改进等方法,在GUI感知、推理预测准确性、动作空间完善性、任务的普适和泛化性上得到大幅提升,能够接受中英文双语的屏幕截图和语言交互。

得益于屏幕截图和GUI操作的普适性,CogAgent 可广泛应用于各类基于GUI交互的场景,如个人电脑、手机、车机设备等。此版模型已被应用于智谱AI的GLM-PC产品。CogAgent-9B-20241220已上线始智AI-wisemodel开源社区,欢迎大家前去体验。

图片

模型地址

https://www.wisemodel.cn/models/ZhipuAI/cogagent-9b-20241220

01.

模型七大升级


图片

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

视觉处理模块优化: 实现了更高效、统一的视觉处理模块,支持1120*1120原生高分辨率图像输入。通过带参数的下采样方法,在几乎不损失模型能力的前提下,提高了模型效率。CogAgent在结构上支持任意比例或大小的图像输入。

但在训练和推理中,统一将输入图像缩放到1120*1120。尽管输入图像尺寸固定,测试结果显示,即使在2K或更高分辨率的屏幕上,模型仍能保持准确的理解能力。为获得更佳表现,建议用户适当增加图标和文字的相对大小,确保缩放后截图中的内容清晰可辨。  

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

预训练策略优化: VLM和GUI预训练旨在提升模型对视觉输入和GUI界面的基础理解能力。首次提出GUI Grounding预训练利用屏幕截图和布局对,构建界面子区域与布局表征(如DOM元素)的对应关系,从而构造GUI的REG和REC任务: 
  • GUI Referring Expression Generation (REG):预测截图上某一区域对应的布局表征。
  • GUI Referring Expression Comprehension (REC):预测截图中某一元素对应的位置。此方法已应用于多个GUI理解数据构造和GUI agent工作中。在原论文中,我们使用40万网页数据,构造了1.4亿的REC & REG训练样本。在此基础上,进一步扩充和优化了训练数据,加入了桌面应用和移动应用的布局数据,使模型更适应实际应用场景。

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

  • GUI instruction tuning:融合GUI相关多任务数据,深化模型对GUI内容和功能的理解,具备初步问答能力。使用了广泛的开源数据和私有收集数据。
  • GUI agent SFT:使模型具备完善的GUI agent推理能力,训练数据包括开源数据集(如Mind2Web)和额外收集的多平台跨应用数据。
模型推理及思维链优化: 将思维链分解为Status(当前屏幕状态)、Plan(全局计划)、Action(下一步自然语言描述)、Operation(下一步形式语言描述)。
通过随机采样混合多种模式训练数据(如Action-Operation、Status-Action-Operation等),可根据交互情景、计算资源和准确率需求灵活调整和控制推理过程中的实际输出。  
动作空间完善:明确了基础动作空间,并新增了LLM、QUOTE_TEXT、LAUNCH等高级动作,增强了模型的使用工具和交互能力。  

02.

全面执行过程










图片

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

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

思考过程(Status & Plan): CogAgent 显式输出理解 GUI 截图和决定下一步操作的思考过程,包括状态(Status)和计划(Plan)两部分,输出内容可通过参数控制。

下一步动作的自然语言描述(Action): 自然语言形式的动作描述将被加入历史操作记录,便于模型理解已执行的动作步骤。

下一步动作的结构化描述(Grounded Operation):CogAgent以类似函数调用的形式,结构化地描述下一步操作及其参数,便于端侧应用解析并执行模型输出。其动作空间包含 GUI 操作(基础动作,如左键单击、文本输入等)和拟人行为(高级动作,如应用启动、调用语言模型等)两类。

下一步动作的敏感性判断: 动作分为“一般操作”和“敏感操作”两类,后者指可能带来难以挽回后果的动作,例如在“发送邮件”任务中点击“发送”按钮。

03.

最佳评测结果


在以下四个数据集中,CogAgent-9B-20241220和类似模型的性能进行了测试

  • Screenspot。Screenspot 衡量模型进行 GUI 元素定位的能力。

  • OmniAct。我们衡量下表中所有模型在 OmniAct 任务中第一步操作的准确率,即使OmniAct 任务可能需要多步操作才能完成。这是因为 OmniAct 没有提供每一步操作之后的屏幕截图。

  • CogAgentBench-basic-cn。是自行收集并内部使用的中文测试集,每个测试样本是完成一条指令过程中的一个步骤,测试样本的输入与 CogAgent 所接收的输入相同。值得注意的是,在给定相同的截图、用户指令、历史操作的情况下,可能会有多个正确的输入,例如点击“发送”按钮和按下回车键都可以发送消息。人工为每一条测试样本标记出所有可能的正确输出。CogAgentBench-basic-cn包含了 147 个任务对应的 1100 个步骤,涉及微信、淘宝、小红书、12306、携程等常见中文应用和网站。表格中的数字为单步操作的正确率。

  • OSworld。表格中的数字为多步任务的完成率。

图片
对比基于API的商业模型(GPT-4o-20240806、Claude-3.5-Sonnet)、商业API + GUI Grounding模型(GPT-4o+UGround、GPT-4o+OS-ATLAS)、开源GUI Agent模型(Qwen2-VL、ShowUI、SeeClick)。 
结果表明,CogAgent在GUI定位(Screenspot)、单步操作(OmniAct)、多步操作(OSWorld)、中文step-wise榜单(CogAgentBench-basic-cn)都取得领先结果,仅在OSworld略逊于针对Computer Use特化的Claude-3.5-Sonnet和结合外接 GUI Grounding Model 的GPT-4o。 

编辑:成蕴年