VLMs之Agent之CogAgent:《CogAgent: A Visual Language Model for GUI Agents》翻译与解读

VLMs之Agent之CogAgent:《CogAgent: A Visual Language Model for GUI Agents》翻译与解读

导读:这篇论文介绍了CogAgent,一个专注于图形用户界面 (GUI) 理解导航的视觉语言模型 (VLM)。这篇论文提出了一种新的视觉语言模型 CogAgent,并通过精心设计的数据集和模型架构,有效地解决了 LLM 在 GUI 理解和导航方面的不足,为构建更强大的 AI 智能体提供了新的思路和方法。

>> 背景痛点:当前大型语言模型 (LLM) 擅长处理文本任务,但在理解和交互GUI方面存在不足,限制了其自动化能力。GUI 交互缺乏标准 API,图标、图像、图表和空间关系等重要信息难以用文字直接表达。即使在网页等文本呈现的 GUI 中,canvas 和 iframe 等元素也难以通过 HTML 解析其功能

>> 解决方案:论文提出 CogAgent,一个拥有 180 亿参数的视觉语言模型,专门用于 GUI 理解和导航。它通过结合分辨率和高分辨率图像编码器,支持 1120x1120 分辨率的输入,能够识别微小的页面元素和文本。

>> 核心思路步骤:

● 数据构建:针对 GUI 图像与自然图像分布差异,构建了大规模标注的 GUI 和 OCR 数据集用于持续预训练。数据集包括合成文本渲染、自然图像 OCR 结果和学术文档等,涵盖文本识别、视觉 grounding 和 GUI 图像理解三个方面。特别是,构建了 CCS400K 数据集,包含 40 万个网页截图及其对应的 DOM 元素和渲染框,用于增强模型对 GUI 元素的理解。

● 高分辨率跨注意力模块:为了有效处理高分辨率图像,同时避免计算量过大,设计了一个高分辨率跨注意力模块。该模块采用轻量级的高分辨率图像编码器,并通过跨注意力机制将高分辨率图像特征与 VLM 解码器的每一层融合,在保证效率的同时提升高分辨率图像的理解能力。 这避免了直接使用高分辨率图像导致的计算复杂度呈二次方增长的瓶颈。

● 预训练和微调:CogAgent 首先在构建的数据集上进行预训练,然后在多个 VQA 数据集和 GUI 导航数据集 (Mind2Web 和 AITW) 上进行多任务微调,以提高模型在各种任务上的性能并使其与自由形式的人类指令对齐。

>> 优势:

● 在多个 VQA 基准测试中取得了最先进的性能:包括 VQAv2、OK-VQA、Text-VQA、ST-VQA、ChartQA、infoVQA、DocVQA、MM-Vet 和 POPE 等,展现了其强大的视觉理解能力,尤其是在文本丰富的 VQA 任务上。

● 在 GUI 导航任务上超越了基于 LLM 的方法:在 Mind2Web 和 AITW 数据集上,CogAgent 只使用截图作为输入,就超越了使用提取的 HTML 文本的基于 LLM 的方法,证明了 VLM 在 GUI 导航中的优势。

高效处理高分辨率图像:高分辨率跨注意力模块的设计显著降低了处理高分辨率图像的计算成本。

>> 结论和观点:

● CogAgent 是一个强大的 VLM,能够有效地理解和导航 GUI。

● VLM 在构建 GUI 智能体方面具有显著优势,能够超越仅依赖文本信息的 LLM 方法。

● CogAgent 的高分辨率跨注意力模块在处理高分辨率图像方面具有计算效率优势。

● 构建领域特定的预训练数据对于训练 GUI 智能体至关重要。

● 尽管 CogAgent 取得了显著成果,但仍存在一些不足,例如输出坐标精度多图像处理能力等,需要进一步研究。

目录

《CogAgent: A Visual Language Model for GUI Agents》翻译与解读

Abstract

