Smol2Operator リリース:小さな VLM をオープンソースのエージェント型 GUI コーダーに変える
TL;DR
Smol2Operator は、軽量なビジョン‑言語モデル SmolVLM2‑2.2B‑Instruct を、グラフィカルユーザーインターフェースを認識し操作できるエージェント型 GUI コーダーに変換するポストトレーニングレシピを導入し、すべてのコード、データ、そして生成されたモデルをオープンソースで公開しています。
Introduction – 小さな VLM が GUI エージェントになる可能性
Hugging Face のチームは、当初 GUI に関する基盤が全くなかった 2.2 B パラメータのビジョン‑言語モデルが、2 段階の教師ありファインチューニングパイプラインを通じて機能的な 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])
Action Space Converter – 語彙のカスタマイズ
utils/action_space_converter.py は、統一されたアクションを任意のドメイン固有 API(例:click を touch に変換)にマッピングできるようにします。関数レベルおよびパラメータレベルのマッピング、値変換、検証を設定可能です。
公開データセット
パイプラインは、統一フォーマットの新しい Hugging Face データセットを 2 つ生成します:
smolagents/aguvis-stage-1smolagents/aguvis-stage-2これらは GUI エージェントのトレーニングに直接利用可能です。
2. フェーズ 1 – ゼロから認識へ
トレーニングデータ
フェーズ 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 % |
| 最適な構成で 2 エポック訓練した結果、ScreenSpot‑v2 の精度はベースラインの 0 % から 41.27 % に上昇し、絶対増加率 +41 % となり、モデルが視覚要素をアクションに結び付けることを学習したことが確認されました。 |
3. フェーズ 2 – 認識から認知へ
トレーニングデータ
フェーズ 2 は smolagents/aguvis-stage-2 を使用し、明示的な推論タグ(<code>click(x=0.41, y=0.178)</code>)を追加します。
結果
フェーズ 1 のチェックポイントをさらに 2 エポックファインチューニングした結果、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(DPO)手法から得られる可能性が示唆されます。これらはインタラクションからの継続的学習を可能にするでしょう。
6. 今後の展望
著者らは、リアルタイム適応性と推論深度を向上させるために RL と DPO の探索を予定しています。コミュニティからの貢献(新しいデータセット、カスタムアクション語彙、あるいはより大規模なベースモデル)により、この手法をモバイル、ウェブ、専門的なエンタープライズインターフェースへ拡張できます。
要点: 異種 GUI アクションデータを統一し、二段階の教師ありファインチューニング手法を適用することで、Hugging Face は 2.2 B パラメータのビジョン‑言語モデルをオープンソースのエージェント型 GUI コーダーに変換し、研究コミュニティが活用できるフルスタックを公開しました。