Smol2Operator 釋出:將小型 VLM 轉變為開源的代理式 GUI 程式設計師
TL;DR
Smol2Operator 引入了一套後訓練配方,將輕量級視覺語言模型 SmolVLM2‑2.2B‑Instruct 轉變為能感知並與圖形使用者介面互動的代理式 GUI 程式設計師,且所有程式碼、資料與最終模型皆以開源方式釋出。
介紹 – 小型 VLM 也能成為 GUI 代理
Hugging Face 團隊示範,一個最初沒有任何 GUI 基礎的 2.2 B 參數視覺語言模型,透過兩階段的監督式微調管線,可被轉換成可運作的 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. Phase 1 – 從零到感知
訓練資料
Phase 1 在 smolagents/aguvis-stage-1 上進行微調,該資料集將使用者指令與以程式碼表達的具體行動配對(例如 { "user": "click on more button", "assistant": "click(x=0.8875, y=0.2281)" })。損失僅計算於助理的行動輸出。
影像解析度與座標消融實驗
| 影像大小 | 座標類型 | ScreenSpot‑v2 ↑ |
|---|---|---|
| 384 px | 正規化 | 31.28 % |
| 764 px | 正規化 | 32.32 % |
| 1152 px | 正規化 | 33.72 % |
| 1152 px | 像素 | 4.32 % |
| 最佳配置為 1152 px 解析度搭配正規化座標。 |
結果
在最佳配置下訓練兩個 epoch,使 ScreenSpot‑v2 準確率從 0 %(基線)提升至 41.27 %,絕對提升 +41 %,證實模型學會將視覺元素與行動對應。
3. Phase 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。 - 前處理工具 – 函式解析器、行動轉換系統與行動空間轉換器(全部於部落格中連結)。
- 示範 Space – 互動式 Hugging Face Space (
A-Mahla/Smol2Operator) 展示端到端任務執行。 - 所有資源皆以寬鬆授權公開可用。
5. 含意與未來方向
此工作證明,高品質且富含推理的 GUI 資料即使只透過監督式微調,也能賦予相對小型的 VLM 可靠的感知與代理能力。這降低了構建領域特定 GUI 助手的門檻,且暗示進一步的提升可能來自強化學習或直接偏好最佳化(DPO)方法,從而實現持續的互動式學習。
6. 接下來的計畫
作者預計探索 RL 與 DPO,以提升即時適應與推理深度。社群貢獻——新資料集、客製化行動詞彙表或更大的基礎模型——皆可將此方法擴展至行動、網頁與專業企業介面。
重點: 透過統一異質 GUI 行動資料並套用兩階段監督式微調流程,Hugging Face 將 2.2 B 參數的視覺語言模型轉變為開源的代理式 GUI 程式設計師,並釋出完整堆疊供研究社群進一步構建。