Figure 1:Samples of visual agents generated by CogAgent. More samples are demonstrated in the Appendix.图 1:CogAgent 生成的视觉代理示例。更多示例见附录。

1、Introduction

Conclusion


《CogAgent: A Visual Language Model for GUI Agents》翻译与解读

地址

论文地址:https://arxiv.org/abs/2312.08914

时间

20231214

最新:20241227

作者

清华大学,智谱AI团队

Abstract

People are spending an enormous amount of time on digital devices through graphical user interfaces (GUIs), e.g., computer or smartphone screens. Large language models (LLMs) such as ChatGPT can assist people in tasks like writing emails, but struggle to understand and interact with GUIs, thus limiting their potential to increase automation levels. In this paper, we introduce CogAgent, an 18-billion-parameter visual language model (VLM) specializing in GUI understanding and navigation. By utilizing both low-resolution and high-resolution image encoders, CogAgent supports input at a resolution of 1120*1120, enabling it to recognize tiny page elements and text. As a generalist visual language model, CogAgent achieves the state of the art on five text-rich and four general VQA benchmarks, including VQAv2, OK-VQA, Text-VQA, ST-VQA, ChartQA, infoVQA, DocVQA, MM-Vet, and POPE. CogAgent, using only screenshots as input, outperforms LLM-based methods that consume extracted HTML text on both PC and Android GUI navigation tasks -- Mind2Web and AITW, advancing the state of the art. The model and codes are available at this https URL, with a new version of CogAgent-9B-20241220 available at this https URL.

人们在图形用户界面(GUI)上花费了大量时间,例如电脑或智能手机屏幕。像 ChatGPT 这样的大型语言模型(LLM)能够帮助人们完成诸如写邮件之类的任务,但在理解与交互图形用户界面方面却存在困难,这限制了它们提高自动化水平的潜力。在本文中,我们介绍了 CogAgent,这是一个拥有 180 亿参数的视觉语言模型(VLM),专门用于图形用户界面的理解和导航。通过利用低分辨率和高分辨率图像编码器,CogAgent 支持 1120*1120 分辨率的输入,能够识别页面上的微小元素和文本。作为一个通用的视觉语言模型,CogAgent 在五个文本丰富的和四个通用的视觉问答基准测试中达到了最先进的水平,包括 VQAv2、OK-VQA、Text-VQA、ST-VQA、ChartQA、infoVQA、DocVQA、MM-Vet 和 POPE。CogAgent 仅使用截图作为输入,在 PC 和 Android 图形用户界面导航任务——Mind2Web 和 AITW 上的表现优于使用提取的 HTML 文本的基于 LLM 的方法,从而推进了该领域的技术前沿。该模型和代码可在以下 https 网址获取,CogAgent-9B-20241220 的新版本可在以下 https 网址获取。

Figure 1:Samples of visual agents generated by CogAgent. More samples are demonstrated in the Appendix.图 1:CogAgent 生成的视觉代理示例。更多示例见附录

1、Introduction

Autonomous agents in the digital world are ideal assistants that many modern people dream of. Picture this scenario: You type in a task description, then relax and enjoy a cup of coffee while watching tasks like booking tickets online, conducting web searches, managing files, and creating PowerPoint presentations get completed automatically.

Recently, the emergence of agents based on large language models (LLMs) is bringing us closer to this dream. For example, AutoGPT [33], a 150,000-star open-source project, leverages ChatGPT [29] to integrate language understanding with pre-defined actions like Google searches and local file operations. Researchers are also starting to develop agent-oriented LLMs [42, 7]. However, the potential of purely language-based agents is quite limited in real-world scenarios, as most applications interact with humans through Graphical User Interfaces (GUIs), which are characterized by the following perspectives:

>> Standard APIs for interaction are often lacking.

>> Important information including icons, images, diagrams, and spatial relations are difficult to directly convey in words.

