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 的动作转换为统一集合(例如click、double_click、type)。- 归一化坐标(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-1smolagents/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-1和smolagents/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 编码器,并发布了完整的技术栈供研究社区基于此进行构建。