論文導讀:τ0-VLA——讓機器人在決定下一步之前,先用世界模型「想像」幾種做法

Xiaowei Cai, Yunuo Cai, Bingao Chen, Jingxiao Chen, Zhi Chen, Siyuan Feng 等(共 39 位,依字母排序) · 2026原文連結

一句話讀懂這篇論文

長時間的家務任務(打掃房間、煮一道菜、泡奶茶)不只是一長串馬達指令,而是一連串會產生後果的決定。選錯了下一個子任務,動作控制再精準也沒用——機器人只會完美地做錯事。τ0-VLA 的想法是借用大型語言模型「測試時多想一下」的概念:簡單的決定直接做;沒把握的決定,先用世界模型想像幾種做法做完後畫面會長怎樣,評估哪個比較好,再決定。

論文資訊卡

  • 標題:τ0-VLA: a Hierarchical Robot Foundation Model with World-Model-Guided Test-Time Computation
  • 作者:39 位作者依字母排序(Xiaowei Cai、Yunuo Cai、Bingao Chen 等)
  • 機構:上海創智學院(Shanghai Innovation Institute)、智元機器人 Agibot Finch、香港中文大學
  • 發表:arXiv 2026 年 8 月 17 日(2608.16885)
  • 專案頁:tau0-vla.github.io
  • 程式碼與權重:github.com/sii-research/tau-0-vla(Apache 2.0);Hugging Face sii-research/tau-0-vla

問題背景

長序列任務的核心瓶頸

長序列操作需要機器人找物體、操作物體、跟關節式結構互動(開門、開抽屜)、確認中間結果、從局部失敗中恢復。過程中機器人必須一直推斷:哪些做完了、還剩什麼、現在該下什麼子任務指令。

階層式 VLA 把「高層語意推理」和「低層視覺運動控制」透過語言指令、明確的子任務介面或潛在表示連起來。問題在於:大多數階層系統的每個高層決定都用固定的運算量——看一眼目前的觀測和執行歷史,直接輸出下一個子任務,既不比較其他選項,也不評估每個選項會造成什麼物理狀態。

沒有「執行前評估」,錯誤的決定通常要等到執行完、環境已經被改變了才發現。這時重新規劃可以補救,但已經付出的代價收不回來。所以作者認為:長序列執行的核心瓶頸已經不是「有沒有階層式動作介面」,而是產生下一個子任務的推論程序。

為什麼在「子任務」層級做搜尋

  • 動作層級的搜尋(取樣多個動作再挑)能解決局部的控制模糊,但通常只看得到局部的物理後果
  • 純語言推理能處理比較長的時間尺度,但比較選項時沒有連結到它們會產生的物理狀態
  • 子任務介於兩者之間:夠稀疏,值得投入額外運算;又夠長,能在環境中產生有意義、可區分的變化

所以比較候選子任務需要預測每個候選會產生什麼狀態——生成未來觀測的世界模型正好提供這個能力。

系統架構

τ0-VLA 由兩層組成,每個推論步依序執行:

shell
高層策略 π_H
  ├─ 提案模型 P(Qwen3.5-9B):更新執行記憶 + 提出子任務
  │     └─ 依 token 信心度決定走「快速路線」或「測試時運算」
  ├─ 世界模型 W(Step1X-Edit + 機器人 LoRA):預測子任務做完後的頭部相機畫面
  ├─ 價值模型 V(Qwen3.5-9B):根據預測畫面替候選打分
  └─ 反思模型 F(Qwen3.5-9B):看過保留的分支後,生成最終子任務
         │
         ▼ 子任務文字
低層策略 π(Qwen3.5-2B + Mixture-of-Transformers 動作專家)
  └─ 多視角觀測 + 本體狀態 + 子任務 → 動作段(流匹配生成)

符號

在第 tt 步,低層 VLA 把多視角觀測 oto_t、本體狀態 sts_t、語言指令 ctc_t,以及描述機器人形態、控制模式的文字後設資料 κ\kappa,映射成 HH 步的動作段:

at:t+H−1=πθ(ot,st,ct,κ)a_{t:t+H-1} = \pi_\theta(o_t, s_t, c_t, \kappa)

