project
ShowUI - シンガポール国立大学とマイクロソフトが共同で、GUI自動化のためのビジュアル言語操作モデルを発表。
ShowUIは、シンガポール国立大学のShow Labとマイクロソフトが共同開発した視覚言語アクションモデルであり、グラフィカルユーザーインターフェース(GUI)アシスタントの効率向上を目的としています。このモデルは、UI誘導型の視覚トークン選択に基づいて計算コストを削減します。
ShowUIとは何ですか?
シンガポール国立大学のShow Labとマイクロソフトが共同開発した視覚・言語・行動モデルであるShowUIは、グラフィカルユーザーインターフェース(GUI)アシスタントの効率を向上させます。このモデルは、UI誘導型のビジュアルトークン選択によって計算コストを削減し、視覚・言語・行動フローを交互に配置することでGUIタスクにおける多様な要件を統合し、視覚・行動履歴を管理することで学習効率を向上させます。ShowUIは、わずか25万6千のデータポイントで、小規模ながら高品質な指示追従データセットを使用し、ゼロショットスクリーンショット位置特定精度75.1%を達成、学習速度も1.4倍向上させ、GUIビジュアルエージェント分野におけるその可能性を示しました。
ShowUIの主な機能
- UI誘導による視覚的なトークン選択スクリーンショットはUI接続グラフの構築に使用され、冗長な関係性を適応的に識別し、それを自己注意モジュールにおけるトークン選択の基準として使用することで、計算コストを削減します。
- 視覚・言語・運動の流れが絡み合うGUIタスクにおける多様な要件を柔軟に統合し、視覚と動作の履歴を効果的に管理し、トレーニング効率を向上させます。
- 小規模で高品質なGUI指示に従うデータセットデータを慎重にキュレーションし、データタイプの不均衡に対処するためにリサンプリング戦略を採用することで、モデルの精度と効率を向上させることができる。
- ゼロサンプルスクリーンショットの位置決め追加のトレーニングなしに、スクリーンショットを直接理解し、操作できる能力。
- GUI自動化クリックや入力といったGUIタスクを自動化することで、人間とコンピュータのインタラクションの効率が向上する。
ShowUIの技術的原則
- UI誘導による視覚的なトークン選択:
- スクリーンショットは一定の間隔でパッチに分割されており、各パッチがノードとして機能します。
- 同じRGB値を持つ隣接する領域を特定し、UI接続グラフを構築し、視覚的に重複する領域をグループ化します。
- 自己注意モジュールでは、UI接続グラフに基づいて視覚トークンが選択的に処理され、計算負荷が軽減されます。
- 視覚・言語・運動の流れが相互に絡み合っている:
- JSON形式で表現される構造化されたGUIアクションは、異なるデバイス間での操作を統一します。
- 視覚データ、言語データ、行動データの処理を交互に行うことで、複雑なインタラクション履歴を管理する。
- 研修中は、データ利用効率を向上させるために、複数回の対話を行うアプローチが用いられる。
- データ計画とリサンプリング戦略:
- 利用可能なすべてのデータソースを単純に集約するのではなく、質の高いトレーニングデータを慎重に計画し、選択してください。
- リサンプリング戦略に基づき、異なるデバイス間およびタスクタイプ間のデータ不均衡の問題が解決される。
- 高解像度UIスクリーンショットを効率的に処理する高解像度のUIスクリーンショットの場合、このモデルは長いトークンシーケンスを効率的に処理し、計算コストを削減するように最適化されています。
- モデルアーキテクチャ:
- Qwen2-VL-2Bモデルに基づき、視覚エンコーダと言語モデルを統合して、視覚データとテキストデータを処理します。
- 特定のデータレシピとトレーニング戦略を用いることで、GUIタスクにおけるモデルのパフォーマンスを向上させる。
ShowUIのプロジェクトアドレス
- GitHubリポジトリ:https://github.com/showlab/ShowUI
- ハギングフェイスモデルライブラリ:https://huggingface.co/datasets/showlab/ShowUI-desktop-8K
- arXiv技術論文:https://arxiv.org/pdf/2411.17465
- オンラインでデモを体験してください:https://huggingface.co/spaces/showlab/ShowUI
ShowUIのアプリケーションシナリオ
- ウェブページ自動化ウェブページ上でのクリック、入力、スクロール、その他の操作を自動的に実行します。これは、自動テスト、データスクレイピング、またはユーザー行動のシミュレーションに使用されます。
- モバイルアプリケーションテストモバイルアプリケーションにおけるスワイプ、クリック、フォームへの入力など、さまざまなユーザー操作を自動化し、アプリケーションの機能をテストするため。
- デスクトップソフトウェア自動化ファイル管理、データ入力、設定調整など、デスクトップソフトウェアにおける反復作業を自動化する。
- バーチャルアシスタント仮想アシスタントの一部として、ユーザーの自然言語コマンドに基づいて特定のGUI操作を実行します。
- ゲーム自動化自動スクリプトをサポートするゲームでは、キャラクターの移動、アイテムの取得、戦闘などの動作を自動的に実行できます。