RFMEP05:HiRobot——和史瀟洋聊一聊如何教機器人更好地“聽懂”與“思考”

在機器人基礎模型(Robot Foundation Model,RFM)系列,我在RFM EP04:Pi0 vs Helix vs GO-1三類VLA模型框架對比解析總結了以π0為代表的VLA模型結構,在RFM EP01:Pi和π0具身基礎模型根據Sergey的Talk總結了關於π0的總體思路和介紹。
今天介紹的Hi Robot是PI在2025年2月末公佈的一個工作,它的核心思想是讓機器人能夠“思考”複雜的指令、反饋和插話。大家都知道VLM可以直接控制機器人,但如果指令太複雜,機器人無法直接理解和執行怎麼辦?Hi Robot就是用於解決這個問題。我也非常榮幸的邀請到Hi Robot: Open-Ended Instruction Following with Hierarchical Vision-Language-Action Models(基於層級視覺-語言-動作模型的開放式指令跟隨)這篇工作的一作史瀟洋博士進行訪談。
史瀟洋是斯坦福大學計算機專業的博士生,導師是 Chelsea Finn,同時也是 Physical Intelligence(PI)的研究員。此前,她曾在 NVIDIA Research 與 Yuke Zhu 和 Jim Fan 合作工作。她在南加州大學(USC)獲得了計算機科學學士學位,導師是 Joseph J. Lim 和 Youngwoon Lee。史瀟洋的研究興趣廣泛集中在機器人學習領域,研究目標是打造能夠自然完成複雜、長週期任務的通用機器人。
關於π0,相信大家在科技媒體上經常會看到諸如“對標π0大腦”之類的字眼。有些PR文,我深度看完之後會非常困惑,這些創業公司PR的業務和π0並沒什麼相關性。在閱讀今天這篇科普部落格之前,各位讀者可以思考一個問題:你們理解的π0這類VLA是更偏向High-level policy還是low-level policy?對應到國內的說法是更偏向大腦還是小腦?
以下為本文目錄
👇

1. 關於Hi Robot
2. Hi Robot和π0解決問題的差異性?
3. π0的指令和Hi Robot的指令有什麼異同?
4. Hi Robot和直接接入一個VLM有什麼區別?
5. 為什麼Hi Robot指令理解比VLM做得好?
6. 怎麼解決grounding的問題
7. VLA和RL怎麼結合?
8. Hi Robot方法介紹
9. 關於π0的資料問題
10. 怎麼理解High-Level Policy的訓練過程?
11. 怎麼理解第2步資料生成VLM
12. Hi Robot使用的資料是怎麼構建的
13. Hi Robot模組對VLA是必須的嗎?
14. 即時互動場景Hi Robot是必需的嗎?

1. 關於Hi Robot

在進入採訪內容之前,我們可以先從PI的官網瞭解一些關於Hi Robot的總體介紹。Hi Robot的初衷是為了讓機器人在面對複雜任務時,也像人一樣“思考”,有個小聲音在腦中指導它下一步該怎麼做。Hi Robot將VLA(如 π0)整合進一個兩層的推理流程中。π0是反應快速、執行動作的“S1快系統”,而高層的VLM則扮演“S2慢系統”的角色,負責思考和語言理解,透過“自我對話”的方式,把複雜任務拆分成簡單的中間步驟,再交給π0去完成。

                                           Hi Robot影片介紹

Hi Robot這個high-level policy是一個VLM,實際上它使用的VLM骨幹網路與π0完全相同。它被訓練用於處理複雜的指令提示、觀察場景,並將任務拆解為π0能理解的小任務,以“耳語”的方式逐步向π0 VLA模型下達具體操作(例如:“拿起一片全麥麵包”)。這個高層策略還能夠融入即時的上下文反饋
更重要的是,VLM 是用大規模網際網路資料訓練出來的,它本身就擅長根據影像和語言上下文生成文字,比如回答“機器人接下來該抓哪個物體”。Hi Robot 利用了這種能力,相當於讓機器人具備了“看圖理解人說話”的基礎常識,不完全依賴自己過往的動作經驗,也能像人一樣,調動外部知識去做任務。
2. Hi Robot和π0解決問題的差異性