直接執行時 ct=ℓc_t = \ell(整個任務指令),策略必須自己推斷現在進行到哪個階段。階層式則由高層先產生子任務 ztz_t 當指令。高層的決策情境是:

ht=(ℓ,Mt−1,zt−1,ot)h_t = (\ell, M_{t-1}, z_{t-1}, o_t)

Mt−1M_{t-1} 是帶過來的執行記憶,zt−1z_{t-1} 是上一步的子任務。高層更新記憶並產生目前的子任務 (Mt,zt)=πH(ht)(M_t, z_t) = \pi_H(h_t)。如果 ztz_t 跟上一步一樣,低層繼續執行;如果變了,低層就開始執行新子任務。

高層策略

提案模型與自適應路由

提案模型收到 hth_t,更新執行記憶並產生直接提案:

ztdir, Mt=P(ht)z_t^{dir},\ M_t = P(h_t)

同一次前向傳播產生的 token 信心度,被用來計算路由訊號 gt∈{0,1}g_t \in \{0, 1\}:

  • gt=0g_t = 0:模型有把握,走快速路線,直接用 ztdirz_t^{dir}
  • gt=1g_t = 1:模型沒把握,啟動測試時運算(TTC)

路由統計在所有任務共用,門檻則依任務在保留資料上校正。這讓大部分例行決定很快,只有困難的決定才花額外運算。

世界模型與價值模型

對一個候選子任務 zz 和頭部相機影像 o~\tilde{o}:

o^=W(o~,z),v=V(ℓ,z,o^)\hat{o} = W(\tilde{o}, z), \qquad v = V(\ell, z, \hat{o})

世界模型預測「這個子任務做完時頭部相機會看到什麼」,價值模型根據任務指令、候選子任務和預測畫面,輸出一個候選品質分數。

測試時搜尋:束搜尋

三個整數控制運算量:分支因子 NN、束寬 BB、搜尋深度 DD。

  1. 從一個根分支開始(情境 = hth_t,路徑為空,分數 0)
  2. 每一層深度,對每個保留的分支獨立呼叫提案模型 NN 次,得到 NN 個候選子任務
  3. 對每個候選,世界模型預測做完後的畫面、價值模型打分,累加到分支的累積分數:S(b⊕z)=S(b)+vS(b \oplus z) = S(b) + v
  4. 子分支的下一輪情境改用想像出來的畫面 o^\hat{o} 和分支自己的記憶
  5. 所有子分支依累積分數做全域排序,保留前 BB 個
  6. 重複到深度 DD

搜尋過程中產生的記憶都是分支本地的,不會覆寫真正的執行記憶 MtM_t。

範例:任務是「做奶茶」,記憶是「已放好杯子」。提案模型提出「拿湯匙」「放杯子」「拿杯子」三個候選,世界模型想像各自做完的畫面,價值模型打分(0.95、0.50、0.95),保留兩個繼續往下展開,例如「拿湯匙 → 舀果凍 → 倒果凍」這條路徑。

反思模型

搜尋結束後,反思模型看著真實的觀測情境 hˉt=(ℓ,Mt,zt−1,ot)\bar{h}_t = (\ell, M_t, z_{t-1}, o_t) 和保留分支的摘要 CtC_t(每條分支的想像子任務路徑、最終預測畫面、累積分數),生成最終子任務:

zt=F(hˉt,Ct)z_t = F(\bar{h}_t, C_t)

它的輸出可以跟某個保留的提案一樣,但不受候選集合限制——如果所有候選都有瑕疵,反思模型可以修正。這是跟單純「挑分數最高的」最大的差別。

可自我修正的執行記憶

長時間執行時,記憶可能跟實際進度不一致。訓練時刻意從既有示範產生被擾動的記憶:落後於實際進度、超前於實際進度、或在失敗後錯誤描述進度,再訓練高層策略修正這些紀錄。這不需要額外的人工標註。

低層策略

架構

預訓練視覺語言骨幹(Qwen3.5-2B)+ Mixture-of-Transformers(MoT)動作專家:每一層全注意力中,動作 token 和骨幹 token 透過聯合注意力互動,但由各自參數化的 Transformer 串流處理。動作專家用條件流匹配學習從雜訊到動作段分佈的速度場,推論時積分生成可執行的動作。

