CogAgent: 利用VLM操作GUI。
主要内容
提出了一个18B的VLM模型CogAgent(CogVLM的新版本),旨在提高对于GUI的理解、导航和交互能力。利用高分辨率和低分辨率编码器适应不同分辨率的输入,在9个VQA benchmarks上取得了sota。同时,CogAgent利用截屏输入,在PC和安卓GUI导航任务上比其他基于LLM的方法(提取截屏中的HTML格式文本)表现更好。
动机和方法
整体动机和方法
基于LLM的Agents潜力有限,因为大多数的引用程序通过GUI与人类进行交互:
- 缺乏标注的交互API。
- 图标,图像,图表,以及空间关系等重要信息难以利用文本进行表示
- 即使以文本为主的Web,canvas和iframe等元素的功能难以通过HTML进行解析

1. High-Resolution Cross-Module
动机
传统的VLM一般的预训练的图像大小为224224,难以处理高分辨率PC和手机的GUI图像比如1280720和21601080等。主要原因是高分辨率图像的时间和显存开销太大,与视觉的tokens数成平方关系,当path_size=14时,224224为256个tokens。Qwen-VL通过adapter将视觉tokens压缩为原来的1/4,支持448*448的图像,Kosmos-2.5通过Perceiver Resampler module减少是视觉tokens,然而数量还是太多,导致输入本文受限(2048tokens)。
方法
224*224能够有效的捕捉大部分对象和布局且常见的VLM隐藏层很大(4096,5120)。同时一些以文本为中心任务(OCR)的VLM隐藏层较小(1536)。所以通过隐藏层的结合,提高对于高分辨率图像文本的捕捉能力,提出High-Resolution Cross-Module,来保证效率和适应性。高分辨率图像编码器EVA2-CLIP-L(0.3B)与 VLM decoder的每一层通过一个较小隐藏层的cross-attention模块连接。

2. Pre-training
在三个方面的数据集只训练High-Resolution Cross-Module
- 文字识别(识别能力)
Synthetic renderings with text(LAION-2B) + OCR(LAION-2B) + 学术文献(source code (LaTeX) release on arXiv) - 视觉定位(定位能力)
LAION-115M - GUI图像数据集(GUI理解能力)
CCS400K (Common Crawl Screenshot 400K) dataset
3. Multi-task Fine-tuning and Alignment
解冻所有参数全参数微调:
- 手动标注了2000多张来自于PC和手机的截图,以QA的形式标注屏幕元素,潜在任务和操作方法,将Mind2Web + AITW利用GPT4转换成了QA的格式。
- 利用多种公开的VQA数据集进行对齐。

实验分析


Demo