>> Even in text-rendered GUIs like web pages, elements like canvas and iframe cannot be parsed to grasp their functionality via HTML.

数字世界中的自主代理是许多现代人梦寐以求的理想助手。想象一下这样的场景:您输入任务描述,然后放松下来,喝杯咖啡,同时看着诸如在线订票、网络搜索、文件管理以及创建 PowerPoint 演示文稿等任务自动完成。

最近,基于大型语言模型(LLM)的代理的出现让我们离这个梦想更近了一步。例如,AutoGPT [33],一个拥有 15 万颗星的开源项目,利用 ChatGPT [29] 将语言理解与诸如谷歌搜索和本地文件操作等预定义动作相结合。研究人员也开始开发面向代理的 LLM [42, 7]。然而,纯语言代理在现实场景中的潜力相当有限,因为大多数应用程序通过图形用户界面(GUI)与人类交互,其特点如下:

>> 通常缺乏标准的交互 API。包括图标、图像、图表和空间关系在内的重要信息很难直接用文字表述清楚。

>> 即使是在像网页这样的文本渲染型图形用户界面(GUI)中,像画布(canvas)和内联框架(iframe)这样的元素也无法通过 HTML 进行解析以理解其功能。

Agents based on visual language models (VLMs) have the potential to overcome these limitations. Instead of relying exclusively on textual inputs such as HTML [28] or OCR results [31], VLM-based agents directly perceive visual GUI signals. Since GUIs are designed for human users, VLM-based agents can perform as effectively as humans, as long as the VLMs match human-level vision understanding. In addition, VLMs are also capable of skills such as extremely fast reading and programming that are usually beyond the reach of most human users, extending the potential of VLM-based agents. A few prior studies utilized visual features merely as auxiliaries in specific scenarios. e.g. WebShop [39] which employs visual features primarily for object recognition purposes. With the rapid development of VLM, can we naturally achieve universality on GUIs by relying solely on visual inputs?

基于视觉语言模型(VLM)的代理有可能克服这些局限性。它们不再仅仅依赖于诸如 HTML [28] 或 OCR 结果 [31] 这样的文本输入,而是直接感知图形用户界面的视觉信号。由于图形用户界面是为人类用户设计的,只要视觉语言模型达到人类级别的视觉理解水平,基于视觉语言模型的代理就能像人类一样有效地工作。此外,视觉语言模型还具备诸如极快的阅读和编程等技能,这些技能通常是大多数人类用户难以企及的,从而进一步拓展了基于视觉语言模型的代理的潜力。此前的一些研究仅在特定场景中将视觉特征作为辅助手段使用,例如 WebShop [39] 主要将视觉特征用于对象识别。随着视觉语言模型的快速发展,我们能否仅依靠视觉输入在图形用户界面中实现普遍适用性呢?

In this work, we present CogAgent, a visual language foundation model specializing in GUI understanding and planning while maintaining a strong ability for general cross-modality tasks. By building upon CogVLM [38]—a recent open-source VLM, CogAgent tackles the following challenges for building GUI agents:

>> Training Data. Most current VLMs are pre-trained on datasets like LAION [32], consisting of natural images on the Web. However, we notice that the GUI images share a different distribution from natural images. We thus construct a large-scale annotated dataset about GUIs and OCR for continual pre-training.

>> High-Resolution vs. Compute. In GUIs, tiny icons and text are ubiquitous, and it is hard to recognize them in commonly-used 224×224 resolution. However, increasing the resolution of input images results in significantly long sequence length in language models. For example, a 1120×1120 image corresponds to a sequence of 6400 tokens if the patch size is 14, demanding excessive training and inference compute. To address this, we design a cross-attention branch that allows for a trade-off between the resolution and the hidden size within a proper computation budget. Specifically, we propose to combine the original large ViT [12] (4.4B parameters) used in CogVLM [38] and a new small high-resolution cross-module (with image encoder of 0.30B parameters) to jointly model visual features.