π0是PI開發的一個低層策略(low-level policy)模型,其核心功能是直接生成機器人的控制動作,即動作軌跡,使機器人能夠在真實世界中與多種物體進行互動。例如,它可以操作一件 T 恤並將其摺疊完成,具備實際執行復雜操作的能力。在π0的設計中,我們重點強調了 

dexterity(操作靈巧性)
同時,π0也具備一定的語言理解能力(language following),可以根據使用者的自然語言指令執行任務。也就是說,使用者發出指令後,系統能夠“聽懂”並完成操作。然而,這種語言理解能力存在限制:它只能執行那些在訓練資料中出現過、模型已經學習過的任務。比如,當用戶說“疊衣服”時,機器人只能按照它訓練中學到的方式、在相似環境下、對已知型別的衣服進行摺疊。此外,模型所能理解的語言也僅限於一個相對封閉、有限的詞彙集合,即訓練語料中出現過的詞彙或句式。
我們也討論到在實際應用中的“落地問題”:當機器人部署在真實環境中時,使用者的語言表達往往是開放的、自然的,而非嚴格受限於訓練資料。比如,家中長輩可能會對機器人說:“幫我把這杯水端過來。”這類指令可能從未出現在模型的訓練資料中,因而系統無法理解。
為了解決這一問題,我們在 Hi Robot 專案中提出了一個目標:構建一個支援開放詞彙指令(open-vocabulary instruction)的機器人系統。這個系統允許使用者使用任意自然語言表達指令,包括模型未見過的表達、複雜的長指令等。核心機制在於引入一個高層策略(high-level policy),它能理解人類語言,將其轉化為機器人能夠執行的中間表示,再交由π0這樣的低層策略(low-level policy)生成具體動作,從而在真實世界中完成任務。
這種架構的優勢主要體現在三個方面:第一,他顯著提升了人機互動的通用性,使非專業使用者也能夠自然指令機器人;第二,系統具備了一定的語言推理能力,可以在語言空間中進行更復雜的理解與轉換;第三,在訓練階段具備更強的任務泛化能力,能夠在多工間實現知識共享與遷移學習。
3. π0的指令和Hi Robot的指令有什麼異同?
舉個例子,比如在π0中,如果我們想讓機器人制作一個三明治,輸入的指令通常是類似“拿起一片面包”這種格式化的操作指令,它必須是明確、具體、結構化的動作描述。
但在 Hi Robot 中,情況就不同了。你可以直接對機器人說:“我是一個素食主義者,你幫我做個三明治吧。”系統會推理出,“你是素食主義者”意味著桌上的肉類不能被使用。你還可以說:“我對某種食材過敏。”它就能理解並排除相關食材,不會將它們用於製作過程。
只做素食三明治
換句話說,Hi Robot 能夠理解更自然、更復雜、更個性化的指令,並據此做出合適的推理與行為選擇,而不僅僅依賴預定義的動作指令碼。在任務理解或者說指令理解這一層面,Hi Robot 的表現相比π0要更加出色。
當然,在實際開發過程中,Hi Robot和π0並行推進的。一方面,在π0中我們也在做語義理解相關的工作,比如提高標註階段的質量,尤其是 label 的定義和精度。與此同時,在 Hi Robot 的開發過程中,我們也在同步最佳化 synthetic data(合成數據)的質量。
在這個過程中,我們的團隊也在協作探索這兩個模型(π0和 Hi Robot)之間如何互動,每個模組的架構如何設計,才能讓整體系統具備更強的語義理解能力和更好的泛化能力。
4. Hi Robot和直接接入一個VLM有什麼區別?
對於 high-level policy,我們其實也嘗試過直接使用像 GPT-4 這種大型模型,特別是可以處理影像的版本(例如 GPT-4V),目前在市面上算是最強的通用多模態模型之一。
但問題在於,它其實並不能很好地理解機器人的能力邊界——它不知道這個機器人“能做什麼、不能做什麼”,缺乏 grounding。它本身沒有足夠強的空間理解能力,也缺乏對任務的持續理解能力。
而我們所做的 Hi Robot,則不同:我們有自己的 VLA,也有自己的機器人資料庫,並且我們可以利用這些 VLM 來生成更貼合實際的合成數據。把這些能力整合在一起,我們訓練了一個真正為具身智慧和機器人控制設計的 high-level policy。
這樣的模型在任務理解和指令執行上,表現明顯優於那些直接拿來使用的外部模型,比如GPT-4 系列。
5. 為什麼Hi Robot在指令理解層面比VLM做的好?
這裡面最核心的問題其實就是 grounding。這個“grounding”在科研領域其實是一個老生常談的話題了。很多大模型,比如說在做數學題、寫程式碼方面表現非常強,但一旦你希望它去控制一個機器人、與真實世界互動、與人進行互動,甚至是執行一個非常簡單的動作,比如“把手機拿起來”,它就完全做不了。
這是因為這些模型從未真正與世界發生過互動——它們缺乏反饋(feedback)。在訓練過程中,它們只是從靜態資料中學習,從來沒有真正透過感知和行動去影響環境,也沒有建立起對動作後果的因果理解。
而目前的多模態模型,包括很多state-of-the-art的VLM 和VLA,在空間推理(spatial reasoning)方面仍然表現較差。
你可以把 grounding 的問題理解為由兩個層面組成,首先是外在 grounding:模型對真實世界缺乏物理空間和時間維度的理解,它不知道物體之間的空間關係、互動邏輯;其次是內在 grounding:模型對它自身控制的實體——比如機械臂、小車等——也沒有清晰認知,它不知道“我能做什麼,不能做什麼”、“做什麼會成功,做什麼會失敗”。
這種缺乏內外雙重 grounding 的問題,使得當前的大模型雖然語言強、邏輯強,但在具身智慧場景中依然難以真正落地。
6. 怎麼解決grounding的問題
這是一個仍然非常開放(open)的研究問題。目前誰都無法給出確切答案,它仍屬於科研探索的範疇。但根據我的經驗來看,這本質上還是一個資料問題,同時也是訓練方法的問題。如果有足夠高質量的資料,尤其是那種真實世界中人與環境互動的資料,並且這些資料中包含了明確的反饋,那麼模型是有可能學會有效的 grounding 的。
在訓練方法上,很多人提到強化學習。強化學習就是一種讓智慧體能夠與環境進行主動互動的機制。比如,它可以嘗試做某個動作——“我試試看這樣做”、“我換個方式再試一下”——透過不斷試錯,從環境中獲得獎勵或懲罰,進而逐步建立起因果關係的理解。
可以說,這種機制是目前在具身智慧、機器人控制等領域比較火的一個方向,也是在嘗試解決 grounding 問題的重要路徑之一。
7. VLA和RL怎麼結合?
其中一種可能的類比是類似於 DeepSeek 的方法。它有一個預訓練階段,先利用一個大規模的資料集進行模仿學習,然後再透過強化學習進行微調。
π0,我們也在考慮類似的思路:既然我們已經完成了基於模仿學習的一整套流程,接下來能不能把模型放到真實或模擬環境中,讓機器人自主地進行嘗試,從環境中獲取 reward(獎勵)或估算 value function(價值函式),再利用這些反饋去微調已有的模型,這其實也是一種可能的路徑。
至於為什麼像 VLM 或 VLA這類模型現在強化學習做得相對較少,倒不是沒人做強化學習,而是因為目前能用於訓練這些大模型的、帶有環境互動能力的資料和平臺非常有限。
此外,算力也是一個現實因素。在學校實驗室的常規算力配置下,其實是很難訓練得起這樣規模的模型的,這在實際推動中也是一大限制。其實現在能把這些 VLA 模型真正訓練起來的地方就不多。
而即使有能力訓練的機構,很多也還沒到已經把整個 VLA 的 recipe 在模仿學習階段完全跑通的程度。大多數還停留在模仿學習階段,這一階段裡其實還有很多 low-hanging fruit,可以透過比較簡單的方法就實現顯著提升。
強化學習本身依然是一個非常“科研向”的方向。比如 AlphaGo,它是透過強化學習訓練出來的,它一旦成功,效果非常驚人,但問題是:它太難成功了。強化學習有點像在炒非常不穩定的股票——潛力巨大,但極其難以把控。
所以,當訓練強化學習模型的成本非常高昂時,很多組織在資源分配上就會更加謹慎。也因此,至今仍有不少地方尚未真正去嘗試將強化學習大規模用於此類模型。
8. Hi Robot方法介紹
根據Hi Robot論文裡關於整體架構的描述:Hi Robot的整體架構是由高層策略和低層策略組成。高層策略接收開放式自然語言指令,以及來自基礎相機和手腕相機的影像輸入,生成低層語言指令。低層策略則結合這些語言指令、影像資訊以及機器人的狀態,生成具體的動作指令,並可選地輸出語言回應。
我們這裡面分一個high-level policy和一個low-level policy。High-level policy是相當於system two(S2)一樣,就是它負責思考;low-level policy像是 system one(S1),或者說它負責執行。
這裡面high-level policy向左邊這個箭頭指向的是一些圖片,這些圖片來自於機器人本身對世界的觀察,就是它各個相機拍下來的現在周圍正在發生的事情。然後這個上面寫的 user prompt and instruction 是指不管人對它說什麼,比如說我說“我想要一個有牛肉、有西紅柿、有青菜的三明治”,就是這樣一串對機器人的指令被放了進來。這個是它的輸入。
它的輸出,一個是 low-level language command,也就是給機器人實際執行的指令,比如說它會把剛才這一串指令翻譯成“拿起一片全麥麵包”或者“拿起一片西紅柿”,這樣非常具體的操作指令。然後它還會輸出另一個內容,是機器人對人的回答,比如說你跟它說“我對某個東西過敏”,它就會回應說它瞭解了,它不會把這個東西放到你的三明治裡。它會有這樣一個口頭上的回應。
然後這就是剛才說的這個 low-level language command,比如說“拿起一片西紅柿”這樣的指令,這個連同這些照片一起發給 low-level policy,也就是這裡面用的是π0。再加上機器人本身的一些狀態資訊,比如它的關節(joints)、它自己的觀察值、內部的數值,比如它當前的速度。然後透過這個 model inference,它會預測出後續的行為軌跡,然後再執行出來。
這裡面high-level policy的確可以理解為“大腦”,但像π0,其實更適合理解為“小腦”。我們做的是端到端的學習,所以在這個架構裡,其實並沒有 VLM 和 action expert 明確區分的存在,整個系統是連成一體的,是一個整體的模型,負責具體的感知-運動對映,整個模組就是一個S1的結構。
9. 關於π0的資料問題
之所以很難去訓練這個 low-level policy,是因為它需要在真機上採集資料,資料必須來自真實硬體的互動過程。而且首先要有足夠大的資料量,這就意味著需要非常多的機器人硬體裝置。第二個問題是資料的質量,這其實更加關鍵。高質量的資料對訓練效果影響非常大。在資料質量這方面,還有一段路要走。
像在π0這樣的專案裡,我們其實已經有了一定的經驗,知道什麼樣的資料是“好資料”。這件事情我們已經做了很多年,因此已經積累了一些直覺(intuition),知道哪些資料是有價值的,哪些是不夠好的。
所以我們會基於這些經驗和直覺去主動控制資料採集的過程,透過最佳化採集策略、調控環境和操作方式,來儘量確保採出來的資料是高質量的、對訓練真正有用的。
資料質量的問題是滲透在方方面面的,比如說,機器人上每一個攝像頭放在哪裡,這件事都非常關鍵。很多時候我們看到一些公司在給機器人採資料的時候,相機的位置設定就存在很大問題。比如:有的相機位置太遠,導致它根本看不清自己在幹什麼。人類在操作時可以依靠自身的眼睛做出判斷,但相機看的範圍和解析度可能遠達不到這個能力;有的相機位置太近,以至於完全不知道周圍發生了什麼。當機器人犯了錯,它也沒有足夠的資訊去判斷自己錯在哪裡,也就不知道下一步該怎麼糾正。
所以我們通常不會只用一個相機,會使用至少三個。它們之間如何佈置、如何協同,都會直接影響資料中到底包含了哪些資訊,以及有哪些本該進入資料的資訊卻缺失了。
舉個例子,我們發現,把相機放在機器人的手腕上會比較有效,這種我們稱為 wrist camera。它能在非常近的距離內觀察機器人實際在操作的物體,是非常關鍵的。
這只是一個相機位置的例子,但它反映出來的問題,其實涉及到不同機器人之間的協調、感知資訊的設計等等,這些都會直接影響最終的資料質量。
另外,也存在有經驗的遙操員和新手遙操員採集到的資料差異問題,在實際訓練中,我們不可能只僱傭大量的有經驗的遙操員,現實情況是一定會有大量新手資料。這些資料混在一起,該如何處理?如何建模其中的差異性和不穩定性?這其實也是我們在π0中討論和研究的重要問題之一。
所以這其實也有點像是 ChatGPT 背後的例子。比如說,GPT4同一時期的其他模型,為什麼整體表現都不如GPT4?並不是因為 OpenAI 拿到了比其他家多十倍的資料,大家基本上都用的是類似的網際網路資料量。
真正的差異在於那些無數個細節,特別是在資料處理這部分——可能需要一千個細節同時做到位,每一個都很關鍵。尤其是資料的清洗、篩選、組織、權重分配、格式化等,都會對訓練結果產生巨大影響。
所以像 Google 發的一些論文,通常會花很多篇幅去講模型結構、架構層次,但其實最終效果的好壞,往往背後隱藏的是他們在資料處理上做了很多深入、精細的工作。只是這些細節往往不會全部寫在 paper 裡。
因為模型結構大家都很好奇,而且有時候確實只是換一個模型結構,效能就能提升個 20%。所以大家更關注結構層面的創新,也更願意在論文裡去講這個。
但實際上,他們通常不會講資料是怎麼洗的。怎麼去清洗、篩選、組織這些資料,往往才是決定模型能不能提升 60%、70% 效能的關鍵。而這些部分,才是真正的“秘密武器”。
10. 用於訓練高層策略的資料採集與生成
根據Hi Robot論文裡關於訓練高層策略的資料採集與生成過程的描述:首先採集由人遠端操控的機器人演示資料,並將其分割為短技能片段(例如“拿起一塊 KitKat”)。基於這些標註資料,我們使用視覺-語言模型(VLM)生成合成的使用者指令(例如:“你能幫我拿點甜的東西嗎?”)以及機器人的回應。最終生成的資料集用於訓練高層策略,該策略將影像觀測和使用者指令對映為語言回應和技能標籤。
第0步是採集資料的過程,也就是在真實世界中控制機器人執行任務,比如說一個“去超市買東西”的任務。我們會讓機器人自主導航,比如說跑到貨架前面,然後由人遠端操控它進行各種操作。這裡需要說明的是,我們採集的原始資料是一整段長序列,比如一條資料可能長達十分鐘。
然後進入第1步,我們會把這十分鐘的資料切分成幾秒幾秒的小段,每一小段都對應機器人正在進行的一個動作或任務。我們會給這些小段加上自然語言的標註,描述“機器人此刻正在做什麼”。比如在資料中有一段是“把這塊巧克力拿起來”,我們就會給這一段加上相應的標籤。
但這時候,僅僅有自然語言的動作描述還不夠。比如說,某一段資料被標註為“我在超市裡,我想吃點甜的”,這類描述非常模糊。機器人並不知道“甜的”和“巧克力”之間有什麼聯絡,它無法從這種模糊描述中準確理解任務。
所以就進入了第2步,我們透過 synthetic data(合成數據)的生成來補充資訊。我們會使用一個比較強的 VLM(視覺-語言模型),給它輸入一張圖片和一個明確的動作標籤,比如“拿起一塊巧克力”,讓模型去想象:如果這是一個真實世界的場景,有一個使用者正在與機器人互動,那使用者可能會說什麼指令?
比如,在這個場景中,使用者可能說的是:“你去幫我買一些甜的零食。”然後我們也會讓模型想象,如果機器人聽到這樣的指令,它該如何回應,比如它說:“好,我去給你買一些巧克力吧。”
接下來是第3步,我們會將前面採集的資料、標註的資料以及生成的 synthetic data 全部彙總,用來訓練一個 high-level policy,也就是 Hi Robot 中負責“思考”的部分。訓練的輸入包括圖片和使用者可能發出的指令;訓練的目標是讓模型預測兩個輸出:機器人該如何回應使用者的指令;機器人該實際執行什麼動作。
11. 怎麼理解第2步資料生成VLM
這裡生成的是使用者的指令。比如我們回到剛才那個三明治的例子,它在這個過程中要“想象”的是:現在正在製作的這個三明治裡有生菜、有西紅柿、有芝士,但沒有白菜,也沒有肉。那麼它就可以去推理,這樣的一個配料組合對應的可能是什麼樣的使用者意圖。它可能會聯想到,使用者說的是:“我想要一個沒有肉的三明治。”
所以它的能力在於能從當前行為和視覺資訊中聯想到使用者可能發出的指令,把某種配料組合對應到一類語義場景上,建立起語言和動作之間的對應關係。
當然我們也可以在真實世界中採集人與機器人互動的資料,但這種資料非常昂貴。你不僅需要一個人在控制機器人執行操作,還需要另一個人在現場不停地說話,比如“我想要這個”“我想要那個”“你等會兒”之類的,整個過程人力成本非常高。
但現在的情況是,市面上一些最強的 VLM(視覺語言模型)本身已經具備了這類能力。因為它們是基於整個網際網路的大規模資料進行訓練的,雖然它們不一定見過“人和機器人”之間的對話,但起碼見過大量“人與人”之間的交流。比如,一個人請另一個人幫忙,會怎麼表達;那個人是怎麼回應的;又是怎麼執行對方要求的。
在這種場景中,即使沒有明確寫出“這個人請求了什麼”,模型也可以通過後續的行為來反推他可能說了什麼。這種能力使得我們可以透過合成數據模擬“人機對話”的過程,而不用完全依賴真實互動採集。
12. Hi Robot使用的資料是怎麼構建的
很大一部分都是來自真實機器人採集的資料。比如說,整個動作理解的過程,其實還是一個監督學習的過程。
也就是說,模型之所以能夠理解動作、理解指令,很大程度上是因為它在真實環境中,透過大量人工採集和標註的資料進行訓練的。所以這也就解釋了你後面提到的問題:它的能力,其實在很大程度上是建立在之前那些高質量、真實互動資料的基礎之上的。Hi Robot未來可能會開源,取決於是否有時間。
13. Hi Robot這樣的high-level模組對VLA是必須的嗎?
我覺得不是,這其實非常取決於具體的用途。比如說,如果這個模型本身並不需要和使用者進行任何互動,或者它也不需要在新的場景中進行泛化,那它根本不需要一個像 Hi Robot 這樣的高層模組,甚至它都不一定需要一個完整的 VLA 模型。它可能只需要一個很簡單的模型就足夠完成任務。
所以這其實取決於模型最終要部署在哪個場景中:它有沒有互動的成分?有沒有需要做邏輯推理的部分?
14. 在需要即時互動的場景,Hi Robot是必需的模組嗎?
我只能說,Hi Robot 會賦予它這樣的能力,但這並不是唯一的方式。當然也可以想象未來會出現一個單一的大模型,把這些能力全部整合在一起。或者說,現在這個問題仍然是一個非常開放的研究方向(open-ended research question),其實也沒人能給出最終的標準答案。
References:
Hi Robot
https://www.pi.website/research/hirobot
π0
https://www.physicalintelligence.company/blog/pi0
Lucy Shi主頁
https://lucys0.github.io/
原創不易,歡迎“點贊”“打賞”“在看”三連
也歡迎加我微信交流!


相關文章