← 返回 2026-04-29

GoClick:面向自主 GUI 交互的轻量级元素定位模型 GoClick: Lightweight Element Grounding Model for Autonomous GUI Interaction

Hongxin Li, Yuntao Chen, Zhaoxiang Zhang 📅 2026-04-27 👍 6 2026-07-13 08:36
GUI Agent Vision-Language Model Visual Grounding 数据精选 轻量化部署

230M参数的轻量级GUI元素定位VLM,在7个基准上媲美7B级大模型

前置知识

GUI 元素定位 (GUI Element Grounding)

给定一张 GUI 截图和一段自然语言描述(例如「右上角的搜索按钮」),模型需要预测出目标元素在屏幕上的坐标位置(框或中心点),通常输出归一化到 [0,1000] 区间的 (x, y) 或边界框。这是 GUI Agent 在视觉环境下完成点击、输入等操作的关键前置能力,与 RefCOCO 等自然场景下的视觉定位类似但元素更小、布局更密。

本文的核心任务就是 GUI 元素定位,论文提出的轻量模型、架构选择、数据精选都围绕这个能力展开;理解它的输入输出形式是看懂所有实验对比的前提。

Vision-Language Model (VLM) 架构:Encoder-Decoder vs Decoder-Only

Encoder-Decoder 架构(如 Florence-2)由独立的视觉编码器、多模态编码器和紧凑的 Transformer 解码器组成,输入输出都是 token 序列;Decoder-Only 架构(如 Qwen2-VL、InternVL2)则把视觉 token 直接拼到 LLM 的上下文里,靠自回归生成完整回答。前者输出空间窄、擅长精确定位,后者通用生成能力强但参数利用率在窄任务上不高。

本文最重要的论断之一就是「在 GUI grounding 这种窄任务的小参数场景下,encoder-decoder 优于 decoder-only」,这决定了 GoClick 选择 Florence-2 而非 Qwen2-VL 缩小型作为基座;理解两者差异才能看懂 4.2 节的架构对比实验。

数据精选 / 数据配比 (Data Curation & Task Ratio)

在大规模多任务训练中,不同数据源、任务类型的贡献并不相等;通过分析每类样本对验证集指标的边际影响,可以删除有害样本、调整任务配比,从而在更少数据下获得更好效果。本文 PDR 流水线分粗粒度(去类别)和细粒度(调比例)两步实现这一目标。

GoClick 把数据从 10.8M 砍到 3.8M 同时精度反而提升 4 点(71.6→75.6),这是论文的核心贡献之一;理解数据精选的概念才能体会其「少即是多」的工程价值。

研究动机

GUI Agent 要执行点击、输入等操作,必须先把自然语言意图映射到屏幕坐标,这一「元素定位」能力是 Agent 落地的关键瓶颈。当前主流做法是直接调用 GPT-4o、Qwen2-VL-7B、CogAgent-18B、SeeClick-10B 等大尺寸 VLM(普遍 ≥2.5B 甚至 7B+),其 FuncPred 准确率虽可达 48–52%,但单次推理 TTFT 动辄 100–1253 ms、TPOT 20–200 ms/token,根本塞不进手机的内存与算力预算。CogAgent-18B 的 TTFT 高达 1253.2 ms、TPOT 208.8 ms/token,SeeClick-10B 的 TPOT 也达 184.4 ms/token——这些指标说明现有 grounding 专家模型在端侧几乎不可用。即便把 Qwen2-VL、InternVL2 缩到 2B,它们的 FuncPred 也只有 7.1% 和 2.0%,呈现明显的「缩了就不灵」现象。

本文的目标是论文要打造一个仅 0.23B 参数、能在手机等资源受限设备上实时运行的 GUI 元素定位专家模型,同时在 7 个公开 GUI 定位基准(FuncPred、ScreenSpot、ScreenSpot-v2、MOTIF、RefExp、VWB EG、VWB AG)上达到甚至超过多个 7B 大模型,并把它集成进 device-cloud 协作框架,让云端 GPT-4o/Gemini 负责高层规划、本地 GoClick 负责精确定位,从而提升整体 Agent 的 Step Success Rate。

