SmolVLA: A Vision-Language-Action Model for Affordable and Efficient Robotics
Abstract
- 目的: 小型・効率的・コミュニティ駆動型のVision-Language-Action (VLA) モデルの提案
- 課題: 既存VLAは数十億パラメータと大規模で、訓練コストが高く実世界での展開が困難
- 解決策: 単一GPUで訓練可能、消費者向けGPUやCPUでも展開可能なSmolVLAを開発
- 非同期推論: 知覚・行動予測と行動実行を分離し、より高い制御レートを実現
- 性能: 10倍大きいVLAと同等の性能を達成
1 Introduction
| 観点 | 内容 |
|---|---|
| 背景 | LLM/VLMの成功をロボティクスに適用するVLAモデルが注目されている |
| 既存の問題 | 大規模モデル(数十億パラメータ)による高コスト・低アクセシビリティ |
| OpenVLA等の課題 | オープンソース化されているが、依然として大規模でリソース集約的 |
SmolVLAの貢献:
- 軽量アーキテクチャ: VLMのレイヤースキップ、最小限のビジュアルトークン、小型VLM、Cross/Self-Attentionの交互配置
- コミュニティデータでの事前学習: 公開コミュニティデータセット約30k未満のエピソードで訓練
- 非同期推論: 行動実行と観測処理を分離し、低遅延・リソース効率的な推論を実現
2 Related work
Vision-language models (VLMs)
- 事前学習済みVision EncoderとLLMを統合
- Image-Captionデータセットで事前学習後、Instruction-tuningで微調整
- 効率化の研究: 小規模データセット、小規模モデル、パラメータ効率的適応
Vision-language-action models (VLAs)
| モデル | 特徴 |
|---|---|
| Octo, RT-1 | Transformerベース、大規模データセットでゼロから訓練 |
| RT-2 | 事前学習VLMを活用、ロボティクスデータで追加訓練 |
| OpenVLA | 7Bパラメータ、離散行動トークン生成 |
| π0, DexVLA | Diffusionベースデコーダで連続行動生成 |
| TinyVLA | サブ1Bの軽量モデル、大規模事前学習なしで汎化に課題 |
3 SmolVLA: small, efficient and capable
3.1 Model architecture
構成要素:
- VLM (Vision-Language Model): SmolVLM-2を使用(SigLIPエンコーダ + SmolLM2デコーダ)
- Action Expert: Flow Matchingで訓練されたTransformer
| 設計要素 | 詳細 |
|---|---|
| 視覚トークン削減 | 画像タイリングを使用せず、Pixel Shuffleで1フレームあたり64トークンに制限 |
| レイヤースキップ | VLMの前半N層(N=L/2)のみ使用し、計算コストを半減 |
| Flow Matching | ノイズ付き行動から真の行動へのベクトル場を学習、Beta分布でτをサンプリング |
| Attention設計 | Cross-Attention(VLM特徴との相互作用)とCausal Self-Attention(行動トークン間)を交互配置 |
| Expert容量 | VLMの隠れ次元dに対して0.75×dの隠れサイズを使用 |
3.2 Pretraining data collected by the community
- データセット: Hugging Faceから選定した481のコミュニティデータセット
- 規模: 約22.9Kエピソード、10.6Mフレーム(従来手法より1桁小さい)
| 課題 | 解決策 |
|---|---|
| タスクアノテーションのノイズ | VLM(Qwen2.5-VL-3B-Instruct)で自動生成 |
| カメラ名の不統一 | 手動で標準化(OBS_IMAGE_1, OBS_IMAGE_2, OBS_IMAGE_3) |
3.3 Asynchronous inference
従来の問題:
- 同期推論: 行動チャンク全体を実行後に次の観測を取得 → ロボットがアイドル状態に
非同期推論の仕組み:
- RobotClient: 行動キューから消費、閾値条件(|A_t|/n < g)で新観測を送信
- PolicyServer: 観測を受け取り行動チャンクを予測(リモートGPUも可能)
| パラメータg | 動作 |
|---|---|
| g=0(Sequential limit) | チャンク完全消費後に予測、アイドル時間発生 |
| g=0.7(Async) | チャンクの約30%消費後に予測トリガー、バランス良好 |
| g=1(Compute-intensive) | 毎タイムステップで推論、最大応答性だが計算コスト高 |
4 Experiments
4.1 Experimental setup
評価指標: 成功率(SR)
- シミュレーション: タスク完了で1、失敗で0
- 実世界: サブタスク分解(例: Pick-and-Placeで掴み0.5 + 配置0.5)
シミュレーション環境:
| ベンチマーク | タスク数 | データセット規模 |
|---|---|---|
| LIBERO | 40(Spatial/Object/Goal/Long各10) | 1,693エピソード(全タスク合計) |
| Meta-World | 50(Easy/Medium/Hard/Very Hard) | 2,500エピソード(50タスク×50デモ) |
実世界タスク(SO100/SO101):
| タスク | 説明 | 評価 |
|---|---|---|
| Pick-Place | キューブを箱に配置 | 掴み0.5 + 配置0.5 |
| Stacking | キューブを積み重ね | 掴み0.5 + 積み0.5 |
| Sorting | 色別にキューブを仕分け | 各操作0.25 × 4 |
| Pick-Place-Lego(SO101) | レゴブロックを透明箱に配置 | より高精度が必要 |
4.2 Robots
| ロボット | 特徴 | 用途 |
|---|---|---|
| SO100/SO101 | 低コスト、3Dプリント可能、6自由度、位置制御 | 実世界評価 |
| Panda | 7自由度トルク制御、高精度 | LIBEROシミュレーション |
| Sawyer | 4自由度位置制御(位置+グリッパ状態) | Meta-Worldシミュレーション |
4.3 Implementation details
| 項目 | 設定 |
|---|---|
| 事前学習 | 200,000ステップ、バッチサイズ256 |
| 学習率 | 1e-4(100ステップウォームアップ後、コサインスケジュールで2.5e-6まで減衰) |
| 画像サイズ | 512×512 |
| 行動チャンクサイズ | n=50 |
| Flow Matchingステップ | 推論時10ステップ |
| VLM | 凍結(学習時はAction Expertのみ訓練)、最初の16層のみ使用 |
| パラメータ数 | 約4.5億(450M)、うちAction Expert約1億(100M) |
| 計算資源 | 約30k GPU時間(事前学習は4GPU使用、単一GPUでも訓練可能) |
4.4 Baselines
| ベースライン | パラメータ数 | 特徴 |
|---|---|---|
| π0 | 3.3B | VLM + Flow Matching、10,000時間のロボティクスデータで事前学習 |
| ACT | 約80M | CVAE、ResNetエンコーダ、回帰損失で訓練 |
4.5 Main results
シミュレーション評価(LIBERO平均成功率):
| モデル | パラメータ | VLA事前学習 | 成功率 |
|---|---|---|---|
| Diffusion Policy | - | No | 72.4% |
| Octo | 0.09B | Yes | 75.1% |
| OpenVLA | 7B | Yes | 76.5% |
| π0 (Paligemma) | 3B | No | 71.8% |
| π0 | 3.3B | Yes | 86.0% |
| SmolVLA (0.24B) | 0.24B | No | 82.75% |
| SmolVLA (0.45B) | 0.45B | No | 87.3% |
| SmolVLA (2.25B) | 2.25B | No | 88.75% |
※SmolVLAの各サイズは、0.24BはVLM 256M使用、0.45BはVLM 500M(16層)、2.25BはVLM 2B使用
実世界評価(SO100、マルチタスク訓練):
| モデル | Pick-Place | Stacking | Sorting | 平均 |
|---|---|---|---|---|
| π0 | 100% | 40% | 45% | 61.7% |
| SmolVLA (0.45B) | 75% | 90% | 70% | 78.3% |
※論文ではπ0は3.3Bパラメータと記載されており、約7倍大きいモデルとの比較
実世界評価(SO101、シングルタスク訓練、Pick-Place-Lego):
| モデル | In Distribution | Out of Distribution |
|---|---|---|
| ACT | 70% | 40% |
| SmolVLA (0.45B) | 90% | 50% |
※SO101はSmolVLAの事前学習データに含まれていないロボット
事前学習・マルチタスク学習の効果:
| 設定 | 平均成功率 |
|---|---|
| シングルタスク、事前学習なし | 40.0% |
| マルチタスク、事前学習なし | 51.7% |
| マルチタスク、事前学習あり | 78.3% |
4.6 Asynchronous inference
| 推論モード | 平均タスク完了時間 | 60秒間の成功回数(5回平均) |
|---|---|---|
| Sync | 13.75秒(標準偏差2.42) | 合計9回(平均1.8回) |
| Async | 9.70秒(標準偏差2.95、約30%高速) | 合計19回(平均3.8回) |
4.7 Ablation Study
Attention機構の比較(LIBERO):
| Attention機構 | 成功率 |
|---|---|
| CA(Cross-Attentionのみ) | 79.0% |
| SA(Self-Attentionのみ) | 74.5% |
| CA+SA(交互配置、提案手法) | 85.5% |
Self-AttentionのマスクタイプComparison:
| マスクタイプ | 成功率 |
|---|---|
| Bidirectional | 67.5% |
| Causal | 74.5% |
VLMレイヤー数の影響:
| レイヤー数N | 成功率 |
|---|---|
| 8 | 75.0% |
| 16(L/2) | 78.5% |
| 24 | 79.5% |
| 32(全層) | 80.3% |
| Skip %2(1層おき) | 75.5% |
| 小型VLM-256M | 75.8% |
※半分(16層)使用が速度・性能のバランス良好
Action Expertの隠れサイズ:
| Expert幅(VLM次元比) | 成功率 |
|---|---|
| ×1.00 | 82.3% |
| ×0.75 | 77.5% |
| ×0.50 | 80.3% |
| ×0.25 | 73.8% |
学習目的関数:
| 学習目的 | 成功率 |
|---|---|
| Flow Matching | 80.25% |
| Regression (L1) | 75.25% |
状態情報の入力位置:
| 状態入力先 | Attention | 成功率 |
|---|---|---|
| VLM (Prefix) | CA | 80.3% |
| VLM (Prefix) | SA | 53.3% |
| Expert (Suffix) | CA | 73.3% |
| Expert (Suffix) | SA | 74.8% |
行動チャンクサイズ:
| チャンクサイズn | 成功率 |
|---|---|
| 1 | 50.0% |
| 10 | 84.0% |
| 30 | 78.5% |
| 50 | 80.3% |
| 100 | 74.5% |
観測更新頻度(行動実行ステップ数):
| 行動ステップ | 成功率 |
|---|---|
| 1(毎ステップ更新) | 80.3% |
| 10 | 82.8% |
| 30 | 70.8% |
| 50(チャンク全体実行) | 51.8% |
5 Discussion
まとめ:
- コンパクトで効率的なVLAモデルSmolVLAを提案
- 消費者向けハードウェアで動作し、大規模VLAに匹敵する性能
- 非同期推論スタックにより高速な適応と応答性を実現
5.1 Limitations
| 制限 | 詳細 |
|---|---|
| データセット多様性 | 単一ロボットタイプ(SO100)のデータのみで事前学習 |
| データセット規模 | 約23kトラジェクトリ(OpenVLAの約1/40) |
| モデルサイズ | 0.5B未満で効率的だが、スケールアップの検討が必要 |
| VLMバックボーン | 文書読解・OCRタスク向けVLMがロボティクスに最適か不明 |
| タスク複雑性 | 短期間タスクでは競争力あるが、長期間タスクへの拡張が課題 |
| 学習パラダイム | 模倣学習主体、強化学習の探索が今後の課題 |