language: - ja tags: - lerobot - smolvlm - vla - robotics - libero - pytorch - utokyo - matsuo-lab license: apache-2.0
SmolVLA (PyTorch Custom Implementation) for LIBERO-Spatial
東京大学 松尾・岩澤研究室「Physical AI 基礎編 2026」最終課題 (Basic) 提出用モデル
このモデルは、東京大学 松尾・岩澤研究室が主催する「Physical AI 基礎編」講座 の最終課題(Basic)として、PyTorchのフルスクラッチで実装・学習された SmolVLA (Vision-Language-Action) モデルです。
概要 (Overview)
- タスク: LIBERO-Spatial (ロボットマニピュレーションのシミュレーション環境)
- ベースアーキテクチャ: SmolVLA (HuggingFace, 2025) を簡略化した PyTorch 実装
- Vision-Language Model (VLM):
HuggingFaceTB/SmolVLM2-500M-Video-Instruct(凍結) - Action Head: Transformer ベースの Flow Matching モジュール (Trainable)
- 学習方法: LoRA 等を使用せず、数Mパラメータの Action head のみをフルスクラッチ学習
学習ハイパーパラメータ (Training Configuration))
このモデルは、限られたリソースと短い学習ステップでパイプライン(学習〜評価)が正常に機能することを目的として構成されています。実用的な成功率を目的としたものではありません。
- Training Episodes: 50 (LIBERO-Spatial の 10タスク × 5エピソード)
- Training Steps: 300 steps
- Batch Size: 1
- Peak Learning Rate: 3e-4 (Linear Warmup + Cosine Decay)
- Chunk Size: 8
- Transformer Layers (Action Head): 4
- Transformer Hidden Dim: 256
- Attention Heads: 8
モデル構造の特徴 (Architecture Highlights)
本モデルは、LeRobot 公式の smolvla_libero_plus をベースにしつつ、教育目的・計算資源の制約に合わせて以下の簡略化を行っています。
- VLM の完全凍結:
SmolVLM2-500Mを特徴抽出器として凍結利用。 - 位置埋め込み: RoPE の代わりに Learnable Absolute Embedding を採用。
- アテンション構造: Q/K/V/O を独立した Linear 層として定義し、すべての層で Self-Attention + Cross-Attention を実行。
- 単一カメラビュー: Front カメラのみを入力として使用。
使用方法 (How to Use)
このリポジトリの .ipynb ファイルを実行することで、以下のフローを確認できます。
LeRobotDatasetからの LIBERO データの取得・前処理- PyTorch ベースの SmolVLA 構築
- Action head のスクラッチ学習 (Flow Matching)
- MuJoCo / LIBERO-plus 環境での推論 (Rollout) および mp4 生成
# 環境の準備と推論の実行は、添付の Jupyter Notebook を参照してください。
# `最終課題(Basic)_masked.ipynb` を Google Colab 等で実行可能です。
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support
