Smol2Operator 发布:将小型 VLM 转变为开源的代理式 GUI 编码器

TL;DR

Smol2Operator 引入了一种后训练配方,将轻量级视觉语言模型 SmolVLM2‑2.2B‑Instruct 转变为能够感知并交互图形用户界面的代理式 GUI 编码器,所有代码、数据以及生成的模型均以开源方式发布。


引言 – 小型 VLM 可以成为 GUI 代理

Hugging Face 团队展示了一个 2.2 B 参数的视觉语言模型,最初并未具备任何 GUI 基础,但通过两阶段的监督微调流水线可以被转化为功能性的 GUI 代理。其结果 smolagents/SmolVLM2‑2.2B‑Instruct‑Agentic‑GUI 能够定位 UI 元素,生成低层次动作(点击、输入、滚动),并在截图上进行多步推理。将完整的训练配方、数据处理工具以及最终模型开源,提升了可复现性并邀请进一步研究轻量级 GUI 代理。


1. 统一动作空间 – 标准化异构 GUI 数据集

动作格式不一致的问题

现有的 GUI 自动化数据集使用不同的函数签名、命名约定和坐标系统,导致单一模型无法跨数据集学习。

统一的解决方案

作者构建了一个转换流水线,能够解析任意函数调用,规范参数顺序,并将所有动作映射到统一的 API。关键组件包括:

  • utils/function_parser.py – 从原始文本中提取并规范化函数调用。
  • preprocessing/action_conversion.py – 将移动端和 PyAutoGUI 的动作转换为统一集合(例如 clickdouble_clicktype)。
  • 归一化坐标(0‑1 范围)取代像素值,确保在不同图像分辨率下的一致性。

示例转换

# Original
pyautogui.click(x=0.8102, y=0.9463)
mobile.swipe(from_coord=[0.581, 0.898], to_coord=[0.601, 0.518])

# Unified
click(x=0.8102, y=0.9463)
swipe(from_coord=[0.581, 0.898], to_coord=[0.601, 0.518])

动作空间转换器 – 定制词汇表

utils/action_space_converter.py 允许用户将统一的动作映射到任何领域特定的 API(例如将 click 转换为 touch)。它支持可配置的函数级和参数级映射、数值转换以及验证。

已发布的数据集

该流水线生成了两个统一格式的 Hugging Face 数据集:

  • smolagents/aguvis-stage-1
  • smolagents/aguvis-stage-2 这些数据集可直接用于训练 GUI 代理。

2. 阶段 1 – 从零到感知

训练数据

Phase 1 在 smolagents/aguvis-stage-1 上进行微调,该数据集将用户指令与以代码形式表达的具体动作配对(例如 { "user": "click on more button", "assistant": "click(x=0.8875, y=0.2281)" })。损失仅在助理的动作输出上计算。

图像分辨率与坐标消融实验

图像尺寸 坐标类型 ScreenSpot‑v2 ↑
384 px Normalised 31.28 %
764 px Normalised 32.32 %
1152 px Normalised 33.72 %
1152 px Pixel 4.32 %
最佳配置使用 1152 px 分辨率并采用归一化坐标。

结果

在最佳配置下训练两个 epoch 将 ScreenSpot‑v2 准确率从 0 %(基线)提升至 41.27 %,绝对提升 +41 %,证明模型学会了将视觉元素与动作对应。


3. 阶段 2 – 从感知到认知

训练数据

Phase 2 使用 smolagents/aguvis-stage-2,其中加入了显式的推理标签(<code>click(x=0.41, y=0.178)</code>)。

结果

在 Phase 1 检查点上再微调两个 epoch 将 ScreenSpot‑v2 性能提升至 61.71 %,表明面向推理的数据进一步提升了 GUI 对齐。相同的两阶段配方应用于 460 M 参数的 nanoVLM 在 ScreenSpot‑v2 上达到了约 58 %,在该模型规模上实现了最先进的性能。


4. 开源发布 – 复现所需的一切

  • 训练配方recipe.ipynb(使用 TRL 库)。
  • 数据集smolagents/aguvis-stage-1smolagents/aguvis-stage-2
  • 已训练模型smolagents/SmolVLM2-2.2B-Instruct-Agentic-GUI
  • 预处理工具 – 函数解析器、动作转换系统和动作空间转换器(均在博客中链接)。
  • 演示空间 – 一个交互式 Hugging Face Space(A-Mahla/Smol2Operator)展示了端到端任务执行。 所有资源均在宽松许可证下公开可用。

5. 含义与未来方向

该工作证明,高质量、富含推理的 GUI 数据仅通过监督微调即可赋予即使是中等规模的 VLM 可靠的感知和代理能力。这降低了构建特定领域 GUI 助手的门槛,并暗示进一步的提升可能来自强化学习或直接偏好优化(Direct Preference Optimization)方法,这些方法能够实现基于交互的持续学习。


6. 接下来是什么?

作者预计将探索强化学习(RL)和 DPO 以提升实时适应性和推理深度。社区贡献——新数据集、定制动作词汇表或更大的基础模型——可以将该方法扩展到移动端、网页以及专用企业界面。


要点: 通过统一异构的 GUI 动作数据并采用两阶段监督微调方案,Hugging Face 将一个 2.2 B 参数的视觉语言模型转变为开源的代理式 GUI 编码器,并发布了完整的技术栈供研究社区基于此进行构建。

Sources