在这项工作中,我们提出了 CogAgent,这是一种专注于图形用户界面(GUI)理解和规划的视觉语言基础模型,同时在通用跨模态任务方面也具备强大的能力。通过基于最近开源的 CogVLM [38] 构建,CogAgent 解决了构建 GUI 代理时面临的以下挑战:

>> 训练数据。目前大多数视觉语言模型(VLM)都是在诸如 LAION [32] 这样的数据集上进行预训练的,这些数据集包含网络上的自然图像。然而,我们注意到 GUI 图像与自然图像的分布不同。因此,我们构建了一个大规模的关于 GUI 和 OCR 的标注数据集,用于持续预训练。

>> 高分辨率与计算。在 GUI 中,微小的图标和文本随处可见,在常用的 224×224 分辨率下很难识别它们。然而,提高输入图像的分辨率会导致语言模型中的序列长度显著增加。例如,一张 1120×1120 的图像,如果补丁大小为 14,则对应 6400 个标记的序列,这需要大量的训练和推理计算。为了解决这个问题,我们设计了一个交叉注意力分支,能够在适当的计算预算内实现分辨率和隐藏大小之间的权衡。具体而言,我们提议将 CogVLM [38] 中使用的原始大型 ViT [12](44 亿参数)与一个新的小型高分辨率跨模块(图像编码器为 3 亿参数)相结合,以共同建模视觉特征。

Our experiments show that:

>> CogAgent tops popular GUI understanding and decision-making benchmarks, including AITW [31] and Mind2Web [10]. To the best of our knowledge, this is the first time that a generalist VLM can outperform LLM-based methods with extracted structured text.

>> Though CogAgent focuses on GUIs, it achieves state-of-the-art generalist performance on nine visual question-answering benchmarks including VQAv2 [1], OK-VQA [23], TextVQA [34], ST-VQA [4], ChartQA [24], infoVQA [26], DocVQA [25], MM-Vet [41], and POPE [19].

>> The separated design of high- and low-resolution branches in CogAgent significantly lows the compute cost for consuming high-resolution images, e.g., the number of the floating-point operations (FLOPs) for CogAgent-18B with 1120×1120 inputs is less than half that of CogVLM-17B with its default 490×490 inputs.

我们的实验表明:

>> CogAgent 在流行的图形用户界面理解和决策基准测试中名列前茅,包括 AITW [31] 和 Mind2Web [10]。据我们所知,这是首次有通用视觉语言模型在提取结构化文本的情况下超越基于大型语言模型的方法。

>> 尽管 CogAgent 主要关注图形用户界面,但它在包括 VQAv2 [1]、OK-VQA [23]、TextVQA [34]、ST-VQA [4]、ChartQA [24]、infoVQA [26]、DocVQA [25]、MM-Vet [41] 和 POPE [19] 在内的九个视觉问答基准测试中达到了最先进的通用性能。

>> CogAgent 中高分辨率和低分辨率分支的分离设计显著降低了处理高分辨率图像的计算成本,例如,CogAgent-18B 处理 1120×1120 输入的浮点运算次数(FLOPs)不到 CogVLM-17B 处理其默认 490×490 输入的一半。

CogAgent is open-sourced at https://github.com/THUDM/CogVLM, with a new version of CogAgent-9B-20241220 available at https://github.com/THUDM/CogAgent. It represents an effort to promote the future research and application of AI agents, facilitated by advanced VLMs.

CogAgent 已在 https://github.com/THUDM/CogVLM 开源,CogAgent-9B-20241220 的新版本可在 https://github.com/THUDM/CogAgent 获取。它代表了借助先进的视觉语言模型推动未来 AI 代理研究和应用的努力。

Conclusion

We introduce CogAgent, a VLM-based GUI agent with enhanced pre-train data construction and efficient architecture for high-resolution input. CogAgent achieves state-of-the-art performance on a wide range of VQA and GUI benchmarks, and will be open-sourced. CogAgent is an initial exploration of VLM-based GUI agent, and still has some shortcomings, e.g. imprecise output coordinates and incapability of processing multiple images, necessitating further research.

