將機器人 AI 導入嵌入式平台:數據集錄製、VLA 微調與裝置端優化
將機器人 AI 導入嵌入式平台:數據集錄製、VLA 微調與裝置端優化
大型語言模型(LLM)的最新進展已實現了從純文本推理到多模態系統的轉變。首先是透過視覺語言模型(VLM)整合視覺感知,近期則發展到透過視覺-語言-動作(VLA)模型生成機器人動作。然而,由於運算、記憶體和功耗的嚴格限制,以及實時控制的需求,在嵌入式機器人平台上部署這些模型仍然是一項挑戰。
在同步控制管線中,當 VLA 進行推理時,機械臂處於閒置狀態等待指令,這會導致動作震盪和延遲修正。為了改善這一點,非同步推理可以透過將生成與執行分離,實現平滑且連續的運動。然而,要使其奏效,端到端的推理延遲必須短於動作執行時間。因此,這種時間限制設定了模型吞吐量的上限。
將 VLA 模型導入嵌入式平台不僅僅是模型壓縮的問題,而是一個複雜的系統工程問題,需要架構分解、延遲感知調度以及硬體對齊執行。解決這些挑戰對於將多模態基礎模型的最新進展轉化為實用且可部署的嵌入式機器人系統至關重要。
本指南介紹了 NXP 在錄製可靠機器人數據集、微調 VLA 策略(ACT 和 SmolVLA)方面的實踐經驗,並重點展示了 NXP i.MX95 在優化後實現的實時性能。
🎥 數據集錄製:真正關鍵的要素
高質量、一致的數據優於「量大但雜亂」的數據。本節將辛苦換來的教訓轉化為具體的檢查清單和方案。
在我們的案例中,我們為「將茶包放入馬克杯」的任務錄製了數據集。
1) 一致性優先
2) 使用夾爪攝影機(強烈推薦)
從僅有場景視角轉向混合視角可以提高全局準確度,但攝影機越多,延遲受到的影響就越大。因此,您必須選擇正確的折衷方案。在我們的案例中,使用 3 台攝影機達到了平衡:
我們強烈建議使用安裝在夾爪上的攝影機。它透過提供近距離、與任務相關的視角,能持續提高精細操作任務的成功率。重要的是,它也是最能有效強制執行正確數據收集實踐的攝影機,讓操作員可以完全依賴機器人的感知,而不是直接觀察場景。
安裝夾爪攝影機時,我們建議使用魔鬼氈或應力消除導引件固定線纜,以防止其遮擋視線或在運動過程中脫落。
3) 改善抓取力
簡單的硬體調整(如在夾爪爪部套上熱縮管)可以增加摩擦力、減少粗糙度、降低操作過程中的滑動,並提高任務成功率(減少「幾近成功」的情況),從而提高策略學習的穩定性。
4) 多樣性與劃分
錄製數據集時,您應該:
多樣化片段分佈:將工作空間劃分為起始位置集群(clusters),每個集群至少錄製 10 個片段。透過改變物體的位置和旋轉來增加多樣性。
例如:我們將機器人手臂可達的工作空間劃分為 11 個集群,每個集群大小為 10 × 10 公分。
區分訓練集與驗證集:策略很容易在訓練集上過擬合,因此請確保驗證集是模型未見過的。
例如:我們從訓練集中移除了第 6 號集群。
盡可能錄製多種動作:小型 VLA 模型在未見過的動作上泛化能力有限。因此,錄製涵蓋更廣自由度範圍的片段。
例如:我們以水平或垂直位置抓取茶包。
預期失敗:有時策略第一次無法觸及物體,必須「重新嘗試」。我們注意到,若有 20% 的片段對應於重新嘗試物體的情況,有助於提高模型的整體成功率。
例如:我們訓練集中約有 20% 是恢復(recovery)片段。
這反映了 VLA 論文和社群指南中的最佳實踐。以下是同一集群內數據多樣性的 3 個示例:
起始位置 1 和 2 對應於同一集群內的不同位置。相比之下,在恢復片段中,機器人不從「起始模式」開始,而是已經在馬克杯附近,應直接從該位置取回茶包。
🎛️ 微調 VLA
我們的實際做法:
對於 ACT(每塊 100 個動作),在 10 萬至 16 萬個訓練步驟內,找到了訓練集和驗證集在準確度、泛化能力和動作平滑度之間的最佳平衡點。
對於 SmolVLA 訓練(每塊 50 個動作),這種平衡出現在更多的訓練步驟之後。我們發現,在模型開始過擬合後稍微繼續訓練,往往能提高整體準確度。
經驗法則:透過評估訓練集和驗證集的成功率來選擇最終檢查點(checkpoint),而不是根據訓練損失(loss)。
⚡ 為 NXP i.MX95 進行優化
i.MX95 整合了 6× Arm Cortex-A55、Cortex-M7/M33、Mali GPU、新型 ISP 以及 eIQ® Neutron NPU,旨在實現高效、安全的邊緣推理,並支援多攝影機和強大的 I/O。[nxp.com]
1) 分而治之
我們不將模型作為單一的整體圖(monolithic graph)運行,而是將 VLA 圖分解為邏輯階段:編碼器、解碼器和動作專家(action experts)。因此,每個組件都可以獨立進行優化、調度和部署。
在實踐中,SmolVLA 被劃分為以下子模塊:
這種分離允許針對每個區塊進行優化。可以測量每個區塊量化的影響,以選擇延遲與準確度之間的最佳平衡。此外,將動作專家與 VLM 分離,非常適合以較低頻率運行。
2) 量化
為了優化 i.MX95 的推理,我們在不同區塊上探索了多種量化技術。我們發現量化視覺編碼器和 LLM prefill 對準確度的影響有限,而動作專家中的去噪流(denoising flow)量化會顯著降低性能。
這種現象是預料之中的,因為量化誤差會在迭代去噪步驟中累積。
這就是為什麼我們決定讓該區塊保持較高精度以維持穩定性,而在其他區塊上,我們根據層的不同探索了各種量化配置,從 8 位元混合精度到 4 位元量化。
此外,我們對不同區塊應用了內部優化。結果顯示在下表中,稱為優化模型。
3) 非同步推理:控制感知調度
在同步控制迴路中,管線運作如下:
在步驟 (2) 期間,機器人保持閒置。如果推理延遲不可忽略,這會產生:
使用非同步推理,動作生成與執行並行運行:
這增加了有效控制頻率,減少了觀測陳舊性,並改善了恢復行為。
在 i.MX95 等嵌入式平台上,非同步推理至關重要——但前提是推理延遲必須控制在動作時界預算內:$T_{\text{inference}} < T_{\text{execution}}$
📊 我們在 i.MX95 上取得的成果
*設置
"拿起茶包並放入馬克杯中。"
⏩ 下一步
我們的近期目標是提高 SmolVLA (ONNX FP32) 的任務準確度。我們已經建立了基準,並測得優化後的裝置端推理延遲為 6.15 秒。
下一階段將集中在對我們的 NPU 進行更深層次的優化。與此同時,我們旨在從單任務設置轉向更長時程和更複雜的場景。為此,我們將引入:
目標是從單一驗證的操作任務轉向在嵌入式機器人系統上部署 VLA 策略的可重複方法論。
✅ 您可以複用的檢查清單
錄製
訓練
在 i.MX95 上部署
📚 資源與靈感
社群
· 註冊或登入以發表評論