与已有工作不同的是,已有研究对 GUI 定位的探索主要走两条路:①在 7B 以上大模型上堆数据,忽视端侧部署;②直接缩小 decoder-only VLM,没有考虑窄任务下架构本身的适配性。本文则把「小尺寸 encoder-decoder 架构 + 系统性数据精选」作为差异化切口:先证明在 GUI grounding 这种空间输出极窄的任务上 Florence-2 这类 encoder-decoder 远比缩小的 Qwen2-VL、InternVL2、SLiME 更适合,再针对小模型容量有限的特点设计 Progressive Data Refinement (PDR) 流水线,把 10.8M 原始数据精炼到 3.8M 的高纯度核心集。这一「架构×数据」双轮驱动是已有工作没有同时做过的。

核心方法

GoClick 的整体思路可以分三层理解。直觉上,GUI 元素定位本质上是「把截图+文字描述映射到 (x,y) 坐标」的回归/序列生成问题,输出空间比开放对话窄得多,因此不需要 decoder-only VLM 那种大 LLM 的全部通用生成能力。基于这一观察,方法选 Florence-2 这种 encoder-decoder 架构作为基座,用 ViT 提取图像 patch token、Projector 投射、多模态 Transformer 编码后再用紧凑 decoder 预测坐标 token (loc_xxx)。技术路线上,由于 230M 容量有限、很容易被噪声数据带偏,所以第二步构建 Progressive Data Refinement (PDR) 流水线:从 11 个 GUI 元数据源出发,先用规则+LLM 标注生成 4 种 referring expression (RE) 和 4 种 grounding 任务,得到 10.8M 原始样本;再走「粗筛」(剔除过时 GUI 模式与所有 REG 任务样本,得到 6.4M)和「细筛」(按任务类型×数据源逐个下调采样比例,保留高质量的 3.8M)两步精炼;最后用这 3.8M 核心集微调 GoClick-L (0.8B) 与 GoClick-B (0.2B) 两个版本,分别面向不同算力预算。

核心创新有两个,且都和已有方法形成本质区别。第一是「架构-任务匹配」:现有 GUI 定位工作几乎默认用 Qwen2-VL、InternVL2 等 decoder-only 大 VLM 的缩小版,但论文通过在 3.8M 同一数据集上对 4 个基座(Florence-2、Qwen2-VL-2B、InternVL-2-1B、SLiME-Gemma-2B)做同条件微调,证明 encoder-decoder 在小参数 GUI grounding 任务上全胜——GoClick-L (0.8B) 的 FuncPred 69.5% 超过参数量近 3 倍的 Qwen2-VL-2B (51.1%) 和 SLiME-Gemma-2B (58.9%),而 InternVL-2-1B 只到 21.9%。第二是「为小模型定制数据精选」:不同于 OmniParser、SeeClick 等直接堆千万级数据的做法,PDR 把重点放在「删除有害样本」而非「堆更多样本」,发现过时 GUI 模式(Android 4.0, 2011)和所有 REG 任务对 grounding 都有负贡献,并把 SeeClick-Web 的 Brief Description Grounding 比例从 1.0 降到约 0.2 才避免性能雪崩——这与「数据越多越好」的直觉形成鲜明对比。

方法步骤详情

