社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Git

​Github揽获3k+星!清华开源CogAgent:基于多模态大模型的GUI Agent

CV技术指南 • 1 年前 • 326 次点击  


前言 本文出了视觉 GUI Agent,使用视觉模态(而非文本)对 GUI 界面进行更全面直接的感知,从而做出规划和决策。对此,我们研发了多模态大模型 CogAgent,可接受 1120×1120 的高分辨率图像输入,不仅提升了通用视觉理解能力,还具备强大的 GUI Agent 能力。

CV课程3.0来了,年底组织一波学习,彻底搞定入门、全栈和论文

作者:洪文逸
来源:PaperWeekly
单位 : 清华大学
仅用于学术分享,若侵权请联系删除
论文名称:
CogAgent: A Visual Language Model for GUI Agents

论文链接:

https://arxiv.org/pdf/2312.08914.pdf

GitHub项目地址(含开源模型、网页版Demo):

https://github.com/THUDM/CogVLM

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 界面以视觉的形式直接输入大模型中用于理解、规划和决策,将是一个更为直接有效、具备极大提升空间的方法。

对此,我们提出了多模态大模型 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.4B)的基础上,增加了高分辨率的小图像编码器(0.3B),并使用交叉注意力机制与原有的 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 万迭代步。


实验结果

3.1 GUI Agent能力

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

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

3.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).

若觉得还不错的话,请点个 “赞” 或 “在看” 吧

CV基础入门班

课程内容:深度学习基础、机器学习基础、数字图像处理、网络设计、模型分析与改进、代码实践等。

课程形式:10次左右的直播(每次大概2小时讲内容)+持续3-4个月的学习反馈、指导、代码实践。


网上机构

CV技术指南入门班

授课形式

老师单方面授课为主,无法保证所有人学习有效,脑子会了手不会

20%直播+80%指导实践,脑子会了,手也得会

  学习重点

所有学员学习任务一致

根据学员的情况调整

  课程价格

偏高

实惠,性价比高

  学习内容

单一、不成体系

系统全面

   人数100+,无法兼顾所有人
10人以内,充分考虑每个学员的学习效果

相信大家都深有体会,很多东西都是视频看完了,脑子学会了,但自己上手,就啥也不会。网上辅导机构90%讲内容、10%答疑,且上百人的大班无法有效保证学习效果,而我们仅做小班指导,每个班的人数限制在10人以内,不仅讲具体内容,还包括学习效果的反馈与保证,基本做到讲内容占20%,保证学到位、学明白的反馈占80%,确保大家手也会了。

报名请扫描下方二维码了解详细情况,备注:“入门班报名”。


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/166427
 
326 次点击