前言
25年3.26日,這是一個值得紀念的日子,這一天,我司「七月在線」的定位正式升級為了:具身智能的場景落地與定制開發商 ,后續則從定制開發 逐步過渡到 標準產品化
比如25年q2起,在定制開發之外,我司正式推出第一類具身產品(后續更多產品 詳見七月官網):復現各個前沿具身模型的軟硬全套的標準化產品,相當于已幫組裝好的硬件,和對應復現好的程序,包括且不限于ALOHA/RDT/umi/dexcap/idp3/π0,如此軟硬一體標準化的產品,省去復現過程中的
- 各種硬件組裝問題
- 各種算法問題
- 各種工程問題
真正做到:一旦拿來,開箱即用
我司具身落地中,過去半年用π0居多,其次idp3和其他模型,?也是目前國內具身落地經驗最豐富的團隊之一了
- 其中有不少工作便涉及到對具身模型的微調——恍如18-20年期間 大家各種微調語言模型
再之后隨著GPT3、GPT3.5、GPT4這類語言模型底層能力的飛速提升,使得針對語言模型的微調呈逐年下降趨勢 - 但在具身方向,未來一兩年,微調具身模型都是主流方向之一
當然了,隨著具身模型底層能力的越來越強、泛化性越來越好,也早晚會走到如今語言模型這般 微調偏少的地步
且始終保持對具身最前沿技術的溝通,這不,25年2月底,斯坦福的三位研究者
- Moo Jin Kim
OpenVLA的一作 - Chelsea Finn
ALOHA團隊的指導老師,也是RT-2、π0的作者之一,是我過去一兩年下來讀的機器人論文中出現頻率最高的一個人了 - Percy Liang
OpenVLA的作者之一
提出OpenVLA-OFT「paper地址《Fine-Tuning Vision-Language-Action Models: Optimizing Speed and Success》、項目地址、GitHub地址」,在他們的角度上,揭示微調VLA的三大關鍵設計:并行解碼、動作分塊、連續動作表示以及L1回歸目標
第一部分?OpenVLA-OFT
1.1?OpenVLA-OFT的提出背景與相關工作
1.1.1?OpenVLA-OFT的提出背景
???Kim等人[22]提出了OpenVLA通過LoRA進行參數高效的微調。然而,OpenVLA的自回歸動作生成在高頻控制(25-50+ Hz)中仍然過于緩慢(3-5 Hz),并且LoRA和自回歸VLAs的全微調在雙手操作任務中往往表現不佳[51,26,3]
盡管最近的方法通過更好的動作tokenization方案[2,36]提高了效率,實現了2到13倍的加速,但動作塊之間的顯著延遲(例如,最近的FAST方法[36]為750毫秒)仍然限制了在高頻雙手機器人上的實時部署
對此,三位作者使用OpenVLA(一種代表性的自回歸VLA模型)作為基礎模型,將VLA適配到新型機器人和任務中的關鍵設計決策。他們考察了三個關鍵設計選擇并揭示了一些關鍵見解:
- 對于動作解碼方案(自回歸與并行生成)
通過動作分塊的并行解碼不僅提高了推理效率,還改善了下游任務的成功率,同時增強了模型輸入輸出規范的靈活性 - 對于動作表示(離散與連續)
與離散表示相比,連續動作表示進一步提高了模型質量 - 對于學習目標(下一個token預測、L1回歸與擴散)
使用L1回歸目標對VLA進行微調在性能上與基于擴散的微調相當,同時提供了更快的訓練收斂速度和推理速度
基于以上見解,他們引入了OpenVLA-OFT:一種優化微調(OFT)方案的具體實現,該方案結合了并行解碼和動作分塊、連續動作表示以及L1回歸目標,以在保持算法簡單性的同時提高推理效率、任務性能和模型輸入輸出靈活性
他們號稱在標準化的LIBERO模擬基準測試和真實雙手ALOHA機器人上的靈巧任務中進行了實驗
- 在LIBERO中,OpenVLA-OFT通過在四個任務套件中達到97.1%的平均成功率,建立了新的技術標準,超越了微調的OpenVLA策略[22](76.5%)和π0策略[3](94.2%),同時在動作生成中實現了26倍的速度提升(使用8步動作分塊)
- 對于真實的ALOHA任務[53],通過FiLM[35]增強了他們的方案以增強語言基礎能力
1.1.2 相關工作
第一,以往的研究更關注什么呢?其主要關注模型開發
- 利用語言和視覺基礎模型來增強機器人能力,將其用作預訓練的視覺表示,從而加速機器人策略學習 [29-Vip,32-R3m,30-Liv,19-Language-driven representation learning for robotic,31]
在機器人任務中進行物體定位 [9,45]
以及用于高層次的規劃和推理
[1-SayCan,17,42-Progprompt,16-Language models as zero-shot planners: Extracting actionable knowledge for embodied agents,43-Llmplanner: Few-shot grounded planning for embodied agents with large language models,18-Voxposer,6-Manipulate-anything] - 最近,研究人員探索了微調視覺-語言模型(VLMs)以直接預測低級別機器人控制動作,生成“視覺-語言-動作”模型(VLAs)
[4-RT-2,33-Open x-embodiment,23-Vision-language foundation models as effective robot imitators,22-Openvla,7-An interactive agent foundation model,15-An embodied generalist agent in 3d world,8-Introducing rfm-1: Giving robots human-like reasoning capabilities,50-Lingo-2,55-3dvla,51-Tinyvla,3-π0,2-Minivla]
這些模型展示了對分布外測試條件和未見語義概念的有效泛化能力
而三位作者則專注于開發微調此類模型的流程,并通過從實證分析中獲得的見解來驗證每個設計決策的合理性——這是OpenVLA-OFT工作的第一點意義
第二,相比OpenVLA,OpenVLA-OFT優勢是什么呢
- 拒論文稱,盡管微調對于現實世界中的VLA部署至關重要,但關于有效微調策略的經驗分析仍然有限。Kim等人[22]研究了各種參數更新策略,并通過他們的研究發現,LoRA微調能夠有效適應單臂機器人在低控制頻率(<10Hz)下的操作,但OpenVLA的分析并未擴展到雙臂機器人在高控制頻率(25-50+ Hz)下的更復雜控制場景
- 而本次的研究,OpenVLA-OFT通過探索VLA適應設計決策,以實現快速推理和在具有25 Hz控制器的真實雙臂操控器上可靠的任務執行——這是第二點意義
第三,相比π0_FAST(推理慢),OpenVLA-OFT意義在于什么呢
- 盡管π0_FAST通過新的動作tokenization化方案改進了VLA 的效率,使用矢量量化或基于離散余弦變換的壓縮方法,以比簡單的逐維分箱(如RT-2 [4] 和OpenVLA [22] 中使用的)更少的token表示動作塊(動作序列)
- 盡管這些方法為自回歸VLA——π0_FAST 實現了2 到13× 的加速,但三位作者探索了超越自回歸建模的設計決策,而自回歸建模本質上受到迭代生成的限制
最終OpenVLA-OFT的并行解碼方法,與動作分塊結合時,實現了顯著更高的加速:26× 到43× 的吞吐量,同時具有更低的延遲(單臂任務使用一張輸入圖像的延遲為0.07 ms,雙臂任務使用三張輸入圖像的延遲為0.321 ms)
第四,與基于擴散的VLA(訓練慢)相比
盡管這些基于擴散的視覺語言代理(VLA)通過同時生成多時間步的動作塊實現了比自回歸VLA更高的動作吞吐量,但它們在推理時通過較慢的訓練和多個去噪或集成步驟引入了計算權衡
此外,這些擴散VLA在架構、學習算法、視覺語言融合方法以及輸入輸出規范方面差異很大——哪些設計元素對性能影響最大仍不清楚
通過受控實驗,三位作者表明,使用更簡單的L1回歸目標微調的策略可以在任務性能上匹配更復雜的方法,同時顯著提高推理效率
1.2 微調VLA的三大關鍵設計決策
在涉及到微調VLA的三個關鍵設計決策之前,有兩點 需要先特別說明下
首先,三位作者使用 OpenVLA [22] 作為他們代表性的基礎 VLA
- 這是一種通過在 Open X-Embodiment 數據集 [33] 的 100 萬個episodes上對Prismatic VLM [20] 進行微調而創建的 7B 參數操控策略
- OpenVLA的原始訓練公式使用 7 個離散機器人動作token的自回歸預測,每個時間步有
??3 個用于位置控制
? 3 個用于方向控制
? 1 個用于抓手控制
它采用與語言模型類似的「交叉熵損失的下一個token預測」作為其學習目標
其次,先前的研究表明,動作分塊——即預測并執行一系列未來動作而無需中間重新規劃,在許多操作任務中提高了策略的成功率[53-ALOHA ACT, 5-Diffusion policy, 27-Bidirectional decoding]
- 然而,OpenVLA 的自回歸生成方案使得動作分塊變得不切實際,因為即使生成單個時間步的動作,在NVIDIA A100 GPU 上也需要0.33秒
- 對于塊大小為K 個時間步和動作維度為D 的情況,OpenVLA 需要進行KD 次順序解碼器前向傳遞,而無需分塊時僅需D 次。這種K 倍的延遲增加使得在OpenVLA的原始公式下,動作分塊對于高頻機器人來說變得不切實際
在下一節中,三位作者提出了一種并行生成方案,使得高效的動作分塊成為可能
1.2.1?VLA微調設計決策
現有的方法使用基礎模型的自回歸訓練策略微調VLA時面臨兩個主要限制:
- 推理速度較慢(3-5 Hz),不適合高頻控制
- 以及在雙手操作器上的任務執行可靠性不足 [51-Tinyvla,26-Rdt-1b,3-π0]
為了解決這些挑戰,三位作者研究了VLA微調的三個關鍵設計組件:
- 動作生成策略(圖2,左):
比較了需要逐個token順序處理的自回歸生成與同時生成所有動作并支持高效動作分塊的并行解碼 - 動作表示(圖2,右):
對通過基于 softmax 的token預測處理的離散動作(對歸一化動作進行 256 個分箱的離散化)與由多層感知機(MLP)動作頭直接生成的連續動作進行了比較
? 對于離散動作,語言模型解碼器的最終隱藏狀態被線性投影為對數幾率,然后通過 softmax 操作處理,形成動作token的概率分布
? 而對于連續動作,最終隱藏狀態則通過一個單獨的動作頭MLP直接映射到歸一化的連續動作
- 學習目標(圖2,右側)
比較了通過
? 下一個token預測微調離散動作的策略
? L1回歸微調連續動作的策略[53]
? 以及條件去噪擴散微調連續動作的策略[5-diffusion policy](類似于Chi等人[5]的研究)
他們使用OpenVLA [22]作為基礎模型,并通過LoRA微調[14]對其進行適配,這是因為的訓練數據集相對較小(500個示例,相比于預訓練的1百萬個示例)
1.2.2?實現替代設計組件
OpenVLA 最初采用自回歸生成離散動作token,并通過下一個token預測進行優化。三位作者實施了不同的微調設計決策,同時保持原始預訓練不變
第一,并行解碼和動作分塊
與需要按順序token預測的自回歸生成不同
- 并行解碼使模型能夠在一次前向傳遞中將輸入嵌入映射到預測的輸出序列「parallel decoding enables the model to map input embeddingsto the predicted output sequence in a single forward pass」
- 為此,三位作者修改了模型,使其接收空的動作嵌入作為輸入,并用雙向注意力替換因果注意力掩碼,從而使解碼器能夠同時預測所有動作
這將動作生成從D 次順序傳遞減少到一次傳遞,其中D 是動作的維度「This reduces action generation from D sequential passes to asingle pass, where D is the action dimensionality」
此外,并行解碼可以自然地擴展到動作分塊
- 為了預測多個未來時間步的動作,只需在解碼器的輸入中插入額外的空動作嵌入,這些嵌入隨后會被映射到未來的一組動作
- 對于分塊大小為 K 的情況,模型在一次前向傳遞中預測 KD 個動作,吞吐量增加 K 倍,而對延遲的影響極小
雖然從理論上講,并行解碼可能不如自回歸方法那樣具有表現力,但三位作者的實驗表明,在各種任務中均未出現性能下降
第二,連續動作表示
OpenVLA 最初使用離散動作token,其中每個動作維度被歸一化到[?1, +1] 并均勻離散化為256 個區間。雖然這種方法很方便,因為它不需要對底層VLM進行架構修改,但離散化過程可能會犧牲細粒度的動作細節
對此,三位作者研究了連續動作表示,并從突出的模仿學習方法中提取了兩個學習目標
- L1 回歸,該動作頭直接將解碼器最后一層隱藏狀態映射到連續動作值。模型被訓練為最小化預測動作與真實動作之間的平均 L1 差異,同時保持并行解碼的效率優勢并可能提高動作精度
- 其次,受 Chi 等人 [5] 的啟發,他們實現了條件去噪擴散建模
在訓練過程中,模型學習預測在前向擴散期間添加到動作樣本中的噪聲
在推理過程中,策略通過反向擴散逐漸去噪噪聲動作樣本以生成真實動作
雖然這種方法提供了可能更具表現力的動作建模,但它在推理期間需要多次前向傳遞(在三位作者的實現中為 50 次擴散步驟),即使使用并行解碼也會影響部署延遲
第三,額外的模型輸入和輸出
雖然原始 OpenVLA 處理單個攝像頭視圖,但一些機器人設置包括多個視角和額外的機器人狀態信息
故三位作者實現了一個靈活的輸入處理管道:
- 對于攝像頭圖像,三位作者使用 OpenVLA 的雙視覺編碼器提取每個視圖的 256 個patch嵌入,這些嵌入通過共享投影網絡被投影到語言嵌入空間
- 對于低維機器人狀態輸入(例如關節角度和夾持器狀態),三位作者使用單獨的投影網絡將這些映射到與攝像頭圖像相同的嵌入空間——從而作為另一個輸入嵌入
所有輸入嵌入——視覺特征、機器人狀態和語言token——在傳遞給解碼器之前沿序列維度進行連接。這種統一的潛在表示使模型能夠在生成動作時關注所有可用信息
且結合并行解碼和動作分塊,這種架構可以高效處理豐富的多模態輸入,同時生成多時間步的動作,如下圖圖1所示
1.2.3 使用 FiLM 增強 OpenVLA-OFT 的語言基礎能力
當在 ALOHA 機器人設置中部署時,包含來自腕部安裝攝像頭的多個視角,三位作者觀察到由于視覺輸入中的偽相關性,策略可能難以跟隨語言
- 在訓練過程中,策略可能會在預測動作時學習依賴這些偽相關性,而不是正確關注語言指令,導致在測試時無法很好地遵循用戶的命令
- 此外,語言輸入可能僅在任務的特定時刻是關鍵的——例如,在“將X 舀入碗中”任務中,抓住勺子后決定舀取哪種成分,如第 VI 節所述。因此,如果沒有特殊技術,訓練模型適當地關注語言輸入可能特別具有挑戰性
為了增強語言跟隨能力,三位作者采用了特征線性調制(FiLM)[35],它將語言嵌入注入到視覺表示中,以使模型更加關注語言輸入
三位作者計算任務描述中的語言嵌入 x的平均值,并將其投影以獲得縮放和偏移向量γ 和 β。這些向量通過仿射變換調制視覺特征F
一個關鍵的實現細節是選擇什么代表視覺Transformer中用于調制的” 特征”。盡管人們可能自然地考慮將單個patch 嵌入作為需要調制的特征,但三位作者發現這種方法會導致較差的語言跟隨能力
相反,借鑒FiLM 在卷積網絡中的操作方式,其中調制以空間無關的方式通過縮放和偏移整個特征圖來實現,他們將γ 和β 的每個元素應用于所有視覺patch 嵌入中的對應隱藏單元,從而使γ 和β 影響所有patch 嵌入
- 具體來說,這使得γ 和β 成為DV iT維向量,其中DV iT 是視覺patch 嵌入中的隱藏維度數量
- 三位作者在每個ViT塊的自注意力層之后和前饋層之前應用 FiLM,每個塊都有單獨的投影器(見原論文中的圖 8)
更多實現細節請參見附錄 C。他們僅在第 VI 節討論的 ALOHA 實驗中使用 FiLM,在這些實驗中,多個攝像機視角導致視覺輸入中存在更多的虛假相關性
1.3 對VLA微調設計決策的評估
根據原論文,下面將通過旨在回答三個關鍵問題的控制實驗,評估他們提出的 VLA 適配設計決策的效果
- 每個設計決策如何影響微調策略在下游任務上的成功率
- 每個設計決策如何影響模型推理效率(動作生成吞吐量和延遲)
- 替代的微調形式如何影響模型輸入輸出規范的靈活性
1.3.1?LIBERO 實驗設置
在 LIBERO 模擬基準 [25] 上進行評估,該基準包含一個 Franka Emika Panda 機械臂模擬,演示數據包括相機圖像、機器人狀態、任務注釋和末端執行器位姿變化的動作
他們使用四個任務套件——LIBERO-Spatial、LIBERO-Object、LIBERO-Goal 和LIBERO-Long,每個套件提供 10 個任務的 500 個專家演示,用于評估策略在不同空間布局、物體、目標
根據Kim 等人[22] 的方法,他們篩選出不成功的示范,并通過LoRA [14] 獨立地對每個任務集微調OpenVLA
- 針對非擴散方法訓練50 ?150 K 次梯度步
對于擴散方法(收斂較慢)訓練100 ?250 K 次梯度步
并使用跨8 個A100/H100 GPU 的64-128 的批量大小 - 每隔50K 步測試一次檢查點,并報告每次運行的最佳性能。除非另有說明,策略接收一張第三人稱圖像和語言指令作為輸入
- 對于使用動作分塊的方法,將塊大小設置為K = 8,以匹配Diffusion Policy 基線[5],并在重新規劃前執行完整的塊,這一設置被發現可以同時提高速度和性能。超參數的詳細信息見附錄D
1.3.2?LIBERO任務性能比較
為了實現令人滿意的部署,機器人策略必須展示出可靠的任務執行能力
三位作者首先評估不同的VLA微調設計決策如何影響LIBERO基準測試中的成功率。根據效率分析顯示,并行解碼PD和動作分塊AC對于高頻控制(25-50+ Hz)是必要的,特別是對于具有雙倍動作維度的雙臂機器人
因此,他們評估了同時使用這兩種技術的OpenVLA策略,并比較了使用離散動作、帶L1回歸的連續動作以及帶擴散的連續動作的變體
下表表I的結果顯示
- 并行解碼和動作分塊不僅提高了吞吐量,還顯著提升了性能,使得自回歸OpenVLA策略的平均成功率絕對提高了14%。這一改進在LIBERO-Long中尤為顯著,這表明動作分塊有助于捕獲時間依賴性[27]并減少復合錯誤[39],最終導致更平滑和更可靠的任務執行
- 此外,談發現使用連續動作變體相較于離散動作變體,成功率進一步提高了 5%(絕對值),這可能是由于動作預測的精度更高所致
- L1回歸和擴散變體表現相當,這表明高容量的OpenVLA模型即使使用簡單的L1回歸也能有效建模多任務動作分布
1.3.3?LIBERO 推理效率比較
高效的推理對于在高頻控制機器人上部署 VLAs 至關重要。故原論文中評估了并行解碼(PD)、動作分塊(AC)和連續動作表示如何影響模型推理速度
- 他們通過在 NVIDIA A100 GPU 上對每種模型變體進行 100 次查詢來測量平均延遲(生成一個機器人動作或動作塊所需的時間)和吞吐量(每秒生成的總動作數)
- 每次查詢處理一個 224 x 224 像素的圖像和一個示例 LIBERO 語言指令(“拾起alphabet soup并將其放入籃子中”)
下表表II 中的結果表明
- 通過將策略中解碼器部分的 7 次順序前向傳遞替換為單次傳遞,并行解碼將延遲降低了 4 倍,并將吞吐量提高了 4 倍
Results in Table II show that parallel decoding reduces latency and increases throughput by 4× by replacing 7 se-quential forward passes through the decoder portion of the policy with a single pass - 添加動作分塊(K = 8)會使延遲增加 17%,這是由于解碼器中的注意力序列變長所致,但當與并行解碼結合使用時,它能顯著提高吞吐量,比基準 OpenVLA 快 26 倍
- 帶有 L1 回歸的連續動作變體在效率方面幾乎沒有差異,因為額外的 MLP 動作頭僅增加了極少量的計算量
擴散變體需要50個去噪步驟,因此延遲增加了3倍。然而,通過并行解碼和分塊,它的吞吐量仍然比基線OpenVLA高出2倍
這意味著盡管動作塊之間的暫停時間更長,擴散變體仍然比原始自回歸變體更快地完成機器人操作周期
1.3.4?模型輸入輸出的靈活性
// 待更