--- license: apache-2.0 base_model: lerobot/pi0 pipeline_tag: robotics tags: - mlx - robotics - vla - lerobot - pi0 --- # pi0-mlx Physical Intelligenceのロボット基盤モデル [π0](https://huggingface.co/lerobot/pi0)(PaliGemma 3B + アクションエキスパート・Vision-Language-Action)のApple Silicon(MLX)移植です。カメラ画像・言語指示・関節状態から50手先までのアクションチャンクをflow matchingで生成します。 | 実行系 | 1チャンク(50手)生成 | ピークメモリ | |---|---|---| | **本移植(MLX・bf16)** | **522ms** | 8.0GB | | PyTorch MPS(参照実装) | 660ms | | | PyTorch CPU(参照実装) | 2,395ms | | 同一入力・同一ノイズでPyTorch参照実装(lerobot main / openpi直系)とコサイン類似度0.99993(bf16、fp32重みでは1.00000)の出力一致を検証済みです。プレフィル→エキスパートがキャッシュへ毎層アテンションする二相構造、Gemma固有の正規化((1+w)RMSNorm)・GeGLU・言語埋め込みの√widthスケーリングまで参照実装を忠実に再現しています。 ## 使い方 トークナイザは上流(lerobot)と同じくgoogle/paligemma-3b-pt-224を参照します。Hugging FaceでGemma利用規約に同意し、`hf auth login`してから実行してください。 ```bash pip install mlx-vlm pillow transformers hf download tokimoa/pi0-mlx --local-dir pi0-mlx ``` ```python from pi0_mlx import Pi0MLX model = Pi0MLX.from_pretrained("pi0-mlx") actions = model.predict( images=[cam0, cam1, cam2], # HWC uint8(1〜3カメラ) instruction="pick up the cube", state=[0.1, -0.2, 0.3, 0.0, 0.5, 0.0], ) # -> (50, len(state)) アクションチャンク ``` CLIでも動きます。 ```bash python pi0-mlx/pi0_mlx.py --images cam0.png cam1.png cam2.png \ --instruction "pick up the cube" --state 0,0,0,0,0,0 ``` ## 位置づけ π0はベースモデルであり、実タスクへの適用には手元のロボットでのファインチューニングが前提です。学習は[LeRobot](https://github.com/huggingface/lerobot)で行い、Mac上での推論・検証・デモに本移植を使う構成を想定しています。同一アーキテクチャのFT済み重みは`model.safetensors`を差し替えれば動きます。前処理(224pxアスペクト維持リサイズ・言語トークナイズ・状態パディング)はランタイムに内蔵しています。 同シリーズ: [smolvla-mlx](https://huggingface.co/tokimoa/smolvla-mlx)(450M・軽量版のVLA移植) ## ライセンス Apache-2.0(ベースモデルlerobot/pi0のライセンスを継承) --- Developed by [tokimoa](https://tokimoa.jp)