我们推出了 CogAgent,这是一款基于视觉语言模型(VLM)的图形用户界面(GUI)代理,具有增强的预训练数据构建和高效的架构,能够处理高分辨率输入。CogAgent 在广泛的视觉问答(VQA)和 GUI 基准测试中取得了最先进的性能,并将开源。CogAgent 是基于 VLM 的 GUI 代理的初步探索,仍存在一些不足之处,例如输出坐标不够精确以及无法处理多张图片,这需要进一步的研究。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/949848.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

linux audio(1)-pulseaudio模块数据流

本文主要讨论pulseaudio模块的数据流。这里的模块(module)主要限制在sink和source这两种类型。其他类型的数据流后续有空 再撰文讨论。 pulseaudio的模块一般会启动一路线程进行数据的搬运和处理。 下面的是module-null-source模块的数据搬运线程启动代码。 进入thread_func…

ros2-4.1 服务通信介绍

服务是ROS图中节点之间的另一种通信方法。服务分为客户端和服务端,客户端发送请求给服务端,服务端可以根据客户端的请求做一些处理,然后返回结果给客户端。也称为为请求-响应模型。 服务和话题的不同之处,话题是没有返回的&#…

微信小程序之历史上的今天

微信小程序之历史上的今天 需求描述 今天我们再来做一个小程序,主要是搜索历史上的今天发生了哪些大事,结果如下 当天的历史事件或者根据事件选择的历史事件的列表: 点击某个详细的历史事件以后看到详细信息: API申请和小程序…

数据库模型全解析:从文档存储到搜索引擎

目录 前言1. 文档存储(Document Store)1.1 概念与特点1.2 典型应用1.3 代表性数据库 2. 图数据库(Graph DBMS)2.1 概念与特点2.2 典型应用2.3 代表性数据库 3. 原生 XML 数据库(Native XML DBMS)3.1 概念与…

Vue3+TS+vite项目笔记1

vue2与vue3的比较 源码的升级 使用Proxy代替defineProperty实现响应式。 重写虚拟DOM的实现和Tree-Shaking。 新的特性 Composition API(组合API): setup ref与reactive computed与watch ...... 新的内置组件: Fragment T…

Spring5框架之SpringMVC

目录 1.SpringMVC的入门案例 1.1 通过maven构建一个web项目 1.2 添加对应的依赖及Tomcat插件 1.3 创建SpringMVC的配置文件 1.4 在web.xml中注册DispatchServlet 1.5 创建自定义的Controller 1.6 在Springmvc配置文件中注册 原理分析: 2.SpringMVC基于注解的…

Android Audio基础(53)——PCM逻辑设备Write数据

1. 前言 本文,我们将以回放(Playback,播放音频)为例,讲解PCM Data是如何从用户空间到内核空间,最后传递到Codec。 在 ASoC音频框架简介中,我们给出了回放(Playback)PCM数据流示意图。: 对于Linux来说,由于分为 user space 和kernel space,而且两者之间数据不能随便…

【漫话机器学习系列】039.点积(dot product)

点积(Dot Product) 点积是线性代数中的一种基本运算,用于两个向量的操作。它是将两个向量按分量相乘并求和的结果,用于衡量两个向量在同一方向上的相似性。 点积的定义 给定两个相同维度的向量 和 ,它们的点积定义为…

2024年大型语言模型(LLMs)的发展回顾

2024年对大型语言模型(LLMs)来说是充满变革的一年。以下是对过去一年中LLMs领域的关键进展和主题的总结。 GPT-4的壁垒被打破 去年,我们还在讨论如何构建超越GPT-4的模型。如今,已有18个组织拥有在Chatbot Arena排行榜上超越原…

Visual Studio 2022 C++ gRPC 环境搭建