統一的 40 維狀態與動作空間

不同機器人的狀態和動作放進一個共用的 40 維空間,涵蓋末端執行器、手臂關節、夾爪、腰部、移動底盤。每個樣本有狀態與動作遮罩,選出有效的通道;控制後設資料描述控制參數化方式。這讓同一個策略可以支援固定底座操作、雙臂協調、移動全身控制,不需要針對每種機器人設計輸出頭。

遮罩流匹配

因為不同機器人佔用統一空間中不同的通道,流的路徑和訓練目標都要遮罩。設 M\mathbf{M} 是對角動作遮罩矩陣(有效通道為 1),流時間 τ∈[0,1]\tau \in [0, 1](τ=1\tau = 1 是雜訊、τ=0\tau = 0 是乾淨動作):

at+jτ=τ Mϵt+j+(1−τ) Mat+j,ut+j=M(ϵt+j−at+j)a^\tau_{t+j} = \tau\,\mathbf{M}\epsilon_{t+j} + (1-\tau)\,\mathbf{M}a_{t+j}, \qquad u_{t+j} = \mathbf{M}(\epsilon_{t+j} - a_{t+j})

動作專家同時預測 HH 個動作 token 的速度,只監督有效通道,並在每次速度場評估前與最終輸出時投影掉無效通道。

訓練資料與三階段訓練

資料:40,115 小時的異質真實世界資料,涵蓋固定底座、移動、雙臂機器人;來源包括人類示範、自主策略執行、UMI 風格的手持錄製。另外穿插多模態視覺語言資料(指令遵循、視覺定位、空間與深度推理、機器人視角感知),保留骨幹的語意與視覺能力。

三階段:

  1. 知識隔離共同訓練:多模態資料和機器人動作資料一起訓練,但動作損失的梯度在骨幹介面被擋住。動作專家可以讀骨幹的表示,但不會過早破壞預訓練骨幹
  2. 端到端共同訓練:拿掉隔離,整個模型端到端最佳化,多模態資料保留作為輔助監督,讓動作梯度把骨幹調整成更適合控制的表示
  3. 任務特定適應:每個部署任務用少量示範微調,適應目標機器人、相機視角、物體配置和成功條件

高層模型的訓練

提案、價值、反思模型都從同一個機器人預訓練過的 Qwen3.5-9B checkpoint 各自微調;世界模型從 Step1X-Edit 初始化、另外訓練。

  • 提案模型:用對齊的執行歷史和自動擾動的歷史訓練,學會先讓記憶跟視覺證據一致,再產生下一個子任務
  • 世界模型:每筆訓練資料是一段標註子任務的開始和結束時的頭部相機畫面,以子任務指令為條件
  • 離線模擬執行:從真實觀測出發,交替用 PP 提案、用 WW 預測畫面,產生多步的模擬執行,作為價值和反思模型的訓練資料
  • 價值模型:表述成多選題 VQA——根據指令、候選子任務和想像畫面,預測五個品質等級之一(從明顯錯誤到明顯正確),對應到 [0.05, 0.95] 的分數
  • 反思模型:給它跟推論時一樣的情境和保留分支摘要,目標是正確的下一個子任務。這教它根據視覺證據修正有瑕疵的候選計畫,而不是只抄第一個提案

部署時,高層和低層是非同步管線執行。

實驗

機器人平台與任務

  • AGIBOT G1:四個主要長序列任務
  • ARX AC One:整理書本、收衣服
  • 雙臂 Franka Research 3:整理化妝台
任務步數內容典型時長
打掃房間25進臥室、從床頭櫃和床上拿兩件髒衣服放進洗衣籃、把手提包掛到衣架、拿毯子遞給人、離開臥室、清掉茶几上的零食袋垃圾約 8 分鐘
備料14在冰箱和備料台之間移動,開冰箱拿番茄和雞蛋、關冰箱,放進碗裡,用打蛋器敲蛋、攪拌,把工具放回瓷盤約 4 分鐘
番茄炒蛋22切番茄、把番茄和蛋液移到電磁爐、開火、加油和蛋液、炒蛋、加番茄和鹽、炒好盛盤、收鍋具、關火、上菜、雙臂歸位約 10 分鐘
做奶茶13放杯子、加兩種配料、依序倒牛奶和茶、封蓋、插吸管約 3 分鐘
收衣服5找到抽屜櫃、左手拿 T 恤、右手關櫃門、找到洗衣籃、放進去約 1 分鐘
整理書本3雙臂交換四本高度不同的書,排成由高到矮約 1 分鐘

