Navigating the Digital World as Humans Do: UNIVERSAL VISUAL GROUNDING FOR GUI AGENTS
前言
SeeAct团队的后续工作,旨在通过大规模Grounding数据对开源模型进行 continuous-training以提升MLLM的Grouding能力。文章思路清晰,方法简单,介绍了很多数据处理和训练的trick,实验结果也表明本文方法显著提升了MLLM的Grounding能力。UGround是一个大的突破,但是后续还是有很多值得改进并做下去的地方。Paper | https://github.com/OSU-NLP-Group/UGround/blob/gh-pages/static/papers/UGround_paper.pdf |
---|---|
Github | https://github.com/OSU-NLP-Group/UGround |
Homepage | https://osu-nlp-group.github.io/UGround/ |
ABSTRACT
MLLM正在改变GUI智能体的能力,使其从仿真场景过渡到跨平台现实的应用程序。然而这些智能体都在grounding能力上受阻。当前流行的GUI智能体基于文本输入,比如HTML、A11y树,但是它们往往噪声多,信息量不全且开销大。本文提出SeeAct-V,是仅基于视觉构建GUI智能体的框架。它涉及一个MLLM规划下一步操作,以及一个基础模型定位元素的坐标。作者引入了UGround,是专门为GUI grounding开发的基础模型。该模型经过130万样本的训练,可以通过坐标提供开放式元素描述,并可跨不同操作系统。模型在六个benchmark上进行评估,涵盖了桌面,手机和网页等场景,结果表明UGround不仅优于现有的视觉模型,甚至超过依赖HTML等文本信息的方法。这些结果强调了grounding能力在GUI领域的实用性,表明其可以类似人类感知的精度来制导数字环境。
Motivation
当前,GUI智能体与LLM一起发展迅速。一方面,LLM的理解能力让GUI智能体与现实环境交互成为可能,另一方面,GUI智能体已经成为LLM重要的测试平台,为很多商业自动化行为提供了途径。
理论上,如果GUI智能体能够:
- 视觉感知GUI。
- 实施键盘操作或者鼠标、触控屏像素级操作。
那么就能像人一样与数字世界交互。然而,现有的GUI智能体只能依赖文本信息(HTML,a11y树),MLLM的最新进展让基于视觉感知变得可行,但是仍然需要文本信息辅助(视觉能力不足)。文本信息有如下不足:
- 噪声多且信息不完整。
- 输入多,增加延迟和推理成本(是视觉的10倍)
Solution
作者发现当前MLLM在GUI场景的瓶颈在于grounding能力,即将LLM生成的文本计划映射到GUI上精确的位置。grounding有三个需求:
- 高精度(指哪打哪)。
- 扩展性强(跨平台)。
- 灵活性(任何MLLM即插即用)。
Method
与SoM方法或训练像素级grounding模型不同,作者引入两模块视觉框架 SeeAct-V:
- planner为目标元素或区域生成下一步操作的文本描述。
- grounding模型,根据planner的文本规划生成精确的交互元素。
- 设计精简,支持跨平台。
其中Planner部分可以用开源的MLLM直接代替,因此主要核心在于grounding模型的设计。理想的grounding模型需要具备如下能力:
- 处理任意大小图像和图标。
- 理解复杂和噪声的界面。
- 理解不同的指代表达。
Data
为了让模型能够跨应用,跨网页,理解不同指代,需要大量、高质量且多样的<screenshot, element description, element coordinate>
三元组数据。而网页数据往往提供大量可访问坐标,是合成数据的理想形式,因此作者的解决方案首先从网页数据合成meta数据出发。
第一个要解决的问题是GUI的指代表达。一个元素的指代表达可以是detail的,也可以是很泛泛的比如“左上角的图标”,仅仅根据HTML元素属性训练是不能让模型覆盖泛泛描述的场景。作者分析描述GUI元素有三种类型:
- 视觉特征。元素的文本,形状,颜色等视觉特征。
- 位置。元素的绝对位置或者相对位置。
- 功能。元素的功能(尤其是没有文本描述的元素)。
因此,作者创建了一个生成模板用于模拟上述列出的属性,它是下列字段的随机组合:
- 主要描述:包括视觉信息和功能信息。由于HTML中信息充斥噪声,作者采用LLaVA-NEXT-13B根据HTML信息来生成元素的视觉和功能信息,用Llama3-8B来整理生成的信息。
- 绝对位置:通过规则匹配生成元素的绝对坐标。
- 相对位置:根据元素的邻居信息生成当前元素的相对位置信息。
另一个挑战是训练和推理在正确性和清晰度上的不匹配问题。受限grouding理解,即使是GPT-4o也会在位置上出现幻觉问题。因此,教会模型处理可接受的描述至关重要,不然模型会产生对高质量数据的过度依赖。为此,作者对小部分数据集采用随机挑选错误的位置描述或者选择次优的位置信息以缓解这个现象。
这里可以理解为作者合成的训练数据都是高质量的数据,但是在真实场景下会有很多模糊的信息,而这些场景模型没见过,就会在下游场景表现得很糟糕。
作者从Common Crawl上采集了元数据,利用构建的模板和规则处理这些数据以获得grouding数据,同一张截图上的元素以多轮对话形式训练以加速训练效率(10倍速度上的提升)。最终收集到18.1M的元素对信息,包含773K截图。
虽然合成数据高效,但是在多样性和功能性上无法cover其他平台。为此,作者包含了高质量的加入了高质量开源的安卓数据,并利用GPT-4o生成更多数据来cover合成数据无法覆盖到的地方。开源数据如表一所示。
Model
模型采用了LLaVA-NeXT框架,并做了一系列调整以更好适应任务:
- 输入格式:作者采用绝对坐标而不是相对坐标来规定输出,这种方式可以泛化到可变大小图像中。
- 图像分辨率:扩展LLAVA的图像处理大小到36ViT,使用CLIP作为图像编码器,分辨率扩展到13441344(横向)和8962016(纵向)。
- 语言模型:作者用Vicuna-1.5-7b-16K替换了之前的语言模型主干以解决长视觉token问题。同时作者也发现224px太小无法提供GUI信息,因此从模型中删除。
Experiment
作者在grounding和agent的benchmark上进行实验,以分别评估UGround和SeeAct-V的有效性。
Type | Benchmark |
---|---|
Grounding | ScreenSpot |
Agent | Multimodal-Mind2Web,AndroidControl,OmniACT,Mind2Web-Live,AndroidWorld |
ScreenSpot包含了mobile,desktop,web三端的环境,根据元素类别分为text和icons。
在各个Agent Benchmarks的结果如下:
根据上面的实验结果,有如下结论:
- UGround在ScreenSpot上展现最先进性能,并且在指令接受能力上远远优于SeeClick。
- 基于GPT-4的UGround优于微调后的SeeClick,但是却不如CogAent,这表明在充分训练和更大模型尺寸的情况下,统一的模型比UGround更有优势,当然微调的方式让模型缺乏灵活性。
- 在线测评是最困难的设置,但是UGround都取得了最好的性能。
作者对各个benchmark上错误的结果进行了分析,如上图所示。作者将错误类型分为了UGround错误和Planner错误,结果发现规划错误是主要问题,说明Planner对给定任务和元素的理解不佳。此外作者发现ScreenSpot上UGround错误较多,这是因为训练缺乏OS数据。
最后,作者从两个方面对数据进行了分析:
- Web合成数据的规模。
- 数据多样性。
可以看到模型的性能主要在50-100K的规模下有明显的提升。
上表是作者为了进一步剖析训练数据的影响,比较合成数据、人类+GPT标注以及二者结合数据对UGround性能的影响。结果表明了两种数据展现了协同效应,说明二者的多样性强化了模型泛化到不同GUI元素和操作上的能力。
Conclusion
作为SeeAct项目的后续工作,在发现GUI Agent的主要问题是Grounding能力不足后,团队迅速投入到提升这一能力的研究中。通过本文的展示,团队在提高GUI Agent Grounding能力方面确实取得了重大突破。其实提升的逻辑并不复杂,早在SeeClick就已经证实,提升MLLM的Grounding能力可以通过大量Grouding数据进行Post training实现。本篇工作的本质上就是SeeClick2.0,即用更大规模的数据来提升MLLM的Grouding能力。当然,在数据层面加了很多的trick,比如采用Web的合成数据,定义了三种Grounding的类型,融合开源数据等。最后作者也分析了,大概100K数据量(截图)就快达到提升MLLM Grouding能力的瓶颈了。
对于这篇工作,我也有一些个人的看法:
- 理想的GUI Foundation model应该是集成Planning和Grouding能力于一体的,二者是可以相辅相成的,本文这种分开的形式很容易让Planning和Grouding不对齐。此外Planning直接调用API的形式并不是最优解,毕竟GPT-4o的GUI能力也还是远远不够的,也就是说,在克服Grouding瓶颈之后,下一个瓶颈应该就是Planning了,只不过Planning的数据不像Grouding这样好获取,因此还有很长路要走。
- 各个实验结果也表明Grouding还是有很多提升的地方,目前来看结果都不是很高,只是相对之前的SOTA有很大的提升,但离90以上的ACC还有很大距离,虽然很难说这个GAP是Grouding造成的还是Planning造成的,但是纯Grouding的ScreenSpot实验结果表明,Grounding还是可以提升的。
- Desktop端Grouding结果不佳,说明Web还是没法很好泛化到Desktop场景,因此训练时还是得需要Desktop数据。
- 我对模型在不同分辨率图像下Grouding能力还是存在一定的疑问,GUI Agent的Grouding能力能够泛化到不同分辨率图像上吗?也许做个专门的分析性实验可以很好说明这点,或者来一个新的分辨率Grouding Benchmark可能会更有说服力。
- 继续第4点,文中提到绝对位置会比百分比位置这样的Grouding训练策略泛化性会更好,那如果在分辨率极低的图像(手表截图)和分辨率极高图像场景(8K电视),绝对位置还能更好吗?毕竟百分比位置我不用管分辨率大小,我只用知道大致位置就行,绝对位置我还要学习分辨率的信息,再学习百分比信息,难度更大,且从直觉上更难泛化到不同的分辨率场景?