论文名称:CogAgent: A Visual Language Model for GUI Agents
论文链接:https://arxiv.org/pdf/2312.08914.pdf
GitHub项目地址(含开源模型、网页版Demo):https://github.com/THUDM/CogVLM
近日,清华KEG实验室&智谱AI提出了视觉 GUI Agent,使用视觉模态(而非文本)对GUI界面进行更全面直接的感知, 从而做出规划和决策。对此,团队研发了多模态大模型CogAgent,可接受1120×1120的高分辨率图像输入,不仅提升了通用视觉理解能力,还具备强大的GUI Agent能力。
CogAgent是一个通用的视觉理解大模型,具备视觉问答、视觉定位(Grounding)、GUI Agent等多种能力,在9个经典的图像理解榜单上(含VQAv2,STVQA, DocVQA,TextVQA,MM-VET,POPE等)取得了通用能力第一的成绩,并在涵盖电脑、手机的GUI Agent数据集上(含Mind2Web,AITW等),大幅超过基于LLM的Agent,取得第一。
为了更好地促进多模态大模型、Agent社区的发展,团队已将CogAgent-18B开源至GitHub仓库,并提供了网页版Demo。欢迎大家体验、使用与反馈!
视觉GUI Agent
基于语言预训练模型(LLM)的Agent是当下热门的研究话题,具备良好的应用前景。但是,一个严重的问题是,受限于LLM的模态,它只能接受语言形式的输入。拿网页agent为例,WebAgent [3] 等工作将网页HTML连同用户目标(例如“Can you search for CogAgent on google”)作为LLM的输入,从而获得LLM对下一步动作的预测(例如点击按钮,输入文本)。
然而,一个有趣的观察是,人类是通过视觉与GUI交互的。比如,面对一个网页,当给定一个操作目标时,人类会先观察他的GUI界面,然后决定下一步做什么;与此同时,GUI天然是为了人机交互设计的,相比于HTML等文本模态的表征,GUI更为直接简洁,易于获取有效信息。也就是说,在GUI场景下,视觉是一种更为直接、本质的交互模态,能更高效完整提供环境信息;更进一步地,很多GUI界面并没有对应的源码,也难以用语言表示。因此,若能将大模型改进为视觉Agent,将GUI界面以视觉的形式直接输入大模型中用于理解、规划和决策,将是一个更为直接有效、具备极大提升空间的方法。
对此,清华KEG实验室&智谱AI提出了多模态大模型CogAgent,可以实现基于视觉的GUI Agent。下图展现了其工作路径与能力。CogAgent模型同时接受当前GUI截图(图像形式)和用户操作目标(文本形式,例如“search for the best paper in CVPR 2023”)作为输入,就能预测详细的动作,和对应操作元素的位置坐标。
CogAgent可以应用于包括电脑、手机的各种场景。受益于GUI Agent的可泛化性,CogAgent能在各类没见过的场景与任务上都取得良好的性能。论文中展示了更多示例,覆盖了PPT、手机系统、社交软件、游戏等各类场景。下面是更多的例子。
• 一个手机系统的例子
• 一个Google Map的例子
• 一个原神的例子
User:Who are the teammates on the current mission? 当前任务中的队友是谁?
CogAgent:The teammates on the current mission are Raiden Shogun, Bennett, and Kaedehara Kazuha. 当前任务中的队友是Raiden Shogun, Bennett, and Kaedehara Kazuha。
User:I'm looking for guidance on how to "Find out how to view a detailed map"? 我想知道如何“查看详细地图”?
CogAgent:Plan: 1. Identify the map icon on the screen. 2. Click on the map icon to open the detailed map view. 计划:1. 确定屏幕上的地图图标。2. 点击地图图标打开详细地图视图。
Next Action: Move the cursor over the top left corner of the screen and click on the compass-like icon with 'N' inside it. 下一步操作:将光标移动到屏幕左上角,点击内有“N”的类似指南针的图标。
模型结构及训练方法
CogAgent的模型结构基于CogVLM [2]。为了使模型具备对高分辨率图片的理解能力,可以看清~720p的GUI屏幕输入,团队将图像输入的分辨率大幅提升至1120×1120(以往的模型通常小于500×500,包括CogVLM,Qwen-VL等)。然而,分辨率的提升会导致图像序列急剧增长,带来难以承受的计算和显存开销——这也是现有多模态预训练模型通常采用较小分辨率图像输入的原因之一。对此,团队设计了轻量级的“高分辨率交叉注意力模块”,在原有低分辨率大图像编码器(4.4 B)的基础上,增加了高分辨率的小图像编码器(0.3 B),并使用交叉注意力机制与原有的VLM交互。在交叉注意力中,我们也使用了较小的hidden size,从而进一步降低显存与计算开销。
结果表明,该方法可以使模型成功理解高分辨率的图片,并有效降低了显存与计算开销。在消融实验中,我们比较了该结构与CogVLM原始方法的计算量。结果表明,当分辨率提升时,使用文中提出的方案(with cross-module,橙色)将会带来极少量的计算量增加,并与图像序列的增长成线性关系。特别的,1120×1120分辨率的CogAgent的计算开销(FLOPs),甚至比490×490分辨率的CogVLM的1/2还要小。在INT4单卡推理测试中,1120×1120分辨率的CogAgent模型占用约12.6GB的显存,相较于224×224分辨率的CogVLM仅高出不到2GB。
在数据方面,除了CogVLM用到的image caption数据集之外,我们在文本识别、视觉定位、GUI图像理解方面进行了数据扩充与增强,从而有效提升了GUI Agent场景下的性能。CogAgent的预训练和微调数据的采集、生成方法详细介绍于论文的2.2和2.3部分。CogAgent模型的训练batch size为4,608,学习率为2e-5,共计训练了6万迭代步,
实验结果
1. GUI Agent能力
在电脑、手机等GUI Agent的数据集上,CogAgent具有较大的优势,大幅超过所有基于LLM的Agent:
• 在网页Agent数据集Mind2Web上的性能
• 在手机Agent数据集AITW上的性能
2. 图像理解综合能力
CogAgent在图像理解的综合能力也有相当的提升,在9个经典的图像理解榜单上(含VQAv2,STVQA, DocVQA,TextVQA,MM-VET,POPE等)取得了通用能力第一的成绩。
• 在VQA数据集上的通用性能,涵盖常识、OCR、图表、文档等方面:
• 在多模态大模型通用榜单MM-VET(对话形式的多维度视觉理解评测),POPE(幻觉性评测)上的结果:
彩蛋
一个小彩蛋:若提问CogAgent,应该如何给CogVLM仓库点星标(作者按:这也是CogAgent的仓库),可以将截图和问题Can you advise me on how to "star cogvlm repo"输入给模型:
CogAgent会告诉你具体动作及对应元素的坐标(红框为模型预测坐标对一个的位置):
欢迎大家体验使用CogAgent,留下星星与建议~更欢迎大家进行各类有趣的二创!
参考文献
[1] Hong, Wenyi, et al. "CogAgent: A Visual Language Model for GUI Agents." arXiv preprint arXiv:2312.08914 (2023).
[2] Wang, Weihan, et al. "Cogvlm: Visual expert for pretrained language models." arXiv preprint arXiv:2311.03079 (2023).
[3] Gur, Izzeddin, et al. "A real-world webagent with planning, long context understanding, and program synthesis." arXiv preprint arXiv:2307.12856 (2023).