25年6月來自上海交大、哈工大、西安交大和電子科大(成都)的論文“EfficientVLA: Training-Free Acceleration and Compression for Vision-Language-Action Models”。
視覺-語言-動作 (VLA) 模型,特別是基于擴散的架構,展現出具身智能的變革潛力,但卻受到大量固有冗余和推理時間冗余導致的高計算和內存需求的嚴重阻礙。雖然現有的加速工作通常針對孤立的低效率問題,但這種零碎的解決方案通常無法整體解決整個 VLA 流程中的各種計算和內存瓶頸,從而限制了實際部署。EfficientVLA,是一個結構化、無需訓練的推理加速框架,它通過整合利用多方面的冗余來系統地消除這些障礙。EfficientVLA 協同集成了三種有針對性的策略:(1)在層間冗余分析的指導下,從語言模塊中修剪功能上不重要層;(2)通過任務-覺察策略優化視覺處理路徑,該策略選擇一組緊湊、多樣化的視覺tokens,在任務關鍵性和信息覆蓋率之間取得平衡; (3)通過策略性地緩存和重用關鍵中間特征,減輕基于迭代擴散動作頭中的時間計算冗余。該方法應用于標準 VLA 模型 CogACT,推理速度提高 1.93 倍,FLOP 降低到 28.9%,而在 SIMPLER 基準測試中成功率僅下降 0.6%。
如圖所示VLA 推理瓶頸和冗余分析:(a)可視化 token 剪枝對 FLOPs 和推理時間的影響,揭示了計算受限和內存受限的情況。(b)LLM 隱狀態的層間余弦相似性較高,表明存在深度冗余。(c)擴散步驟中 MLP/注意特征的時間余弦相似性,表明存在計算冗余。
準備工作:視覺-語言-動作模型
視覺-語言-動作 (VLA) 模型代表一類多模態系統,旨在連接感知、語言理解和機器人動作。這些模型通常通過一系列專門的模塊處理圖像觀測和自然語言指令,以生成可執行的動作序列。基本 VLA 模型的初始階段采用視覺模塊,該模塊包含強大的預訓練編碼器 DINOv2 [35] 和 SigLIP [36],用于將原始視覺輸入 O_img 轉換為一組豐富的特征嵌入 F_V。這些視覺特征 F_V 以及token化的語言指令隨后被語言模型主干網絡接收。該 LLM 執行多模態融合和上下文推理,以導出面向任務的表征或條件信號 F_V L,它封裝了對場景和指令目標的理解。最后,基于擴散的動作頭將從輸出特征 F_V L 中提取的認知特征作為輸入,并預測具有 7 個自由度 (DoF) 的夾持器最終動作空間。
如圖所示EfficientVLA 框架概述,這是為加速基于擴散的 VLA 而提出的無訓練結構化方法。它采用以下方法:(1) 修剪冗余的語言模塊層;(2) 基于 VLA 任務感知的視覺 token 選擇,平衡任務相關性和信息多樣性;(3) 在擴散動作頭中對中間特征進行時間緩存。
視覺-語言模型剪枝
層冗余分析
VLA 模型中的語言模塊(通常為多層 Transformer 解碼器)對于多模態推理至關重要,但通常會帶來大量的計算開銷。這種 Transformer 中的每一層 l 都會通過殘差變換更新其輸入隱藏狀態 x(l):x(l+1) = x(l) + f(x(l), θ(l)),其中 f(·) 是特定于層的函數,參數為 θ(l),d 是隱藏層維度,S 是序列長度。實證分析(如上圖 (b) 所示)揭示了該語言模塊組件在深度方向上存在顯著的表征冗余。具體而言,對于許多層(尤其是較深的層),輸入 x(l) 和輸出 x(l+1) 狀態之間存在較高的余弦相似度。這表明這些層賦予的有效變換 f(x(l), θ(l)) 很小,因此它們的功能不太重要,是進行剪枝以提高推理效率的主要候選,同時對任務性能的影響可以忽略不計。
重要性-驅動的非連續層剪枝
為了解決 VLA 模型語言模塊中已發現的深度冗余問題,首先嚴格量化每層的功能重要性。其方法旨在識別對隱狀態表示變換貢獻最小的層,并將其作為剪枝的候選。根據以下原則為給定層 l 定義重要性得分 I(l):對其輸入產生重大影響的層,比輸出與其輸入緊密相關的層更為重要。具體而言,I(l) 量化為, 1 減去其在一個 VLA 訓練樣本的代表性數據集 D 上每個樣本的所有 L 個 token 位置上輸入和輸出隱狀態之間平均余弦相似度:
一個高余弦相似度表明一個層函數 f(x(l), θ(l))的最小變換效果,造成重要性得分 I(l) 較低,表明存在功能冗余。
基于這些重要性得分,采用一個非連續的剪枝策略。對于包含 N 層的 LLM,計算每一層 l ∈ {1, …, N } 的重要性得分 I(l)。然后按升序對這些得分進行排序,得到一個有序的層索引列表 L_ranked = [l_(1), l_(2), …, l_(N)],并且 I(l_(1)) ≤ I(l_(2)) ≤ · · · ≤ I(l_(N))。隨后,從該列表 {l_(1), l_(2), …, l_(n)} 中選擇前 n 層從模型中刪除。
任務-相關性和多樣性-驅動的視覺 token 剪枝
VLA 模型處理的視覺 tokens 流盡管信息內容豐富,但經常表現出明顯的冗余,從而帶來巨大的計算和內存開銷。這種冗余通常表現為兩種主要形式:(i) 與特定 VLA 任務目標相關性較低的 tokens;(ii) 由于輸入中固有的視覺相似性而導致信息重復的 tokens。為了抵消這些不同形式的冗余,引入一種無需訓練的、基于 VLA 任務-覺察的視覺 token 剪枝方法。其方法策略性地蒸餾出一個緊湊但信息量最大化的視覺 token 子集 V_pruned ? V,其大小為 K_final(從輸入圖像中派生出的初始 N_total 個 token 嵌入 V = {v_1, v_2, …, v_N_total })。實現這一目標的方法是:首先,將選擇錨定在通過注意分析識別出的任務關鍵型 tokens 上;然后,通過合理地平衡持續的任務相關性與通過相似性度量明確提升特征多樣性,從而擴充這一核心集。
量化任務相關性
為了指導視覺 token 剪枝,利用來自選定 VLM 層的交叉注意得分,量化每個初始視覺 tokens v_i(來自一組 N_total)的任務相關性。這些得分捕捉 v_i 對 L_ctx 任務定義上下文嵌入(例如,語言指令)的注意。
令 A(h)_i,j 表示從視覺 token v_i 到第 h 個注意頭(總共 H 個頭)中第 j 個上下文 token 的注意。計算 v_i 的原始任務相關性得分 r_i 的方法是:首先對每個視覺-上下文對 (i, j) 的所有 H head 注意貢獻進行平均,然后將所有 L_ctx 個上下文元素的平均注意相加:
這些原始得分 r_i 表示每個 token 與任務上下文的整體參與度,隨后將其歸一化(例如,通過最小-最大規模化)為標準化得分 s_i ∈ [0, 1],以便進行穩健比較和后續的 token 選擇。
關鍵任務相關 token 的選擇
基于歸一化的任務相關性得分 {s_i},剪枝的第一階段會確定一組與 VLA 任務相關性最高的 K_key 個視覺 token(例如,經驗性地設置 K_key 在 4 到 8 之間)。這些 token 構成核心且不可或缺的視覺 token 集 V_key:
V_key = {v_i ∈ V | s_i 在 {s_k}Ntotal_k+1 中 K_key 得分最高的}
V_key 中的 token 無條件地保留在 V_pruned 中,構成對任務理解和成功執行至關重要的視覺線索基礎框架。剩余的候選 token 集合(需進一步考慮)表示為 V_rem = V \ V_key。
增強平衡相關性與多樣性的選擇
為了補充核心集 V_key 并達到目標最終 token 數 K_final,需要從 V_rem 中精心挑選額外的 K_aug = K_final ? K_key 個 tokens。這一關鍵的增強階段由 α ∈ [0, 1] 比率引導,該比率協調一種混合選擇策略,既能持續強調任務相關性,又能引入信息多樣性。
任務-驅動增強。增強配額的一部分,即 K_task = |α·Kaug| 個tokens,是通過進一步根據 tokens 的高任務相關性得分 s_i 進行優先級排序,從 V_rem 中選出的。V_task 通過合并額外的 tokens(雖然不屬于初始 K_key 精英,但仍表現出強相關性信號)來強化剪枝表征以任務為中心的特性。這些 tokens 被添加到選擇中,并更新剩余候選池:V_rem ← V_rem \ V_task。
多樣性驅動的增強。從更新后的 V_rem 中選擇剩余 K_div = K_aug ? K_task 個 token,其明確目標是最大化相對于關鍵選定 token 的特征多樣性。此步驟對于捕獲更廣泛的視覺信息并減少僅靠任務相關性無法解決的固有冗余至關重要。對于每個候選 token v_j ∈ V_rem,計算其與集合 V_key 的差異度。一個常用的度量是余弦距離,以確保所選 token 在嵌入空間中互不相同:
從 V_rem 中選擇差異度得分最高的 K_div 個 token(即與已選定 token 差異最大的 token),組成集合 V_div。這種有針對性地納入多樣化 token 的做法,確保最終選擇不會過于專業化,并保留了更豐富的上下文理解。
最終修剪后的視覺 token 集。修剪后保留的完整視覺 tokens 集是這些策略性選擇的組件的并集:
V_pruned = V_key ∪ V_task ∪ V_div
最終集合 V_pruned 的基數為 K_final,隨后將用于 VLA 模型中的所有下游處理。這種視覺序列長度的系統性縮短顯著降低了計算需求,同時保留了關鍵任務特定且多樣化的視覺信息。
動作預測中的中間特征緩存
使用基于擴散的 VLA 模型生成高保真動作序列涉及一個迭代去噪過程,由于在 T 個時間步上重復進行自注意和多層感知器 (MLP) 計算,該過程需要大量計算。動作生成過程中產生的中間特征具有很強的時間一致性(上圖 ?),這表明跨時間步存在大量冗余。為了解決這種低效率問題并加速動作生成階段,提出一種靜態緩存機制。該策略會以固定間隔 N 定期重計算并緩存關鍵的中間注意和 MLP 輸出,并在動作序列生成的中間時間步中重復使用這些緩存值。這種選擇性計算旨在顯著降低與生成動作序列相關的計算成本,同時保持其質量。
DiT 塊中的特征生成和時間一致性
令 t 表示當前去噪時間步長,通常從初始 T_start 向下迭代至 1。在每個 DiT 塊中,在時間步長 t 處,輸入特征 z_t(可能包含來自上游 VLM 模塊的認知特征 f_t 和當前噪聲估計)依次由自注意模塊和多層感知器 (MLP) 模塊處理,以生成中間隱藏狀態:
hattn_t = Self-Attn(z_t)
hmlp_??t = MLP(hattn_t + z_t)
這些特征 hattn_t 和 hmlp_??t 是擴散模型去噪能力的基礎。它們具有高度的時間一致性——對于許多 t 和模塊類型,hmodule_t ≈ hmodule_t-1——這促使它們被定期緩存和重用。
靜態 N 步緩存實現
定義一個緩存區間 N (1 ≤ N < T_start)。在初始時間步 t = T_start,計算特征 hattn_T_start 和 h^mlp_T_start,并將其存儲在持久緩存中,分別記為 C_attn 和 C_mlp。對于任何后續時間步 t < T_start,當且僅當 t (mod N ) = 0 時,才會重新計算這些特征并更新緩存(假設 t > 0 且 t 與所需的緩存倍數一致,例如 T_start、T_start ? N、T_start ? 2N,…)。因此,對于這樣的重新計算時間步:
C_attn ← Self-Attn(z_t)
C_mlp ← MLP(C_attn + z_t)
此步驟的輸出為 hattn_t = C_attn 和 hmlp_??t = C_mlp。在所有其他時間步中,當 t (mod N) ?= 0 時,計算密集型的 Self-Attn 和 MLP 操作將被完全繞過。
相反,所需的特征會直接從最近填充的緩存中檢索:
hattn_t ← C_attn(當 t (mod N) ?= 0 時)
hmlp_??t ← C_mlp(當 t (mod N) ?= 0 時)
此靜態緩存調度有效地減少初始化后每 N 個時間步中 N - 1 個核心模塊的執行,從而顯著減少 VLA 動作生成組件的浮點運算和延遲。N 的選擇允許在加速度和生成動作的保真度之間進行可調整的權衡,因為如果底層表示快速變化,則較長時間間隔內重復使用特征可能會引入輕微的偏差。
實驗設置
模擬實現細節。為了評估 VLA 模型,利用 SIMPLER 環境 [23],這是一個基于模擬的桌面操作基準測試。SIMPLER 旨在緊密模擬 Google 機器人和 WidowX 等機器人的真實世界動態,展現了模擬結果與真實世界性能之間的穩健一致性。此設置中的 VLA 模型以 224×224 的 RGB 圖像觀測值和自然語言任務指令(例如“拾取可樂罐”)作為輸入,并在 7 自由度笛卡爾空間中輸出一系列動作。SIMPLER 支持兩種評估配置:視覺匹配(優先考慮與真實世界外觀的逼真度)和變體聚合(融合多種條件,例如光照、背景和表面紋理的變化)。對于 Google 機器人,SIMPLER 提供兩種評估設置,每種設置都包含相同的四項任務:1) 拾取可樂罐;2) 靠近; 3) 打開/關閉抽屜;以及 4) 打開頂部抽屜并放置蘋果。成功率作為評估指標。
基準。對 EfficientVLA 的主要實驗驗證是在 CogACT [37] 上進行的,它集成強大的視覺編碼器(DINOv2 [35] 和 SigLIP [36])、用于多模態推理的 Llama2-7B [15] 語言模塊以及用于生成動作軌跡的擴散 transformer (DiT)。以相關的基準方法為基準,其中包括一種隨機丟棄方法,其中 112 個視覺 token 被均勻地隨機保留,以評估引導式視覺 token 修剪的優勢。進一步將其與 FastV [38](一種著名的方法,專注于通過修剪冗余視覺 token 來加速推理)和 VLA-Cache [22](利用時間分析跨時間步緩存靜態 token)進行比較。
實現細節。對于 EfficientVLA,除了層修剪之外,還采用 PruneNet [39] 配置進行 LLM 壓縮,進一步壓縮模型參數。具體而言,對所有 Transformer 模塊的 MLP 層應用 25% 的稀疏度。對于視覺 token 修剪,從第二層 Transformer 層開始,對于關鍵任務 token,其比例 α = 50%,K_key = 4。此外,緩存間隔設置為 5。所有實驗均在 NVIDIA A40 GPU 上進行,推理時間以平均單步推理時長來衡量。
SIMPLER 環境
SIMPLER 模擬環境是評??估 VLA 模型的主要基準。它經過專門設計,能夠緊密反映現實世界的機器人設置,從而促進更真實的評估,并彌合真實與模擬之間的控制和視覺差距。
SIMPLER 提供兩種不同的評估設置:
? 視覺匹配 (VM):此設置通過最小化模擬環境與真實環境之間的差異,優先考慮真實世界外觀的保真度,從而緊密復制真實世界的任務。
? 變型聚合 (VA):此設置以視覺匹配為基礎,通過引入背景、光照、干擾項和桌面紋理等元素的變化,挑戰模型在不同條件下的泛化能力。
對于谷歌機器人設置,SIMPLER 提供兩種評估設置,每種設置都包含相同的四項任務:1) 拾取可樂罐;2) 靠近;3) 打開/關閉抽屜;4) 打開頂部抽屜并放置蘋果。