オンデバイスVLAのメモリと帯域幅の見積もり方
ロボットで動くVLAモデルは、テキストのみのLLMと異なり、推論のたびに複数カメラのビジョントークンを処理し、連続した関節指令(アクションチャンク)を出力します。そのためメモリは重みだけでなくカメラ数・解像度・履歴の長さに応じて増え、推論速度は多くの場合メモリ帯域幅で決まります。
1. 計算式
この計算機はバッチサイズ1のリアルタイムロボット制御を前提に、次の式を使います。
Total_Memory (GB) = Weights + KV_Activation_Buffer + System_Reserve (3.0 GB)
Weights (GB) = Params (B) × Bytes_per_Param
Vision_Tokens = Cameras × Tokens_per_Camera × History_Frames
Bytes_per_Pass (GB) ≈ Weights + 0.5 × KV_Activation_Buffer
Inference_Hz = Control_Hz ÷ Actions_Executed_per_Chunk
Required_Bandwidth (GB/s) = Bytes_per_Pass × Inference_Hz ÷ Efficiency
Max_Inference_Hz (per device) = Bandwidth × Efficiency ÷ Bytes_per_Pass
Bytes_per_ParamはFP16が2.0、FP8が1.0、W8A16が約1.05、W4A16+FP16アクションヘッドが約0.62、NVFP4が約0.56(16値ごとにFP8スケール1つ)です。KV・活性化バッファはビジョントークン数とモデル規模に比例する経験式で推定します。
2. メモリ帯域幅が推論周波数を決める理由
バッチ1の推論は、演算量よりも先にメモリ帯域幅で頭打ちになることがよくあります。推論のたびに重み全体をDRAMから読み直す必要があるためです。したがって機器ごとの最大推論周波数は「帯域幅 × 利用率 ÷ 推論1回あたりの読み出し量」で概算でき、量子化で重みを減らすとメモリ容量と速度の上限が同時に改善します。
3. アクションチャンクと二重ループ構成
アクションチャンクを使うモデルは1回の推論で複数ステップ分のアクションを生成し、制御器がそれを高い周波数で実行します。たとえば制御周波数30Hzでチャンクごとに10ステップ実行するなら、モデルは3Hzで推論すれば足ります。数百Hzの全身制御が必要なヒューマノイドでは、VLAが遅い周期で目標を作り、小さなポリシーが速い周期で関節指令を出す二重ループ構成が使われます。ROS 2のメッセージキューやカメラバッファ用のシステム予備(この計算機では3GBと仮定)も確保し、メモリ不足でロボットが停止しないようにします。
4. エッジAIコンピュータの仕様と推奨構成
ロボットのオンボードコンピュータの多くは、CPUとGPUが同じLPDDRメモリを共有する統合メモリ構成です。下表のメモリ・帯域幅・電力はNVIDIA公式製品ページの値で、推奨構成はこの計算機の既定設定に基づく参考値です。
| ハードウェア | 統合メモリ | メモリ帯域幅 | 電力範囲 | 推奨構成(参考) |
|---|---|---|---|---|
| NVIDIA Jetson Orin Nano Super (8GB) | 8 GB | 102 GB/s | 7–25 W | Octo・SmolVLAなど1B以下のポリシー、またはACT・Diffusion Policy単体 |
| NVIDIA Jetson Orin NX 16GB | 16 GB | 102.4 GB/s | 10–40 W | 3B級(GR00T N1.7・π0)をW4A16で、カメラ2〜3台、チャンク使用 |
| NVIDIA Jetson AGX Orin 32GB | 32 GB | 204.8 GB/s | 15–40 W | 3B級をFP16、または7B級をW4A16で、カメラ3台前後 |
| NVIDIA Jetson AGX Orin 64GB | 64 GB | 204.8 GB/s | 15–60 W | 7B級(OpenVLA)をFP16・FP8、または14B級をW4A16 |
| NVIDIA Jetson T4000 (Thor, 64GB) | 64 GB | 273 GB/s | 40–70 W | 7B級FP16・14B級FP8、帯域幅はT5000と同じ |
| NVIDIA Jetson T5000 (Thor, 128GB) | 128 GB | 273 GB/s | 40–130 W | 14B〜32B級の大型VLA、ワールドモデルとの同時実行 |
5. モデル別サイジングメモ
- Octo-Base (93M)・SmolVLA base (0.5B):重みはFP16でも1GB前後なので、既定のカメラ設定でも8GBボードに収まります。帯域幅に余裕があり、高い制御周波数に向いています。
- Isaac GR00T N1.7 (3B)・π0 (3.3B):FP16の重みは6〜7GB程度です。GR00T公式リポジトリは推論用に16GB級のGPUメモリを案内しているため、16GBボードではW4A16などの量子化とチャンクを併せて検討してください。
- OpenVLA-7B:公式リポジトリによるとbf16推論に約15GBが必要で、KVと予備を加えると16GBボードでは不足します。W4A16に縮小するか、AGX Orin 64GB以上を使ってください。アクションをトークン単位で出力する構造のため、チャンクごとの実行数は1に近い値が現実的です。
- 14B〜32B級:FP16の重みだけで28〜64GBです。32B級をFP16で動かすには128GB(Jetson T5000)が必要で、W4A16なら64GBボードでも検討できます。
- カスタム:一覧にないモデルはパラメータ数を直接入力してください。ビジョンエンコーダとアクションヘッドを含む総パラメータ数を入れないと、メモリが過小評価されます。
6. よくある質問
Q1. 4ビット(W4A16)量子化でロボット動作の精度は落ちませんか?
OpenVLAの論文は、量子化して推論しても評価タスクの成功率が大きく下がらなかったと報告していますが、これはその条件での結果です。連続した関節値を出力するアクションヘッドはFP16に保つ混合精度をまず検討し、自分のタスクでFP16版と量子化版の成功率を同じ条件で比較してください。
Q2. なぜロボットのVLAはテキストLLMよりKVキャッシュが早く増えるのですか?
ロボットは通常2〜4台のカメラを同時に使い、カメラ1台がフレームごとに数百個のビジョントークンを生成します。これに履歴フレーム数が掛かるため、1回の推論でも数千個のトークンがメモリに載ります。
Q3. メモリが足りないときNVMeスワップを使ってもよいですか?
リアルタイム制御ループでは推奨しません。重みやKVキャッシュがSSDに追い出されると数十〜数百msの遅延が発生し、制御周期が崩れてアームの震えやバランス喪失につながるおそれがあります。
Q4. アクションチャンクは必要な帯域幅をどう減らしますか?
モデルが一度に複数ステップのアクションを生成すれば、重い推論は制御周波数よりずっと低い周期で済みます。この計算機では「推論周波数 = 制御周波数 ÷ チャンクごとの実行アクション数」として反映し、必要な帯域幅も同じ比率で下がります。
Q5. 実効帯域幅の利用率の既定値60%の根拠は?
公式の帯域幅は理論上の最大値で、実際の推論ですべて使えることはまれなため、保守的な出発点として60%を仮定しました。実測値ではないので、対象機器で測定した値があればそれに置き換えて計算してください。
Q6. RTXノートやデスクトップGPUが一覧にないのはなぜですか?
一覧には、公式ページでメモリ容量と帯域幅の両方を確認できた機器だけを載せています。帯域幅が公式ページに載っていないGPUは、「自分のハードウェアを追加」にメーカー仕様や実測値を入力して比較してください。
Physical AI Portalの関連記事(英語)
参照した一次資料
- OpenVLA: An Open-Source Vision-Language-Action Model (arXiv:2406.09246)
- π0: A Vision-Language-Action Flow Model for General Robot Control (arXiv:2410.24164)
- NVIDIA Isaac GR00T (GitHub) · SmolVLA base (Hugging Face) · Octo
- NVIDIA Jetson Orin · NVIDIA Jetson Thor
- AWQ: Activation-aware Weight Quantization (arXiv:2306.00978)
データと計算式の最終確認日:2026-10-21 · 運営者:Huni ([email protected])