如何估算裝置端 VLA 的記憶體與頻寬
與純文字 LLM 不同,機器人上的 VLA 模型每次推論都要處理多台攝影機的視覺 token,並輸出連續的關節指令(動作分塊)。因此記憶體不只隨權重增加,也會隨攝影機數量、解析度與歷史長度增加,而推論速度通常受記憶體頻寬限制。
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 個值配 1 個 FP8 縮放因子)。KV/激活緩衝以與視覺 token 數及模型規模成正比的經驗公式估算。
2. 為什麼記憶體頻寬決定推論頻率
批次大小為 1 的推論,常常先受限於記憶體頻寬而非運算量,因為每次推論都必須從 DRAM 重新讀取全部權重。因此裝置的最大推論頻率可近似為「頻寬 × 使用率 ÷ 每次推論讀取量」,而透過量化減少權重,可同時改善記憶體容量與速度上限。
3. 動作分塊與雙迴路控制
使用動作分塊的模型一次推論產生多步動作,再由控制器以較高頻率執行。例如在 30Hz 控制下每個分塊執行 10 步,模型只需以 3Hz 推論。需要數百赫茲全身控制的人形機器人通常採用雙迴路: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 以上。由於它以 token 形式輸出動作,每個分塊執行數設為接近 1 較符合實際。
- 14B~32B 級:光是 FP16 權重就有 28~64GB。以 FP16 執行 32B 級模型需要 128GB(Jetson T5000);改用 W4A16 後可考慮 64GB 開發板。
- 自訂:清單中沒有的模型請直接輸入參數量。請填入包含視覺編碼器與動作頭的總參數量,否則記憶體會被低估。
6. 常見問題
Q1. 4 位元(W4A16)量化會降低機器人動作精度嗎?
OpenVLA 論文指出,量化後部署在其評測任務中的成功率沒有明顯下降,但這只是該條件下的結果。建議先採用讓輸出連續關節值的動作頭維持 FP16 的混合精度,並在自己的任務中以相同條件比較 FP16 與量化版本的成功率。
Q2. 為什麼機器人 VLA 的 KV 快取比文字 LLM 成長得更快?
機器人通常同時使用 2~4 台攝影機,每台攝影機每個影格會產生數百個視覺 token。再乘上歷史影格數,單次推論就可能在記憶體中保留數千個 token。
Q3. 記憶體不足時可以使用 NVMe 置換空間嗎?
即時控制迴路不建議這麼做。一旦權重或 KV 快取被置換到 SSD,就會出現數十到數百毫秒的延遲尖峰,破壞控制週期,可能導致手臂抖動或失去平衡。
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])