方法实现分为四步。第一步是数据合成:针对每个 GUI 元素,用 GUI 元数据自动生成 4 种 referring expression——RE1 (Alt-texts,直接抓取 alt 属性或显示文字)、RE2 (Brief Descriptions,结合视觉外观+类别+位置,如「左上角的房子形状按钮」)、RE3 (Action Intents,按 Burns et al. 2022 模板生成「focus on the password textbox」)、RE4 (Functionality Descriptions,沿用 AutoGUI 流程用 LLM 生成「This element enables users to share content」);再为每种 RE 生成对应的 Grounding 任务(输入 RE 预测坐标)和反向 REG 任务(输入坐标生成 RE),外加 Widget Listing 任务,共 8 类样本,得到 10.8M GoClick-Raw。第二步是去噪去重:丢弃空白/不可见元素、剔除越界 bbox、用 pytesseract OCR 验证 plain-text 元素是否与文本属性一致;然后把 bbox 离散到 0-100 整数网格、把 RE 去掉标点统一小写,按 (box, RE) 元组分组,每组只留一条,压缩冗余。第三步是 PDR 粗筛:经验上验证「含 Android 4.0 等过时 GUI 模式的样本」和「全部 REG 任务样本」都会拖累 grounding 性能(Tab. 6 给出 +0.2~+3.8 点的提升),整体砍掉,得到 GoClick-AfterCoarse (6.4M)。第四步是 PDR 细筛:聚焦占 90.8% 数据的 6 个主要源(AutoGUI、MobileViews、AndroidControl、WebUI、MultiUI、SeeClick-Web),对每类任务逐步降低采样比例(从 1.0 降到 0.2 左右)观察平均精度曲线,发现 AndroidControl 的 Text/Intent Grounding 和 SeeClick-Web 的 Brief Description Grounding 出现「比例越高性能越差」的反常曲线,据此调出 3.8M 核心集 GoClick-Core;最后用该核心集在 8 张 L20 GPU 上对 Florence-2 base 训练 2 个 epoch(GoClick-L 训练 38 小时、GoClick-B 更短),输入图像统一 resize 到 768×768,仅冻结 ViT 编码器其余参数全调,得到最终模型。

技术新颖性

技术新颖性体现在三方面。其一是首次系统量化 encoder-decoder 架构在 GUI grounding 任务小参数场景下的优势——以往 Tay et al. 2023、Wang et al. 2022 的工作只在通用 NLP 任务上得出类似结论,论文把它迁移并实证到 GUI 域,并通过控制变量(同数据、同 epochs、同 768×768 分辨率)确保比较公平。其二是 PDR 流水线把 GUI 域独有的「过时模式有害」和「过采样有害」两个反直觉现象以消融形式显式呈现:Tab. 7 显示数据从 10.8M 砍到 3.8M、训练量减少 64.8% 的同时平均精度反而从 71.6 升到 75.6(+4.0),其中 VWB AG 单项提升 +6.8 点,这是「更多数据≠更好」在 VLM 训练中少见的硬证据。其三是把 GoClick 包装成 device-cloud 协作中的「端侧 grounding 专家」,提出用 Intent Grounding 和 Functionality Grounding 两种方式让云端 planner 触发本地定位——这种解耦既利用了大模型的推理能力又规避了其坐标预测弱点,在 AITW、GUIAct 等 4 个 Agent 基准上系统击败 SoM prompting 强基线。

GoClick is based on Florence-2 (Xiao et al., 2024), which constitutes an image encoder and a multi-modality encoder-decoder module.
Fig. 3: GoClick is based on Florence-2 (Xiao et al., 2024), which constitutes an image encoder and a multi-modality encoder-decoder module.
Illustration of the data collection and multi-task fine-tuning processes of GoClick.
Fig. 4: Illustration of the data collection and multi-task fine-tuning processes of GoClick.
Illustration of the device-cloud collaboration agent integrating our GoClick.
Fig. 8: Illustration of the device-cloud collaboration agent integrating our GoClick.

实验结果

