ShowUI(ショーユーアイ)
AppleとNVIDIAが2024年に共同開発したGUI操作特化マルチモーダルエージェント。スクリーンショットのみでUI要素を認識・操作し、ScreenSpotベンチマークで75%以上の精度を達成。
ShowUI とは
ShowUIは2024年にApple ResearchとNVIDIA Researchが共同で発表したGUI操作特化マルチモーダルLLMエージェントフレームワーク。従来のGUI自動化ツール(Selenium・Puppeteer等)がDOMやAPIを必要とするのに対し、ShowUIはスクリーンショット画像だけからUI要素を認識し、人間が行うような操作(クリック・タイプ・スクロール)を自律的に生成できる。
アーキテクチャと学習
LLaVA-1.5アーキテクチャをベースに2Bおよび7Bパラメータの2サイズを提供。学習データはMind2Web(Web操作)、AITW(Android操作)、ScreenSpot(スクリーン座標グラウンディング)の3大ベンチマークデータセットを統合したマルチタスク学習で構築。
| モデルサイズ | ScreenSpot精度 | Mind2Web精度 |
|---|---|---|
| ShowUI-2B | 75.1% | 61.1% |
| ShowUI-7B | 76.8% | 64.2% |
主な特徴
ビジョンオンリー操作
DOM・アクセシビリティツリー・APIへのアクセスなしに、スクリーンショット1枚から操作対象座標を推定。座標出力は(x_normalized, y_normalized)形式で0〜1に正規化される。
ストリーミング操作生成
チェーンオブソート(CoT)形式で操作理由→操作タイプ→座標の順に逐次生成し、マルチステップタスクでも文脈を保持する。
汎用OS対応
iOS・Android・Web・WindowsデスクトップのUIスクリーンショットすべてに対応。プラットフォーム固有のAPI不要。
ベンチマーク実績(2024年時点)
- ScreenSpot: 76.8%(7B)— 発表時SOTA
- Mind2Web(Web操作): 64.2%
- AITW(Android): 55.7%
- 比較: GPT-4V単体 ScreenSpot 58.1%
実装・利用方法
# ShowUI 推論例(Hugging Face transformers)
from transformers import AutoProcessor, AutoModelForCausalLM
processor = AutoProcessor.from_pretrained("showlab/ShowUI-2B")
model = AutoModelForCausalLM.from_pretrained("showlab/ShowUI-2B")
# スクリーンショットと指示を入力
image = load_screenshot()
instruction = "「ログイン」ボタンをクリックして"
response = model.generate(processor(image, instruction))
# → {"action": "click", "x": 0.512, "y": 0.723}
Hugging Faceにshowlab/ShowUI-2Bとして公開。
類似フレームワークとの比較
| フレームワーク | ベース | 入力 | 対応OS |
|---|---|---|---|
| ShowUI | LLaVA-1.5 | スクリーンショット | 全OS |
| OS-Atlas | Qwen2-VL-7B | スクリーンショット | 全OS |
| AppAgent | GPT-4V | スクリーンショット+XML | Android |
| SeeAct | GPT-4V | DOM+スクリーンショット | Web |
まとめ
ShowUIはApple・NVIDIA共同開発という背景もあり、GUI Agent分野での注目度が高い。オープンウェイトモデルでありながらGPT-4Vを超えるベンチマーク精度を実現し、実用的なRPA自動化・テスト自動化への応用が期待される。