随着国内外GPT-4V、Gemini、CogVLM、Qwen-VL等模型的发布,基于大模型的图像理解可谓是打得火热。近日,清华KEG实验室&智谱AI又联合推出了新一代图像理解大模型——CogAgent [1]。该团队在此前推出了CogVLM [2]图像理解模型,具备图像多轮问答、视觉定位等多种能力,在推特上小火了一把,饱受称赞;而短短两个月后,同一团队又推出了CogAgent模型,将识别能力一下提升到了1120*1120的超高分辨率,不仅视觉问答、视觉定位能力有了大幅提升,且具备基于视觉的GUI Agent能力。

清华&智谱AI联合推出CogAgent:支持1120分辨率图像多轮对话 具备GUI Agent能力  第1张

清华&智谱AI联合推出CogAgent:支持1120分辨率图像多轮对话 具备GUI Agent能力  第2张

论文名称:CogAgent: A Visual Language Model for GUI Agents

在GitHub Repo中,还提供了在线的网页版Demo可供大家体验~模型具备视觉问答、视觉定位、GUI Agent等多种能力。 (小提示:Demo中的CogAgent-chat和CogAgent-agent均使用了同一个模型,其中后者会贴心地提供Agent功能的模板)

什么是视觉GUI Agent

想必大家对基于语言大模型(LLM)的GUI agent并不陌生。受限于LLM的模态,它只能接受语言形式的输入。拿网页agent为例,WebAgent [3] 等工作将网页HTML连同用户目标(例如“Can you search for CogAgent on google”)作为LLM的输入,从而获得LLM对下一步动作的预测(例如点击按钮,输入文本)。

然而,一个有趣的观察是,人类是通过视觉与GUI交互的。比如,面对一个网页,当给定一个操作目标时,人类会先观察他的GUI界面,然后决定下一步做什么,而不是去扒它冗长的HTML源码(不排除有高手突发奇想挑战一下...)与此同时,GUI天然是为了人类便捷而设计的。也就是说,在GUI场景下,视觉是一种更为直接、本质的交互模态,能更高效完整提供环境信息;更进一步地,很多GUI界面并没有对应的源码,也难以用语言表示。因此,如果能将GUI界面以视觉的形式直接输入大模型中,是不是能达到更好的性能?

CogAgent就是这样一款基于视觉的GUI Agent。下面的示例展现了其工作路径与能力。用户只需把操作目标“search for the best paper in CVPR 2023”连同当前截图一起丢给模型,CogAgent就能预测出详细的动作,甚至能够把操作元素的精准定位也一同输出!(让位置输出能力堪忧的GPT-4V在一旁瑟瑟发抖...)

清华&智谱AI联合推出CogAgent:支持1120分辨率图像多轮对话 具备GUI Agent能力  第3张

又比如,面对CogAgent的开源仓库THUDM/CogVLM,应该如何点star呢?CogAgent可以告诉你答案:

清华&智谱AI联合推出CogAgent:支持1120分辨率图像多轮对话 具备GUI Agent能力  第4张

把问题和截图丢给CogAgent后,他会给出回答:

清华&智谱AI联合推出CogAgent:支持1120分辨率图像多轮对话 具备GUI Agent能力  第5张

(甚至贴心地标出了点star的位置!这还不快去点?)

当然,CogAgent不只能用在网页上。受益于GUI Agent的可泛化性,CogAgent可以成功应用于包括电脑、手机的各种场景,论文中的例子就覆盖了PPT, 手机地图、社交软件,

清华&智谱AI联合推出CogAgent:支持1120分辨率图像多轮对话 具备GUI Agent能力  第6张

甚至...原神...!

清华&智谱AI联合推出CogAgent:支持1120分辨率图像多轮对话 具备GUI Agent能力  第7张

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”的类似指南针的图标。

(什么,连玩游戏的资格都要被取代了吗?)

在电脑、手机等GUI Agent的数据集上,CogAgent具有较大的优势,大幅超过基于LLM的Agent:

· 在网页Agent数据集Mind2Web上的性能

清华&智谱AI联合推出CogAgent:支持1120分辨率图像多轮对话 具备GUI Agent能力  第8张

· 在手机Agent数据集AITW上的性能

清华&智谱AI联合推出CogAgent:支持1120分辨率图像多轮对话 具备GUI Agent能力  第9张

全面提升的图像理解综合能力

除了全新推出的GUI Agent能力,CogAgent在图像理解的综合能力上可谓是全面提升,再度刷新榜单。

先来看看在经典VQA数据集上的通用性能,在涵盖常识、OCR、图表、文档等7个经典的图像理解数据集上取得了通用性能第一:

清华&智谱AI联合推出CogAgent:支持1120分辨率图像多轮对话 具备GUI Agent能力  第10张

在MM-VET(对话形式的多维度视觉理解评测),POPE(幻觉性评测)上也取得了第一:

清华&智谱AI联合推出CogAgent:支持1120分辨率图像多轮对话 具备GUI Agent能力  第11张

模型结构及训练方法

CogAgent的模型结构基于CogVLM [2]。为了使模型具备对高分辨率图片的理解能力,可以看清~720p的GUI屏幕输入,CogAgent将图像输入的分辨率大幅提升至1120 x 1120(以往的模型通常小于500×500,包括CogVLM,Qwen-VL等)。然而,分辨率的提升会导致图像序列急剧增长,带来难以承受的计算和显存开销——这也是现有多模态预训练模型通常采用较小分辨率图像输入的原因之一。对此,CogAgent设计了轻量级的“高分辨率交叉注意力模块”,在原有低分辨率大图像编码器(4.4 B)的基础上,增加了高分辨率的小图像编码器(0.3 B),并使用交叉注意力机制与原有的VLM交互。在交叉注意力中,CogAgent也使用了较小的hidden size,从而进一步降低显存与计算开销。

清华&智谱AI联合推出CogAgent:支持1120分辨率图像多轮对话 具备GUI Agent能力  第12张

在消融实验中,作者将该结构 vs 直接暴力提升CogVLM的分辨率进行了计算量的比较。结果表明,当分辨率提升时,使用文中提出的方案(with cross-module,橙色)将会带来极少量的计算量增加,并与图像序列的增长成线性关系。特别的,1120×1120分辨率的CogAgent的计算开销(FLOPs),甚至比490×490分辨率的CogVLM的1/2还要小。在INT4单卡推理测试中,1120×1120分辨率的CogAgent模型占用约12.6GB的显存,相较于224×224分辨率的CogVLM仅高出不到2GB。

清华&智谱AI联合推出CogAgent:支持1120分辨率图像多轮对话 具备GUI Agent能力  第13张

关于训练数据,在论文的2.2和2.3部分用一页多详细介绍了预训练和微调数据的生成方法,可谓是工作量满满。值得一提的是,CogAgent构建了不少OCR、网页的预训练数据,从而着重提升了GUI Agent场景下的性能。

未来展望

1120*1120的分辨率,再度提升的图像理解能力,全新推出的GUI Agent能力……CogAgent给予了我们对许许多多应用场景的想象。美中不足的是,目前CogAgent-18B是一个英文模型,但可以通过接入翻译器构建中文系统(事实上官方网页端demo就做了这个尝试,同学们可以试试使用中文输入)我们也期待着,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).