語(yǔ)言、機(jī)器人破壁,MIT等用GPT-4自動(dòng)生成模擬任務(wù),并遷移到真實(shí)世界
在機(jī)器人領(lǐng)域,實(shí)現(xiàn)通用機(jī)器人策略需要大量數(shù)據(jù),而在真實(shí)世界收集這些數(shù)據(jù)又耗時(shí)費(fèi)力。盡管模擬為生成場(chǎng)景級(jí)和實(shí)例級(jí)的不同體量的數(shù)據(jù)提供了一種經(jīng)濟(jì)的解決方案,但由于需要大量的人力(尤其是對(duì)復(fù)雜任務(wù)),在模擬環(huán)境中增加任務(wù)多樣性仍面臨挑戰(zhàn)。這就導(dǎo)致典型的人工模擬基準(zhǔn)通常僅能包含數(shù)十到數(shù)百個(gè)任務(wù)。
如何解決呢?近年來(lái),大語(yǔ)言模型在自然語(yǔ)言處理及各類任務(wù)的代碼生成方面不斷取得重大進(jìn)展。同樣,LLM 已經(jīng)應(yīng)用于機(jī)器人的多個(gè)方面,包括用戶界面、任務(wù)和運(yùn)動(dòng)規(guī)劃、機(jī)器人日志總結(jié)、成本和獎(jiǎng)勵(lì)設(shè)計(jì),揭示了在物理基礎(chǔ)和代碼生成任務(wù)上的強(qiáng)大能力。
在近日的一項(xiàng)研究中,來(lái)自 MIT CSAIL、上海交通大學(xué)等機(jī)構(gòu)的研究者進(jìn)一步探究 LLM 是否可以用來(lái)創(chuàng)建多樣化的模擬任務(wù),并進(jìn)一步挖掘它們的能力。
具體來(lái)講,研究者提出了一種基于 LLM 的框架 GenSim,它為設(shè)計(jì)和驗(yàn)證任務(wù)資產(chǎn)安排、任務(wù)進(jìn)展提供了一種自動(dòng)化機(jī)制。更重要的是,生成的任務(wù)表現(xiàn)出了極大的多樣性,促進(jìn)了機(jī)器人策略的任務(wù)級(jí)泛化。此外從概念上講,利用 GenSim,LLM 的推理和編碼能力通過(guò)中間合成的模擬數(shù)據(jù)被提煉成了語(yǔ)言 - 視覺(jué) - 行動(dòng)策略。
論文地址:https://arxiv.org/pdf/2310.01361.pdf
GenSim 框架由以下三部分組成:
- 首先是通過(guò)自然語(yǔ)言指令提出新任務(wù)以及相應(yīng)代碼實(shí)現(xiàn)的提示機(jī)制;
- 其次是緩存以前生成的高質(zhì)量指令代碼以用于驗(yàn)證和語(yǔ)言模型微調(diào)的任務(wù)庫(kù),并作為綜合任務(wù)數(shù)據(jù)集返回;
- 最后是利用生成的數(shù)據(jù)來(lái)增強(qiáng)任務(wù)級(jí)泛化能力的語(yǔ)言調(diào)整多任務(wù)策略訓(xùn)練流程。
同時(shí)該框架通過(guò)兩種不同的模式運(yùn)行。其中在目標(biāo)導(dǎo)向設(shè)置中,用戶有特定的任務(wù)或者希望設(shè)計(jì)一個(gè)任務(wù)課程。這時(shí) GenSim 采取自上而下的方法,以預(yù)期任務(wù)作為輸入,迭代地生成相關(guān)任務(wù)以實(shí)現(xiàn)預(yù)期目標(biāo)。而在探索性環(huán)境中,如果缺少目標(biāo)任務(wù)的先驗(yàn)知識(shí),則 GenSim 逐漸探索現(xiàn)有任務(wù)以外的內(nèi)容,并建立與任務(wù)無(wú)關(guān)的基礎(chǔ)策略。
在下圖 1 中,研究者初始化了包含 10 個(gè)人工策劃任務(wù)的任務(wù)庫(kù),使用 GenSim 對(duì)它進(jìn)行擴(kuò)展并生成 100 多個(gè)任務(wù)。
研究者還提出了幾個(gè)定制化的指標(biāo)來(lái)漸進(jìn)地衡量生成模擬任務(wù)的質(zhì)量,并在目標(biāo)導(dǎo)向和探索性設(shè)置中評(píng)估了幾種 LLM。其中對(duì)于 GPT-4 生成的任務(wù)庫(kù),他們對(duì) GPT-3.5 和 Code-Llama 等 LLM 進(jìn)行有監(jiān)督微調(diào),進(jìn)一步提升了 LLM 的任務(wù)生成性能。同時(shí)通過(guò)策略訓(xùn)練定量地衡量任務(wù)的可實(shí)現(xiàn)性,并提供不同屬性的任務(wù)統(tǒng)計(jì)數(shù)據(jù)和不同模型之間的代碼比較。
不僅如此,研究者還訓(xùn)練了多任務(wù)機(jī)器人策略,與僅僅在人工策劃任務(wù)上訓(xùn)練的模型相比,這些策略在所有生成任務(wù)上都能很好地泛化,并提高了零樣本泛化性能。其中與 GPT-4 生成任務(wù)的聯(lián)合訓(xùn)練可以將泛化性能提升 50%,并在模擬中將大約 40% 的零樣本任務(wù)遷移到新任務(wù)中。
最后,研究者還考慮了模擬到真實(shí)的遷移,表明在不同模擬任務(wù)上的預(yù)訓(xùn)練可以將真實(shí)世界的泛化能力提升 25%。
總之,在不同 LLM 生成的任務(wù)上訓(xùn)練的策略實(shí)現(xiàn)了對(duì)新任務(wù)的更好任務(wù)級(jí)泛化能力,彰顯了通過(guò) LLM 擴(kuò)展模擬任務(wù)來(lái)訓(xùn)練基礎(chǔ)策略的潛力。
Tenstorrent AI 產(chǎn)品管理總監(jiān) Shubham Saboo 給予了這項(xiàng)研究很高的評(píng)價(jià),他表示,這是 GPT-4 結(jié)合機(jī)器人的突破性研究,通過(guò) GPT-4 等 LLM 來(lái)生成 autopilot 上的一系列模擬機(jī)器人任務(wù),使機(jī)器人的零樣本學(xué)習(xí)和真實(shí)世界適應(yīng)成為了現(xiàn)實(shí)。
方法介紹
如下圖 2 所示,GenSim 框架通過(guò)程序合成生成模擬環(huán)境、任務(wù)和演示。GenSim pipeline 從任務(wù)創(chuàng)建器開(kāi)始,prompt 鏈以兩種模式運(yùn)行,即目標(biāo)導(dǎo)向模式和探索模式,具體取決于目標(biāo)任務(wù)。GenSim 中的任務(wù)庫(kù)是一個(gè)內(nèi)存組件,用于存儲(chǔ)之前生成的高質(zhì)量任務(wù),任務(wù)庫(kù)中存儲(chǔ)的任務(wù)可用于多任務(wù)策略訓(xùn)練或微調(diào) LLM。
任務(wù)創(chuàng)建器
如下圖 3 所示,語(yǔ)言鏈會(huì)首先生成任務(wù)描述,然后再生成相關(guān)的實(shí)現(xiàn)。任務(wù)描述包括任務(wù)名稱、資源和任務(wù)摘要。該研究在 pipeline 中采用少樣本 prompt 來(lái)生成代碼。
任務(wù)庫(kù)
GenSim 框架中的任務(wù)庫(kù)會(huì)存儲(chǔ)任務(wù)創(chuàng)建器生成的任務(wù),以生成更好的新任務(wù)和訓(xùn)練多任務(wù)策略。任務(wù)庫(kù)是根據(jù)人工創(chuàng)建的基準(zhǔn)中的任務(wù)進(jìn)行初始化的。
任務(wù)庫(kù)為任務(wù)創(chuàng)建器為描述生成階段提供了作為條件的先前的任務(wù)描述,為代碼生成階段提供了先前的代碼,并 prompt 任務(wù)創(chuàng)建器從任務(wù)庫(kù)中選擇參考任務(wù)作為編寫新任務(wù)的樣例。完成任務(wù)實(shí)現(xiàn)并通過(guò)所有測(cè)試后,LLM 會(huì)被 prompt,以「反思(reflect)」新任務(wù)和任務(wù)庫(kù),并形成是否應(yīng)將新生成的任務(wù)添加到庫(kù)中的綜合決策。
如下圖 4 所示,該研究還觀察到 GenSim 表現(xiàn)出有趣的任務(wù)級(jí)組合和外推行為:
LLM 監(jiān)督的多任務(wù)策略
生成任務(wù)后,該研究使用這些任務(wù)實(shí)現(xiàn)來(lái)生成演示數(shù)據(jù)并訓(xùn)練操作策略,并使用與 Shridhar et al. (2022) 類似的雙流傳輸網(wǎng)絡(luò)架構(gòu)。
如下圖 5 所示,該研究將程序視為任務(wù)和相關(guān)演示數(shù)據(jù)的有效表征(圖 5),就可以定義任務(wù)之間的嵌入空間,其距離指標(biāo)對(duì)于來(lái)自感知的各種因素(例如對(duì)象姿態(tài)和形狀)更加穩(wěn)健。
實(shí)驗(yàn)及結(jié)果
該研究通過(guò)實(shí)驗(yàn)來(lái)驗(yàn)證 GenSim 框架,針對(duì)以下具體問(wèn)題:(1)LLM 設(shè)計(jì)和實(shí)現(xiàn)模擬任務(wù)的效果如何?GenSim 可以改進(jìn) LLM 在任務(wù)生成方面的表現(xiàn)嗎?(2) 對(duì) LLM 生成的任務(wù)進(jìn)行訓(xùn)練是否可以提高策略泛化能力?如果給出更多的生成任務(wù),策略訓(xùn)練是否會(huì)受益更多?(3) 針對(duì) LLM 生成的模擬任務(wù)進(jìn)行預(yù)訓(xùn)練是否有利于現(xiàn)實(shí)世界的機(jī)器人策略部署?
評(píng)估 LLM 機(jī)器人模擬任務(wù)的泛化能力
如下圖 6 所示,對(duì)于探索模式和目標(biāo)導(dǎo)向模式任務(wù)生成,少樣本和任務(wù)庫(kù)的兩階段 prompt 鏈可以有效提高代碼生成的成功率。
任務(wù)級(jí)泛化
對(duì)相關(guān)任務(wù)的少樣本策略優(yōu)化。從下圖 7 左可以觀察到,聯(lián)合訓(xùn)練 LLM 生成的任務(wù)可以將原始 CLIPort 任務(wù)上的策略性能提升 50% 以上,尤其是在低數(shù)據(jù)情況(如 5 個(gè) demo)下。
對(duì)未見(jiàn)過(guò)任務(wù)的零樣本策略泛化。從圖 7 中可以看到,通過(guò)對(duì) LLM 生成的更多任務(wù)進(jìn)行預(yù)訓(xùn)練,研究者的模型可以更好地泛化到原始 Ravens 基準(zhǔn)中的任務(wù)。圖 7 右中,研究者還對(duì)人工編寫任務(wù)、閉源 LLM 和開(kāi)源微調(diào) LLM 等不同任務(wù)源上的 5 個(gè)任務(wù)進(jìn)行了預(yù)訓(xùn)練,并觀察到了類似的零樣本任務(wù)級(jí)泛化。
使預(yù)訓(xùn)練模型適應(yīng)真實(shí)世界
研究者將模擬環(huán)境中訓(xùn)練的策略遷移到了真實(shí)環(huán)境中。結(jié)果如下表 1 所示,在 70 個(gè) GPT-4 生成的任務(wù)上進(jìn)行預(yù)訓(xùn)練的模型在 9 個(gè)任務(wù)上進(jìn)行了 10 次實(shí)驗(yàn),取得 68.8% 的平均成功率,與僅在 CLIPort 任務(wù)上進(jìn)行預(yù)訓(xùn)練的基線模型相比提升了 25% 以上,與僅在 50 個(gè)任務(wù)上預(yù)訓(xùn)練的模型相比提升了 15%。
研究者還觀察到,對(duì)不同模擬任務(wù)的預(yù)訓(xùn)練提高了長(zhǎng)期復(fù)雜任務(wù)的穩(wěn)健性。比如說(shuō),GPT-4 預(yù)訓(xùn)練的模型在真實(shí)世界的 build-wheel 任務(wù)上表現(xiàn)出了更加穩(wěn)健的性能。
消融實(shí)驗(yàn)
模擬訓(xùn)練成功率。在下表 2 中,研究者在擁有 200 個(gè) demo 的生成任務(wù)子集上,演示了單任務(wù)和多任務(wù)策略訓(xùn)練的成功率。對(duì)于 GPT-4 生成任務(wù)的策略訓(xùn)練,它的平均任務(wù)成功率為單任務(wù) 75.8%,多任務(wù) 74.1%。
生成任務(wù)統(tǒng)計(jì)。下圖 9 (a) 中,研究者展示了 LLM 生成的 120 個(gè)任務(wù)的不同特征的任務(wù)統(tǒng)計(jì)。其中 LLM 模型生成的顏色、資產(chǎn)、動(dòng)作和實(shí)例數(shù)量之間存在著有趣的平衡。例如,生成的代碼包含了很多超過(guò) 7 個(gè)對(duì)象實(shí)例的場(chǎng)景,以及很多拾起 - 放置原始動(dòng)作和塊等資產(chǎn)。
代碼生成比較。下圖 9 (b) 中,研究者定性地評(píng)估了 GPT-4 和 Code Llama 的自上而下實(shí)驗(yàn)中的失敗案例。
更多技術(shù)細(xì)節(jié)請(qǐng)參閱原論文。