实验共分四组,核心结论可以归纳如下。第一组「与 SOTA 对比」(Tab. 3)显示 GoClick-L (0.8B) 在 7 个 grounding 基准上的平均表现超过所有 ≤4B 模型,并在 FuncPred (69.5 vs CogAgent 29.3、SeeClick 19.8、Ferret-UI 1.2)、VWB EG (90.3 vs Ferret-UI 3.9、ShowUI 64.2) 等指标上甚至超过了 7–18B 级大模型;GoClick-B (0.2B) 虽小 1 个量级,仍以 64.4% FuncPred、90.3% VWB EG 击败 GPT-4o (9.8%/5.6%) 和 Ferret-UI-3B (1.3%/0.7%),证明缩到 0.2B 仍能 work。速度方面,GoClick-B 的 TTFT=37.7 ms、TPOT=4.1 ms/token,仅为 GPT-4o/CogAgent 的约 1/30 到 1/5,验证了端侧可用性。第二组「架构对比」(Tab. 4)严格控制变量:Florence-2 微调后 FuncPred 69.5%、VWB EG 90.3%,全面领先 InternVL-2-1B (21.9%/7.3%)、Qwen2-VL-2B (51.1%/78.2%)、SLiME-Gemma-2B (58.9%/39.5%),且与参数量 10 倍的 Qwen2-VL-7B-SFT (56.1%/93.5%) 互有胜负。Tab. 5 还显示 GoClick 在 ScreenSpot 三域(Web/Desktop/Mobile)的 Text 和 Icon grounding 上都最稳健,text-icon 差距比 Qwen2-VL-2B 更小。第三组「数据精选消融」(Tab. 6-7)证实 PDR 的两步都不可或缺:粗筛去掉过时+REG 让平均精度从 71.6 升到 74.0(+2.4),细筛把比例调到最优后进一步升到 75.6(+4.0),且训练样本减半以上;Fig. 6 的曲线则直观揭示了「AndroidControl Text Grounding 与 SeeClick-Web Brief Description Grounding 比例越高越糟」的反常现象。第四组「GUI Agent 集成」(Tab. 8-11)展示在 4 个 Agent 基准上,把 grounding 任务从 GPT-4o/Gemini 卸载到 GoClick-L 都能大幅提升 Step SR:AITW 上 GPT-4o + GoClick (Intent) 拿到 48.9 总体 Step SR 和 59.7 Click Acc,分别比 GPT-4o + SoM (42.1/50.4) 高 +6.8 和 +9.3;GUIAct-Web 上 GPT-4o + GoClick 达 50.5/62.0,比 SoM (42.3/55.6) 高 +8.2 和 +6.4;AndroidControl 上 Gemini-2-Flash-Exp + GoClick 把 Step SR 从 20.6 拉到 42.9(+22.3)。这些数字一致证明「云端推理 + 端侧精定位」的协作模式显著优于让大模型同时做规划和定位。