備料和番茄炒蛋是同一道菜的協作流程:一台機器人備料,另一台炒菜,分開評估。

評估指標:成功率(每個必要里程碑都完成才算成功)和進度(依里程碑給全分、半分或零分,依賴前一步的里程碑只有前一步完成才計分)。

實驗結果一:長序列任務

每格為 10 次獨立試驗。前四列是直接執行(整個任務指令丟給策略),最後一列是階層系統(不開束搜尋):

方法打掃房間備料番茄炒蛋做奶茶平均
GR00T N1.70/10,59.80%1/10,68.57%0/10,24.32%0/10,28.46%2.50%,45.29%
LingBot-VLA0/10,66.60%0/10,35.00%0/10,12.27%0/10,63.85%0.00%,44.43%
π0.54/10,86.20%2/10,73.93%0/10,49.77%3/10,82.31%22.50%,73.05%
τ0-VLA(直接執行)4/10,92.80%2/10,66.43%0/10,65.00%5/10,96.15%27.50%,80.10%
τ0-VLA 階層系統5/10,94.80%4/10,82.86%4/10,81.82%5/10,91.92%45.00%,87.85%

各任務的觀察:

  • 打掃房間:明確的執行記憶幫助很大。階層系統能跨房間保留進度;沒有記憶時,失敗集中在掛手提包和後段的整理階段
  • 備料:失敗多發生在拿蛋、敲蛋、攪拌。這些是後續步驟的前提,早期一錯就擋住大量後續進度,所以追蹤完成階段特別有價值
  • 番茄炒蛋:決定性的瓶頸是加鹽。加鹽幾乎不造成可見的變化,光看目前畫面無法判斷這步做過沒有。直接執行的策略因此常常重複加鹽或整個跳過,兩者都違反成功條件。階層系統明確記錄加鹽進度,解決了這個模糊問題——成功率從 0/10 提升到 4/10
  • 做奶茶:兩個 τ0-VLA 版本都能可靠完成大部分步驟(5/10 成功、進度超過 91%),剩下的失敗在封蓋和插吸管這類最後的接觸密集操作

實驗結果二:跨機器人直接執行

收衣服和整理化妝台步驟少(2~5 步),所有方法都直接執行整個任務指令,不拆子任務、不用記憶、不搜尋,純粹評估低層策略在不同機器人上的控制和語言條件操作能力。

τ0-VLA 在所有任務組都最好:收衣服 10/10(進度 97.00%);整理化妝台的化妝棉 10/10(95.00%)、睫毛夾 9/10(92.50%)、粉撲 10/10(95.00%)。收衣服的成功率對照:GR00T N1.7 4/10、LingBot-VLA 2/10、π0.5 9/10。

失敗模式:

  • 收衣服:LingBot-VLA 有時拿不起 T 恤;GR00T 撞到床腳而中止
  • 整理化妝台:這個測試在相同的視覺狀態下,用不同的指令指定不同的目標物、手臂、動作順序和目的地,光看畫面無法決定正確動作。GR00T 偶爾在拉抽屜時停頓,或把粉撲當成睫毛夾拿;LingBot-VLA 通常用對手臂,但傾向拿畫面中比較近的物體而不是指定的目標;π0.5 有時放開又重抓粉撲、關抽屜不夠順,或漏掉化妝棉

這些失敗區分了兩種錯誤:拿錯或漏拿物體是語言定位錯誤,會改變任務完成度;重新抓取、猶豫的抽屜動作則是低層執行效率問題,即使最終狀態正確也降低效率。

實驗結果三:測試時運算

開迴路的下一個子任務預測準確率,比較三種高層推論方式:

  • Plan Once:每個決策點只預測一次,不搜尋
  • Best-of-N:取樣 N 個候選,用同樣的世界模型和價值模型各評一次,挑最高分
  • TTC(本文):多步束搜尋 + 反思

