ShowUI: One Vision-Language-Action Model for GUI Visual Agent¶
会议: CVPR 2025
arXiv: 2411.17465
代码: https://github.com/showlab/ShowUI (开源)
领域: Agent / Human Understanding
关键词: GUI视觉代理、视觉token选择、交错式VLA流、UI连通图、轻量级模型
一句话总结¶
ShowUI 基于 Qwen2-VL-2B,通过 UI 连通图引导的视觉 token 选择减少 33% 冗余 token 并加速 1.4 倍,配合交错式视觉-语言-动作流和精选 256K 训练数据,仅 2B 参数即在零样本 ScreenSpot 上达到 75.1% 的 SOTA 精度。
研究背景与动机¶
领域现状:当前 GUI 自动化主要分两派——语言型代理依赖 GPT-4 等闭源 API 配合 HTML/DOM 树等元信息;视觉型代理直接处理截图但需要训练大模型。CogAgent (18B)、SeeClick (9.6B) 等视觉代理模型体量庞大且需要大量训练数据。
现有痛点:(1) UI 截图分辨率极高(如 2K),产生大量视觉 token(1000+),self-attention 计算代价高昂且存在大量冗余(空白区域、纯色背景);(2) GUI 任务中的动作与自然语言不同——不同设备的动作空间各异(Web 有 CLICK、Mobile 有 PRESS HOME),如何统一建模不清楚;(3) 导航任务需要管理截图-动作的历史序列(交错多模态),现有 VLM 不擅长这种格式;(4) GUI 数据类型多样且不平衡,如何选取高质量子集也是问题。
核心矛盾:UI 截图中存在大量视觉冗余(纯色背景、空白区域),但也包含极其重要的小元素(按钮、图标),需要在大幅压缩 token 的同时保留关键细节的定位精度。
本文目标 如何在极低参数量和数据量下构建一个高效且精准的 GUI 视觉代理?
切入角度:UI 截图与自然图像的本质区别在于"结构化冗余"——大片相同颜色的区域对应背景/空白,而颜色变化的地方才是功能元素。因此可以在 RGB 空间构建 patch 级连通图来识别冗余,指导 token 裁剪。
核心 idea:用 UI 截图的 RGB 颜色相似性构建连通图来识别冗余 patch,在 self-attention 中按连通分量稀疏采样 token,配合交错 VLA 流统一导航和定位任务。
方法详解¶
整体框架¶
ShowUI 基于 Qwen2-VL-2B 构建。输入为用户查询 + 动作空间说明(JSON 格式的 README)+ 截图观测;输出为 JSON 格式的动作预测(动作类型 + 坐标/文本参数)。训练数据仅 256K 样本,涵盖 Web/Mobile/Desktop 三类设备的定位和导航数据。推理时以循环方式执行:预测动作→更新截图→预测下一动作。
关键设计¶
-
UI 引导的视觉 Token 选择(UI-Guided Visual Token Selection):
- 功能:根据 UI 截图的视觉冗余性自适应裁剪 token,减少计算量同时保留关键元素
- 核心思路:将截图按 patch 划分后,每个 patch 作为图节点,如果相邻 patch 的 RGB 值差异小于阈值 \(\delta\) 则用 Union-Find 合并为一个连通分量。大面积纯色区域会形成大分量(高冗余),而文字/图标区域的分量较小(低冗余)。训练时在每个连通分量内随机采样部分 token(设定比例如 50%),被采样的 token 保留原始位置编码。这样做的效果:Google 搜索页 1296→291 token,Overleaf 文档 1296→986 token,自适应于内容复杂度
- 设计动机:与 Token Merging 不同(将分量内所有 token 池化为一个 → 丢失位置信息 → 定位任务崩溃),Token Selection 保留了被选 token 的原始位置,因此不影响 self-attention 的位置感知。零额外参数,训练时用、推理时可选用/不用
-
交错式视觉-语言-动作流(Interleaved VLA Streaming):
- 功能:统一处理导航历史和单帧多查询两种场景,提高训练效率和导航性能
- 核心思路:设计两种流模式——(a) Action-Visual Streaming 用于导航:截图1→动作1→截图2→动作2→...,模型看到完整的视觉-动作历史来推理下一步;(b) Action-Query Streaming 用于定位:一张截图配多个 query-action 对做多轮对话,避免每个 query 重复编码长截图。动作统一为 JSON 格式({'action': 类型, 'value': 元素, 'position': [x,y]}),并在 system prompt 中提供动作空间的 README 文档
- 设计动机:截图 token 通常 1000+,而 query/action 不到 10 个 token。一图一动作太浪费;多轮对话可以复用截图 encoding。对于不同设备的动作差异(Web 无 TAP、Mobile 无 CLICK),用 README 文档让模型"读规则"而非"记动作",支持测试时遇到新动作
-
精选小规模高质量训练数据:
- 功能:在仅 256K 样本下达到与百万级训练数据可比的性能
- 核心思路:Web 数据过滤掉 40% 的"静态文本"标签(VLM 本身 OCR 能力已很强),只保留 Button/Checkbox 等视觉元素(22K 截图);Desktop 数据太少(仅 100 张),用 GPT-4o 对原始标注做逆向工程,生成外观/空间/意图三种查询来扩充(100→6K 元素);Mobile 引入 AMEX 的功能性描述。训练时用重采样策略平衡不同数据类型
- 设计动机:数据不在多而在精——过滤低价值数据 + 增强稀缺类型 + 平衡采样,比简单堆量更有效
损失函数 / 训练策略¶
标准自回归 next-token prediction loss,预测 JSON 格式的动作输出。Token Selection 比例 0.5,交叉层插入(cross-layer,隔层使用),学习率等遵循 Qwen2-VL 微调配置。
实验关键数据¶
主实验¶
| 基准 | 指标 | ShowUI (2B, 256K) | 之前最佳 | 说明 |
|---|---|---|---|---|
| ScreenSpot 零样本 | 平均精度 | 75.1% | 73.3% (UGround-7B, 1.3M) | 小 3.5 倍、少 5 倍数据 |
| ScreenSpot Mobile Icon | 精度 | 75.5% | 60.3% (UGround) | +15.2% |
| AITW Mobile | 成功率 | 70.0% | 67.2% (Qwen2-VL-2B baseline) | +2.8% |
| Mind2Web Cross-Domain | Step SR | 35.2% | 30.7% (Qwen2-VL-2B baseline) | +4.5% |
| MiniWob Online | 得分 | 71.5 | 67.0 (SeeClick-9.6B) | +4.5 |
消融实验¶
| 配置 | 视觉Token数 | 训练加速 | ScreenSpot |
|---|---|---|---|
| Baseline(无压缩) | 1344.0 | 1× | 70.8 |
| Token Merge (UI-Graph) | 852.8 | 1.6× | 42.3 |
| Token Selection (Random) | 941.5 | 1.5× | 65.3 |
| Token Selection (UI-Graph) | 947.4 | 1.5× | 70.4 |
关键发现¶
- Token Merge 会严重损害定位性能(70.8→42.3),因为池化丢失了位置信息;而 Token Selection 通过保留位置编码几乎无损(70.8→70.4),证明位置保留是 GUI grounding 的关键
- 交叉层插入(cross-layer)远优于全层/前半/后半插入:同样 14 层,cross 70.5% vs early 68.2% vs late 67.6%,说明需要在全深度范围内交替保留完整信息和压缩信息
- 视觉历史对 Mobile 导航很重要(+1.7%)但对 Web 导航帮助有限:因为 Mobile 跨应用切换导致视觉变化大,而 Web 在同一页面操作截图变化小
- 文本定位能力可跨平台迁移,图标定位不行:在所有方法上 Text 准确率 >> Icon 准确率,且 Desktop/Web 的图标定位明显弱于 Mobile,暗示需要更多视觉丰富的跨平台训练数据
亮点与洞察¶
- RGB 连通图是一个极其简洁高效的 UI 理解 prior:无需任何学习参数,仅用像素颜色就能区分"有信息"和"无信息"的区域,这个思路可以迁移到任何涉及结构化文档/UI 的视觉理解任务
- Token Selection > Token Merge 的洞察很有价值:保留位置编码的稀疏采样比丢失位置的池化要好得多,这对所有视觉 token 压缩方法都有启示
- 用 README 文档描述动作空间而非硬编码动作集,让模型具备处理新动作类型的函数调用能力,非常优雅
- 仅 2B + 256K 就能打 7B + 1.3M:说明数据质量和模型设计比蛮力堆参数堆数据重要
局限与展望¶
- 在线环境(MiniWob)零样本性能与微调差距巨大(27.1% vs 71.5%),说明离线训练不足以应对 OOD 错误,需要 online learning 策略
- Desktop 训练数据极少(仅 100 张截图),Desktop Icon 的 grounding 准确率偏低(61.1%),需要更多跨平台视觉型训练数据
- 2B 模型的语言推理能力有限,对复杂多步 planning 的能力可能不足
- Mind2Web 的跨网站/跨域泛化仍有提升空间——瓶颈在视觉感知而非文本理解
相关工作与启发¶
- vs CogAgent (18B, 400K): ShowUI 用 9 倍少的参数和 1.6 倍少的数据,在 ScreenSpot 上大幅超越(75.1% vs 47.4%),证明专门针对 UI 的设计比堆大模型有效
- vs UGround (7B, 1.3M): 几乎持平的精度(75.1% vs 73.3%),但 ShowUI 小 3.5 倍且数据少 5 倍,token selection 带来的效率优势明显
- vs OmniParser: OmniParser 依赖 GPT-4V 做推理,ShowUI 是独立的端到端模型,更实用
- vs Magma: Magma 用 SoM 标注 + 大规模预训练,ShowUI 走轻量化路线 + 数据精选,两者理念互补
评分¶
- 新颖性: ⭐⭐⭐⭐ UI 连通图 token selection 是很巧妙的 UI-specific 设计,交错 VLA 流也有新意
- 实验充分度: ⭐⭐⭐⭐ 覆盖 Web/Mobile/Desktop/Online 四类环境,消融充分
- 写作质量: ⭐⭐⭐⭐ 结构清晰,问题驱动的实验分析很好
- 价值: ⭐⭐⭐⭐ 开源轻量级 GUI agent,实用性强,效率优化思路可广泛迁移
相关论文¶
- [CVPR 2025] SOLAMI: Social Vision-Language-Action Modeling for Immersive Interaction with 3D Autonomous Characters
- [ECCV 2024] QUAR-VLA: Vision-Language-Action Model for Quadruped Robots
- [CVPR 2025] MDP: Multidimensional Vision Model Pruning with Latency Constraint
- [CVPR 2025] MP-GUI: Modality Perception with MLLMs for GUI Understanding
- [CVPR 2025] Stochastic Human Motion Prediction with Memory of Action Transition and Action Characteristic