The number of samples for every task type in the GoClick core set generated by the PDR pipeline.
Table 1: The number of samples for every task type in the GoClick core set generated by the PDR pipeline.
The statistics of the 3.8M core set.
Table 2: The statistics of the 3.8M core set.
Comparing GoClick with existing GUI element grounding models on the grounding benchmarks.
Table 3: Comparing GoClick with existing GUI element grounding models on the grounding benchmarks.
Comparing grounding accuracy (%) of GoClick based on the adopted encoder-decoder architecture and decoder-only alternatives.
Table 4: Comparing grounding accuracy (%) of GoClick based on the adopted encoder-decoder architecture and decoder-only alternatives.
Evaluating GoClick on the subsets of the ScreenSpot benchmark.
Table 5: Evaluating GoClick on the subsets of the ScreenSpot benchmark.
The effects of the coarse filtering stage.
Table 6: The effects of the coarse filtering stage.
The effects of the two filtering stages introduced in Sec. 3.3.3.
Table 7: The effects of the two filtering stages introduced in Sec. 3.3.3.
Evaluating the device-cloud collaboration agent integrating GoClick on the AITW benchmark.
Table 8: Evaluating the device-cloud collaboration agent integrating GoClick on the AITW benchmark.
Evaluating the device-cloud collaboration agent integrating GoClick on the AndroidControl benchmark.
Table 9: Evaluating the device-cloud collaboration agent integrating GoClick on the AndroidControl benchmark.
Evaluating the device-cloud collaboration agent integrating GoClick on the GUIAct-Web benchmark.
Table 11: Evaluating the device-cloud collaboration agent integrating GoClick on the GUIAct-Web benchmark.
Comparing GoClick with strong competitive VLMs in terms of inference speed, model size, and grounding accuracy on GUI element grounding benchmarks.
Fig. 2: Comparing GoClick with strong competitive VLMs in terms of inference speed, model size, and grounding accuracy on GUI element grounding benchmarks.
Examples of the grounding tasks provided by the used GUI element grounding benchmarks.
Fig. 5: Examples of the grounding tasks provided by the used GUI element grounding benchmarks.
The effects of adjusting the inclusion ratio of each task type for the main GUI metadata sources in the fine filtering stage.
Fig. 6: The effects of adjusting the inclusion ratio of each task type for the main GUI metadata sources in the fine filtering stage.
Example of GUI agent tasks provided by the benchmarks indicating potential noise at intermediate inclusion levels.
Fig. 7: Example of GUI agent tasks provided by the benchmarks indicating potential noise at intermediate inclusion levels.
查看结构化数据
任务指标本文基线提升
FuncPred (功能描述定位) Grounding Accuracy (%) GoClick-L: 69.5, GoClick-B: 64.4 Qwen2-VL-7B-SFT: 56.1, UGround-7B: 48.8, GPT-4o: 9.8 GoClick-L 比 SOTA 7B 微调版高 +13.4,比 GPT-4o 高 +59.7
ScreenSpot (跨域 brief desc 定位) Grounding Accuracy (%) GoClick-L: 78.5, GoClick-B: 74.1 Aguvis-7B: 83.8, UGround-7B: 74.8, Qwen2-VL-7B: 66.4 GoClick-B 超过 UGround-7B (-0.7 几乎持平) 且 1/35 参数量
ScreenSpot-v2 (Web+Desktop+Mobile) Grounding Accuracy (%) GoClick-L: 81.1, GoClick-B: 75.2 Aguvis-7B: 85.6, OS-ATLAS-8B: 84.1, GPT-4o: 17.8 GoClick-L 仅比 Aguvis 低 4.5,但参数小 10 倍
MOTIF (Mobile intent 定位) Grounding Accuracy (%) GoClick-L: 80.4, GoClick-B: 76.8 OS-ATLAS-8B: 78.8, Qwen2-VL-7B: 75.1, GPT-4o: 20.4 GoClick-L 反超 OS-ATLAS-8B +1.6
RefExp (Mobile intent 定位) Grounding Accuracy (%) GoClick-L: 78.2, GoClick-B: 71.9 Aguvis-7B: 80.9, UGround-7B: 73.6, GPT-4o: 30.5 GoClick-L 与 Aguvis 仅差 2.7,但参数量小近 10 倍
VWB EG (Web text grounding) Grounding Accuracy (%) GoClick-L: 90.3, GoClick-B: 90.3 Aguvis-7B: 91.3, OS-ATLAS-8B: 82.6, GPT-4o: 5.6 GoClick 双版本与 Aguvis 持平(90.3 vs 91.3),但参数量仅 1/10
VWB AG (Web action grounding) Grounding Accuracy (%) GoClick-L: 68.0, GoClick-B: 61.2 OS-ATLAS-8B: 69.9, Aguvis-7B: 68.0, GPT-4o: 6.8 GoClick-L 与 Aguvis 并列第二,超过 OS-ATLAS-4B (58.3) 约 10 点
AITW (Agent Step SR) Step Success Rate (%) GPT-4o + GoClick-L (Intent): 48.9 GPT-4o + SoM: 42.1, GPT-4o alone: 27.2 +6.8 vs SoM,+21.7 vs GPT-4o 单独
GUIAct-Web (Agent Step SR) Step Success Rate (%) GPT-4o + GoClick-L (Intent): 50.5 GPT-4o + SoM: 42.3, GPT-4o alone: 18.2 +8.2 vs SoM,+32.3 vs GPT-4o 单独

局限与改进

作者在结论部分坦承三点主要局限:①架构结论的迁移性未知,encoder-decoder 在 GUI grounding 上的优势未必能直接外推到 GUI Agent 任务规划、动作预测、Chain-of-Thought 推理等更复杂任务;②PDR 流程仍偏启发式,比例调节靠经验性的消融曲线,且单次 epoch 实验对随机种子敏感,缺少理论保证;③评估在 L20 GPU 上模拟移动设备而非真实嵌入式硬件,真实部署的内存限制、能耗、系统级优化(如 NPU 加速、量化)尚未验证。我自己再补充两点观察:①GoClick 的训练数据 90.8% 来自 6 个主源,但其中 SeeClick-Web 需大幅降采样才不伤害性能,说明 GUI grounding 数据质量方差极大,迁移到新场景(如车机、电视、AR)时 PDR 需重新跑一遍消融而非直接套用;②GoClick 端到端只有 230M,理论上可上手机,但论文没有给出手机实测延迟、内存峰值、功耗,也没有给出 ONNX/TensorRT/Qualcomm NPU 等真实部署的兼容性测试,「端侧可用」目前仍是基于 GPU 模拟的推论。