在做奶茶、整理書本(訓練中見過的初始排列 / 沒見過的初始排列)、打掃房間四個設定中,TTC 的準確率都最高。以沒見過初始排列的整理書本為例:TTC 74.0%,Plan Once 50.0%,Best-of-N 57.5%。

為什麼差這麼多?沒見過的初始排列落在高層策略的訓練分佈之外,直接用微調過的 VLM 預測下一步容易出錯。TTC 則在決策當下用世界模型預測未來畫面、用價值模型評估想像的分支,再讓反思模型以保留的分支為情境生成子任務——不只依賴微調學到的模式。Best-of-N 雖然用了同樣的世界模型和價值模型,但只做一步選擇,沒有多步展開和反思,所以進步幅度一直比 TTC 小。

閉迴路真實機器人(低層策略固定,只比較高層有沒有 TTC):

方法做奶茶整理書本打掃房間
Plan Once5/10,91.92%6/10,66.67%5/10,94.80%
TTC7/10,95.38%9/10,93.33%7/10,97.60%

TTC 在所有任務都提升了進度和成功率。對整理書本這種沒有固定執行計畫的任務特別重要。

運算量與準確率的關係:在做奶茶和整理書本上,以每個樣本的 PFLOPs 為橫軸畫準確率,用飽和指數函數擬合:運算量從小預算開始增加時,準確率快速上升;之後邊際效益遞減,曲線趨於平坦。TTC 在中等預算下有很好的運算—準確率取捨,但效益最終會飽和。

實際跑一次的觀察

官方 repo 把三層的安裝、推論指令、測試範例寫得很完整,但每一層是獨立的權重和獨立的 Python 環境。在 Colab A100 上把三層各自跑過一次官方附的小規模範例:

  • 低層策略:在 LIBERO 模擬環境跑 libero_spatial,每個任務 1 次、共 10 個 episode(官方公布的數字是 50 次試驗 97.4%,這次只確認結果落在合理範圍)
  • 提案模型:用官方附的開著微波爐的三視角照片,看模型判斷的下一步是否跟官方記錄的「用左手關上微波爐門」一致
  • 世界模型:用一張關著的微波爐照片 +「用右手打開微波爐門」,生成目標影像跟官方參考圖對照(擴散模型有隨機性,只看語意合不合理)

幾個實務上的注意事項:

  • 低層策略用到 flash-attn / flash-linear-attention,需要 Ampere 架構以上的 GPU,免費的 T4 跑不動
  • 官方 requirements.txt 中 transformers==5.5.4 和 lerobot==0.4.1 對 huggingface-hub 的版本要求衝突,官方的修法是升到 lerobot==0.5.0(需 Python 3.12)
  • 世界模型的基礎模型(Step1X-Edit-v1p2 + 文字編碼器)約 41.5 GB,在 40 GB 的 A100 上是最吃緊的一步
  • repo 目前沒有現成的端到端串接腳本,三層只能各自驗證,還不能直接跑一次完整的「規劃 → 想像 → 執行」閉迴路

影響與定位

τ0-VLA 的核心貢獻是把高層子任務生成變成一個運算量可擴展的推論問題,同時保留一個跨多種機器人的統一低層控制介面。幾個值得注意的設計:

  • 自適應路由:不是每一步都搜尋,用 token 信心度決定,把運算花在刀口上
  • 在子任務層級搜尋:比動作層級看得遠,比純語言推理更貼近物理後果
  • 反思而非挑選:最後一步不是「選分數最高的」,而是讓模型看過所有想像的後果後重新生成,可以修正所有候選都有的瑕疵
  • 可修正的記憶:用擾動的記憶訓練,讓長時間執行時的進度追蹤更可靠——番茄炒蛋的加鹽問題就是最好的例子

跟其他「在推論時多花運算」的方法比較:

方法在哪個層級用什麼評估
V-GPS單步動作離線強化學習訓練的 Q 函數
Best-of-N子任務,一步世界模型 + 價值模型
τ0-VLA TTC子任務,多步世界模型 + 價值模型 + 反思

相關論文推薦

參考資料

相關術語

訂閱 RoboTech Lab 電子報

每週一封,整理新的教學、論文導讀與機器人業界動態。隨時可以取消訂閱。