EfficientVLA:面向視覺-語言-動作模型無訓練的加速與壓縮

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) 打開頂部抽屜并放置蘋果。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/85585.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/85585.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/85585.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

wireshark抓包分析TCP數據包

1、直接從TCP的三次握手開始說起 三次握手就是客戶與服務器建立連接的過程 客戶向服務器發送SYN(SEQ=x)報文,然后就會進入SYN_SEND狀態服務器收到SYN報文之后,回應一個SYN(SEQ=y)ACK(ACK=x+1)報文,然后就會進入SYN_RECV狀態客戶收到服務器的SYN報文,回應一個ACK(AC…

同等學力申碩-計算機統考-歷年真題和備考經驗

同等學力申請碩士學位考試是比較適合在職人員的提升學位方式&#xff0c;了解過的人應該都知道&#xff0c;現在社會的競爭壓力越來越大&#xff0c;為了提高職業生存能力&#xff0c;提升學位在所難免。 一、已有計算機統考歷年真題資料 報名過同等學力申碩計算機專業的朋友都…

OSI網絡通信模型詳解

OSI 模型就是把這整個過程拆解成了 7 個明確分工的步驟&#xff0c;每一層只負責自己那一攤事兒&#xff0c;這樣整個系統才能順暢運轉&#xff0c;出了問題也容易找到“鍋”在誰那。 核心比喻&#xff1a;寄快遞 &#x1f4e6; 想象你要把一份重要的禮物&#xff08;你的數據…

C++ 檢測文件大小和文件傳輸

檢測文件的大小 你可以通過標準 C/C 的文件 API 很方便地獲取文件的字節大小&#xff0c;以下是幾種常用方法&#xff1a; ? 方法一&#xff1a;使用 stat() 函數&#xff08;推薦&#xff09; #include <sys/stat.h> #include <stdio.h>off_t get_file_size(co…

Ubuntu 中修改網卡 IP

在 Ubuntu 中修改網卡 IP 地址可以通過以下方法實現&#xff0c;具體取決于你使用的網絡管理工具&#xff08;如 netplan、ifconfig/ip 命令或傳統 interfaces 文件&#xff09;。以下是常見方法&#xff1a; 方法 1&#xff1a;使用 netplan&#xff08;Ubuntu 17.10 及更新版…

記錄學習three.js 為什么 .glTF 是更適合 Web 的 3D 模型格式?——從 .OBJ 到 .glTF 的轉變?

在上一篇中&#xff0c;我們介紹了如何在 Three.js 中加載 .OBJ 模型。如果你沒看過&#xff0c;建議先閱讀一下基礎內容。然而你很快會發現&#xff0c;.OBJ 雖然入門簡單&#xff0c;卻并不是 Web3D 場景中的最佳格式。 .OBJ 是什么&#xff1f; .OBJ 是最早期的3D交換格式之…

H遞歸函數.go

前言&#xff1a;遞歸函數是一種強大而又充滿魅力的編程技巧。它就像是一面神奇的鏡子&#xff0c;函數在其中能夠調用自身的倒影&#xff0c;從而以一種簡潔而優雅的方式解決許多復雜的問題。 目錄 一、遞歸函數是啥玩意兒 二、遞歸函數的優缺點 優點 缺點 三、遞歸函數…

軟件功能測試的測試標準

一、軟件功能測試行業標準概述 軟件功能測試行業標準是規范軟件測試流程、方法、工具及人員資質的準則&#xff0c;是確保軟件產品的功能性、可靠性、易用性等質量特性符合用戶需求。這些標準不僅為測試人員提供了明確的指導&#xff0c;也為軟件產品的質量控制提供了有力保障。…

EchoEar(喵伴):樂鑫發布與火山引擎扣子聯名 AI 智能體開發板

隨著生成式人工智能技術的快速發展&#xff0c;大語言模型 (LLM) 正逐步成為推動智能設備升級的核心力量。樂鑫科技攜手火山引擎扣子大模型團隊&#xff0c;共同推出智能 AI 開發套件 —— EchoEar&#xff08;喵伴&#xff09;。該套件以端到端開發為核心理念&#xff0c;構建…

圖像特征檢測算法SIFT

SIFT&#xff08;Scale - Invariant Feature Transform&#xff0c;尺度不變特征變換&#xff09;是一種計算機視覺領域的特征提取算法&#xff0c;具有重要的地位和廣泛的應用。 算法原理 構建高斯金字塔 &#xff1a; 為了實現多尺度檢測&#xff0c;SIFT 算法會構建高斯金…

光纖通道收發器:市場洞察、技術演進與未來機遇

一、引言 在數字化浪潮席卷全球的當下&#xff0c;數據存儲與傳輸的需求呈爆發式增長。光纖通道收發器作為高速、可靠數據存儲網絡&#xff08;如存儲區域網絡 SAN&#xff09;中的關鍵組件&#xff0c;發揮著至關重要的作用。它通過光纖實現服務器、存儲設備和交換機之間的數…

candence17.4如何設置兩個焊盤之間在TOP與BOTTOM可以存在兩根線

為什么要走兩根線&#xff1f; 為了過大電流&#xff0c;有時候就需要我們在TOP、BOTTOM兩個面走線&#xff0c;同時開窗&#xff0c;然后通過加錫的方式增加過流能力&#xff1b; 當然由于兩面都有導線&#xff0c;必然會存在過孔&#xff0c;而過孔的過流能力不僅與過孔孔徑…

Dify:參數調節,讓LLM從能用到好用的機制

前言 隨著大語言模型(LLM)在文本生成、智能對話、技術問答等前沿領域的深度滲透&#xff0c;參數精細化調節已成為開發者駕馭 AI 能力的核心必修課。 本文將系統的解釋溫度(Temperature)、核采樣(Top - P)、截斷采樣(Top - K)等關鍵參數的底層作用機制&#xff0c;結合多種場景…

防抖不同的實現

防抖&#xff08;Debounce&#xff09;&#xff1a;在事件被觸發后&#xff0c;延遲一段時間再執行函數。如果在延遲期間事件再次被觸發&#xff0c;則重新計時。常用于搜索框輸入、窗口大小調整等場景。 1.不安裝任何依賴和庫&#xff0c;編寫一個防抖的函數 在utils里面增加…

MySQL 數據庫索引詳解

一、索引是什么&#xff1f;能干嘛&#xff1f; 類比理解&#xff1a;索引就像書的目錄。比如你想查《哈利波特》中 “伏地魔” 出現的頁數&#xff0c;不用逐頁翻書&#xff0c;直接看目錄找關鍵詞就行。數據庫里的索引就是幫你快速找到數據的 “目錄”。 核心作用&#xff…

【620公司工作記錄】

已有數據匯總 好的,完全同意。在編寫新代碼之前,清晰地盤點我們手中已有的“彈藥”是至關重要的一步。 根據您提供的 test/20250610_88_100mm_frame_000.csv 文件頭,我來為您完整地解析一下我們當前擁有的全部數據字段。我們的數據是以“行”為單位組織的,每一行都代表一…

SpringBoot 集成Caffeine實現一級緩存

SpeingBoot 集成Caffeine實現一級緩存使我們經常遇到的場景。今天我們具體分享一下&#xff1a; 首先 Caffeine 作為一級緩存&#xff0c;它是 Spring 5.x 默認的本地緩存實現&#xff0c;性能優于 Guava Cache&#xff0c;且支持過期時間設置。緩存執行的流程圖如下&#xff…

中科米堆3D自動掃描檢測系統三維數字化智能解決方案

3D自動掃描檢測系統基于先進的光學、激光或結構光等測量技術&#xff0c;能夠快速、準確地獲取工件的三維幾何數據。在檢測過程中&#xff0c;系統通過向被測工件投射特定的光模式&#xff0c;利用高分辨率相機捕捉工件表面的反射光信息&#xff0c;再經過復雜的算法處理&#…

Unity3d中使用Mirror進行自定義消息通信

一、服務端&#xff1a; 1.創建服務端腳本MyServer.cs 繼承自NetworkManager類 using Mirror; using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI;public class MyServer : NetworkManager {[Header(&quo…

Odoo 18 固定資產管理自動化指南

如何在Odoo 18中實現資產管理自動化 1. 創建資產模型實現資產管理自動化 使用 Odoo 18 的會計模塊&#xff0c;資產的創建和確認可輕松實現自動化。這將使資產管理變得更加簡單高效。使用資產自動化功能&#xff0c;一旦驗證相關產品的供應商賬單&#xff0c;Odoo將自動生成并…