独立分析的弱点

独立分析三个可改进的弱点。第一,PDR 的细筛环节本质上是「枚举 + 凭曲线调比例」的暴力搜索,对每个数据源×每类任务都要训练+评估一遍,6 个主源 × 4 类任务 = 24 组消融,每次还要在 GoClick-L 上跑 1 个 epoch,计算成本不低且难以扩展到新增数据源;改进方向是引入数据质量预测的元模型,用 GUI 年代、元素密度、RE 复杂度等特征直接打分排序,省掉重复训练。第二,GoClick 完全没有利用 OCR 结果与图标语义信息,仅依赖视觉-语言联合表征,导致 plain-text 元素定位严重依赖像素模式而非字符识别,这在分辨率被压到 768×768 时尤其吃亏;改进方向是显式注入 OCR token 或图标类别 embedding 作为辅助输入,让模型在 low-res 场景下仍有 fallback。第三,GoClick 当前只接受 768×768 输入,对于 desktop/4K web 截图会显著丢失细节,ScreenSpot-Desktop 上 icon grounding 仅 67.1% 较 mobile 的 70.3% 略低就是这一问题的体现;改进方向是参考 InternVL2 的 image division 思路,对高分辨率 GUI 截图做切块编码再聚合。

未来方向

作者在 Limitations 与 Discussion 部分明确提出三个方向:①Meta-Learning-Based 自动选样本,训练一个元模型用 GUI 年代、元素密度、RE 复杂度、源分布等特征预测样本质量,把 PDR 中的人工调参自动化;②Game-Theory-Based 用 Shapley value 或 influence function 自动识别高价值样本,但作者也承认 10.8M 样本对 0.8B 模型算 influence 在当前算力下不现实;③真实端侧部署,开发专门的嵌入式 VLM 部署框架(量化、kernel 优化、NPU 适配)并实测内存、能耗、推理延迟。基于论文成果还可以延伸几个方向:①把 GoClick 扩展成多模态 grounding(同时输出坐标+功能解释),作为 GUI Agent 的端侧「多面手」;②探索将 encoder-decoder 优势迁移到 GUI 任务规划,把云端 GPT-4o 的部分规划能力也本地化以进一步降低延迟;③把 PDR 流水线模板化推广到其他垂直域 VLM(医疗影像、遥感、自动驾驶)以验证「为小模型精修数据」这一范式的普适性;④结合 RLHF/RLAIF 用 Agent 真实任务成功率作为 grounding 质量的间接监督信号,进一步对齐模型与下游 Agent 目标。

复现评估

复现评估整体比较友好。代码与数据已在 GitHub 开源(https://github.com/ZJULiHongxin/GoClick),包括训练数据、训练脚本和测试集;基座 Florence-2 的权重公开可得(microsoft/Florence-2-large),下游 7 个 GUI grounding 基准的测试集也都给出了 HuggingFace 数据集链接(FuncPred、ScreenSpot、ScreenSpot-v2、MOTIF、RefExp、VWB EG、VWB AG)。训练成本方面,GoClick-L (0.8B) 在 8 张 L20 GPU 上微调 2 个 epoch 需要 38 小时,GoClick-B (0.2B) 更短,资源需求对一般工业实验室可达;推理评估同样在 1 张 L20 上完成,使用 Transformers + Flash Attention + BFloat16 + temperature=0。复现难度中等偏低,主要门槛在数据预处理:要跑通 PDR 需要重现 11 个数据源的解析、OCR 验证、bbox 离散化去重、过时 GUI 模式识别、24 组细筛消融等流程,工作量不算小。论文对超参(图像统一 resize 到 768×768、仅冻结 ViT、8 卡 L20、2 epoch、batch size 隐含但可推导)有较清楚说明,但 PDR 细筛的最佳比例(Fig. 6 中各曲线拐点)需读者自行读图复算或直接使用作者给出的 3.8M core set。