11月29日,智谱正式提出 GLM-OS 概念,并发布 AutoGLM 和 GLM-PC 两款 Agent 产品。为推动大模型 Agent 生态发展,我们决定将 GLM-PC 的基座模型—— CogAgent-9B 开源,供社区进一步开发。
CogAgent-9B-20241220 是基于 GLM-4V-9B 训练而成的专用Agent任务模型。该模型仅需屏幕截图作为输入(无需HTML等文本表征),便能根据用户指定的任意任务,结合历史操作,预测下一步的GUI操作。得益于屏幕截图和GUI操作的普适性,CogAgent 可广泛应用于各类基于GUI交互的场景,如个人电脑、手机、车机设备等。
相较于2023年12月开源的第一版 CogAgent 模型,CogAgent-9B-20241220 在 GUI 感知、推理预测准确性、动作空间完善性、任务普适性和泛化性等方面均实现了显著提升,并支持中英文双语的屏幕截图和语言交互。
CogAgent-9B
论文:
代码:
模型:
- Huggingface: https://huggingface.co/THUDM/cogagent-9b-20241220
- 魔搭社区: https://modelscope.cn/models/ZhipuAI/cogagent-9b-20241220(方便下载)
- 魔乐社区: https://modelers.cn/models/zhipuai/cogagent-9b-20241220(适配昇腾卡)
技术文档:
执行过程
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 操作(基础动作,如左键单击、文本输入等)和拟人行为(高级动作,如应用启动、调用语言模型等)两类。
- 下一步动作的敏感性判断: 动作分为“一般操作”和“敏感操作”两类,后者指可能带来难以挽回后果的动作,例如在“发送邮件”任务中点击“发送”按钮。
模型升级
模型基座与结构升级: 我们采用了更强大的视觉语言模型GLM-4V-9B作为基座,显著提升了模型的图像理解性能。 视觉处理模块优化: 实现了更高效、统一的视觉处理模块,支持11201120原生高分辨率图像输入。通过带参数的下采样方法,在几乎不损失模型能力的前提下,提高了模型效率。CogAgent在结构上支持任意比例或大小的图像输入,但在训练和推理中,统一将输入图像缩放到11201120。尽管输入图像尺寸固定,测试结果显示,即使在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等高级动作,增强了模型的使用工具和交互能力。
评测结果
我们在以下四个数据集中测试了CogAgent-9B-20241220和类似模型的性能。
我们对比了基于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)、中文step-wise榜单(CogAgentBench-basic-cn)、多步操作(OSWorld)都取得了领先的结果,仅在OSworld上略逊于针对Computer Use特化的Claude-3.5-Sonnet和结合外接 GUI Grounding Model 的GPT-4o。