文章目录 1、gRPC 安装2、创建项目2.1、创建 “空的解决方案”2.2、新建 gRPCServer 和 gRPCClient 项目2.3、创建 proto 文件 2、为 gRPC 服务端和客服端项目配置 protobuf 编译2.1、protobuf 配置2.2、gRPCServer 项目配置2.3、gRPCClient 项目配置 3、测试3.1、启动服务端程…

Wasm是什么

WebAssembly 是什么? 1.1 WebAssembly 的定义 WebAssembly(简称 Wasm)是一种二进制指令格式,设计用于在现代 Web 浏览器中高效运行程序。它可以被认为是一种低级的、接近硬件的编程语言,是一种介于字节码和机器码之间…

使用深度学习来实现图像超分辨率 综述!

今天给大家介绍一篇图像超分辨率邻域的综述,这篇综述总结了图像超分辨率领域的几方面:problem settings、数据集、performance metrics、SR方法、特定领域应用以结构组件形式,同时,总结超分方法的优点与限制。讨论了存在的问题和挑…

直播预告|StarRocks 3.4,打造 AI 时代的智能数据基座,应用场景全面扩展

随着新年的到来,StarRocks 3.4 即将上线,为 AI Workload 和更多应用场景提供强大支持!此次升级聚焦于提升 AI 场景支持,并扩展更多应用场景,全方位提升数据分析体验。 更强的 AI 场景支持: 引入 Vector In…

【GOOD】A Survey of Deep Graph Learning under Distribution Shifts

深度图学习在分布偏移下的综述:从图的分布外泛化到自适应 Northwestern University, USA Repository Abstract 图上的分布变化——训练和使用图机器学习模型之间的数据分布差异——在现实世界中普遍存在,并且通常不可避免。这些变化可能会严重恶化模…

【微服务】5、服务保护 Sentinel

Sentinel学习内容概述 Sentinel简介与结构 Sentinel是Spring Cloud Alibaba的组件,由阿里巴巴开源,用于服务流量控制和保护。其内部核心库(客户端)包含限流、熔断等功能,微服务引入该库后只需配置规则。规则配置方式有…

神经网络的进展与挫折

神经网络的概念可追溯到上世纪40年代,当时被认为是一种模拟大脑神经元网络的计算系统。 1940年代,麦卡洛克(McCulloch)和沃尔特皮茨(Walter Pitts)率先提出了受人类大脑和生物神经网络启发的人工神经网络。 1951年,马文明斯基(Marvin Minsky)的SNARC系统标志着第一个…

搭建企业AI助理的创新应用与案例分析

在大健康零售行业,企业面临着日益增长的市场需求和复杂的供应链管理挑战。AI助理的应用不仅能够提升客户服务效率,还能优化供应链管理,降低运营成本。 一、AI助理在大健康零售行业的创新应用 个性化健康咨询 AI助理可以通过分析客户的健康…

一文读懂「LoRA」:大型语言模型的低秩适应

LoRA: Low-Rank Adaptation of Large Language Models 前言 LoRA作为大模型的微调框架十分实用,在LoRA出现以前本人都是通过手动修改参数、优化器或者层数来“炼丹”的,具有极大的盲目性,但是LoRA技术能够快速微调参数,如果LoRA…

接口项目操作图-thinkphp6-rabbitmq

一、用户开户流程 用户首次需要联系商务开通账户,需要提供手机号及来访问的IP。开好户之后,平台方将提供用户访问的key值及header头部参数的公钥加密文件、body访问参数以及返回数据的公私钥加解密文件。 二、用户请求流程 用户将拿到的key值进行rsa公钥…

程序环境及预处理

一.程序的翻译环境和执行环境 在ANSI C(标准c)的任何一种实现中,存在两个不同的环境。 计算机是能够执行二进制指令的,但是我们写出的c语言代码是文本信息,计算机不能直接理解 第1种是翻译环境,在这个环境…