LLM巫師,代碼預(yù)訓(xùn)練是魔杖!UIUC華人團(tuán)隊揭秘代碼數(shù)據(jù)三大好處
大模型時代的語言模型(LLM)不僅在尺寸上變得更大了,而且訓(xùn)練數(shù)據(jù)也同時包含了自然語言和形式語言(代碼)。
作為人類和計算機(jī)之間的媒介,代碼可以將高級目標(biāo)轉(zhuǎn)換為可執(zhí)行的中間步驟,具有語法標(biāo)準(zhǔn)、邏輯一致、抽象和模塊化的特點(diǎn)。
最近,來自伊利諾伊大學(xué)香檳分校的研究團(tuán)隊發(fā)布了一篇綜述報告,概述了將代碼集成到LLM訓(xùn)練數(shù)據(jù)中的各種好處。
論文鏈接:https://arxiv.org/abs/2401.00812v1
具體來說,除了可以提升LLM在代碼生成上的能力外,好處還包括以下三點(diǎn):
1. 有助于解鎖LLM的推理能力,使能夠應(yīng)用于一系列更復(fù)雜的自然語言任務(wù)上;
2. 引導(dǎo)LLM生成結(jié)構(gòu)化且精確的中間步驟,之后可以通過函數(shù)調(diào)用的方式連接到外部執(zhí)行終端(external execution ends);
3. 可以利用代碼編譯和執(zhí)行環(huán)境為模型的進(jìn)一步改進(jìn)提供了更多樣化的反饋信號。
此外,研究人員還追蹤了LLM作為智能智能體(intelligent agents,IA)時,在理解指令、分解目標(biāo)、規(guī)劃和執(zhí)行行動(execute actions)以及從反饋中提煉的能力如何在下游任務(wù)中起到關(guān)鍵作用。
最后,文中還提出了「使用代碼增強(qiáng)LLM」領(lǐng)域中關(guān)鍵的挑戰(zhàn)以及未來的研究方向。
代碼預(yù)訓(xùn)練提升LLM性能
以O(shè)penAI的GPT Codex 為例,對 LLM 進(jìn)行代碼預(yù)訓(xùn)練后,可以擴(kuò)大LLM的任務(wù)范圍,除了自然語言處理外,模型還可以為數(shù)學(xué)理論生成代碼、執(zhí)行通用編程任務(wù)、數(shù)據(jù)檢索等。
代碼生成任務(wù)具有兩個特性:1)代碼序列需要有效執(zhí)行,所以必須具有連貫的邏輯,2)每個中間步驟都可以進(jìn)行逐步邏輯驗證(step-by-step logic verification)。
在預(yù)訓(xùn)練中利用和嵌入代碼的這兩種特性,可以提高LLM思維鏈(CoT)技術(shù)在傳統(tǒng)自然語言下游任務(wù)中的性能,表明代碼訓(xùn)練能夠提高LLM進(jìn)行復(fù)雜推理的能力。
通過從代碼的結(jié)構(gòu)化形式中進(jìn)行隱式學(xué)習(xí),代碼 LLM 在常識結(jié)構(gòu)推理任務(wù)中也表現(xiàn)出更優(yōu)的性能,例如與markup、HTML和圖表理解相關(guān)的任務(wù)。
支持功能/函數(shù)終端(function ends)
最近的研究結(jié)果表明,將LLMs連接到其他功能終端(即,使用外部工具和執(zhí)行模塊增強(qiáng)LLMs)有助于LLMs更準(zhǔn)確可靠地執(zhí)行任務(wù)。
這些功能性目的使LLMs能夠獲取外部知識、參與到多種模態(tài)數(shù)據(jù)中,并與環(huán)境進(jìn)行有效互動。
從相關(guān)工作中,研究人員觀察到一個普遍的趨勢,即LLMs生成編程語言或利用預(yù)定義的函數(shù)來建立與其他功能終端的連接,即「以代碼為中心」的范式。
與LLM推理機(jī)制中嚴(yán)格硬編碼工具調(diào)用的固定實(shí)踐流程相反,以代碼為中心的范式允許LLM動態(tài)生成tokens,并使用可適應(yīng)的參數(shù)(adaptable parameters)調(diào)用執(zhí)行模塊,為LLM與其他功能終端交互提供了一種簡單明了的方法,增強(qiáng)了其應(yīng)用程序的靈活性和可擴(kuò)展性。
重要的是,這種范式可以讓LLM與跨越不同模態(tài)和領(lǐng)域的眾多功能終端進(jìn)行交互;通過擴(kuò)展可訪問的功能終端的數(shù)量和種類,LLM可以處理更復(fù)雜的任務(wù)。
本文中主要研究了與LLM連接的文本和多模態(tài)工具,以及物理世界的功能端,包括機(jī)器人和自動駕駛,展現(xiàn)了LLM在解決各種模式和領(lǐng)域問題方面的多功能性。
提供自動反饋的可執(zhí)行環(huán)境
LLMs表現(xiàn)出超出其訓(xùn)練參數(shù)的性能,部分原因是模型能夠吸收反饋信號,特別是在非靜態(tài)的現(xiàn)實(shí)世界應(yīng)用中。
不過反饋信號的選擇必須謹(jǐn)慎,因為嘈雜的提示可能會阻礙LLM在下游任務(wù)上的表現(xiàn)。
此外,由于人力成本高昂,因此在保持忠誠度(faithful)的同時自動收集反饋至關(guān)重要。
將LLMs嵌入到代碼執(zhí)行環(huán)境中可以實(shí)現(xiàn)上述條件的自動反饋。
由于代碼執(zhí)行在很大程度上是確定性的,LLMs從執(zhí)行代碼的結(jié)果中獲取的反饋仍然忠實(shí)于目標(biāo)任務(wù);代碼解釋器還為LLMs查詢內(nèi)部反饋提供了一個自動路徑,無需人工標(biāo)注即可對LLMs生成的錯誤代碼進(jìn)行調(diào)試和優(yōu)化。
此外,代碼環(huán)境允許LLMs整合各種各樣的外部反饋形式,包括但不限于二元正確性反饋,對結(jié)果的自然語言解釋,以及獎勵值排序,從而實(shí)現(xiàn)一個高度可定制的方法來提高性能。
當(dāng)下的挑戰(zhàn)
代碼預(yù)訓(xùn)練與LLMs推理增強(qiáng)的因果關(guān)系
雖然從直覺上來看,代碼數(shù)據(jù)的某些屬性可能有助于LLMs的推理能力,但其對增強(qiáng)推理技能影響的確切程度仍然模糊不清。
在下一步的研究工作中,重要的是要研究在訓(xùn)練數(shù)據(jù)中加強(qiáng)認(rèn)識:這些代碼屬性是否真的可以增強(qiáng)訓(xùn)練的LLMs的推理能力。
如果確實(shí)如此,對代碼的特定屬性進(jìn)行預(yù)訓(xùn)練可以直接提高LLMs的推理能力,那么理解這種現(xiàn)象將是進(jìn)一步提高當(dāng)前模型復(fù)雜推理能力的關(guān)鍵。
不限于代碼的推理能力
盡管通過代碼預(yù)訓(xùn)練實(shí)現(xiàn)了對推理能力的增強(qiáng),但基礎(chǔ)模型仍然缺乏真正通用人工智能所期望的類似人類的推理能力。
除了代碼之外,大量其他文本數(shù)據(jù)源也有可能增強(qiáng)LLM推理能力,其中代碼的內(nèi)在特征,如缺乏歧義、可執(zhí)行性和邏輯順序結(jié)構(gòu),為收集或創(chuàng)建這些數(shù)據(jù)集提供了指導(dǎo)原則。
但如果繼續(xù)堅持在具有語言建模目標(biāo)的大型語料庫上訓(xùn)練語言模型的范式,很難有一種順序可讀的語言比形式語言更抽象:高度結(jié)構(gòu)化,與符號語言密切相關(guān),并且在數(shù)字網(wǎng)絡(luò)環(huán)境中大量存在。
研究人員設(shè)想,探索可替代的數(shù)據(jù)模式、多樣化的訓(xùn)練目標(biāo)和新穎的架構(gòu)將為進(jìn)一步增強(qiáng)模型推理能力提供更多的機(jī)會。
以代碼為中心范式在應(yīng)用上的挑戰(zhàn)
在LLMs中,使用代碼連接到不同的功能終端的主要挑戰(zhàn)是學(xué)習(xí)不同功能的正確調(diào)用方法,包括選擇正確的功能(函數(shù))終端以及在適當(dāng)?shù)臅r候傳遞正確的參數(shù)。
比如說一個簡單的任務(wù)(網(wǎng)頁導(dǎo)航),給定一組有限的動作原語后,如鼠標(biāo)移動、點(diǎn)擊和頁面滾動,再給出一些例子(few-shot),一個強(qiáng)大的基礎(chǔ)LLM往往需要LLM精確地掌握這些原語的使用。
對于數(shù)據(jù)密集型領(lǐng)域中更復(fù)雜的任務(wù),如化學(xué)、生物學(xué)和天文學(xué),這些任務(wù)涉及對特定領(lǐng)域python庫的調(diào)用,其中包含許多不同功能的復(fù)雜函數(shù),增強(qiáng)LLMs正確調(diào)用這些功能函數(shù)的學(xué)習(xí)能力是一個前瞻性的方向,可以使LLMs在細(xì)粒度領(lǐng)域中執(zhí)行專家級任務(wù)。
從多輪互動和反饋中學(xué)習(xí)
LLMs通常需要與用戶和環(huán)境進(jìn)行多次交互,不斷糾正自己以改善復(fù)雜任務(wù)的完成。
雖然代碼執(zhí)行提供了可靠和可定制的反饋,但尚未建立一種完全利用這種反饋的完美方法。
當(dāng)下基于選擇的方法雖然有用,但不能保證提高性能,而且效率低下;基于遞歸的方法嚴(yán)重依賴于LLM的上下文學(xué)習(xí)能力,這可能會限制其適用性;微調(diào)方法雖然做出了持續(xù)的改進(jìn),但數(shù)據(jù)收集和微調(diào)是資源密集型的,實(shí)際使用時很困難。
研究人員認(rèn)為強(qiáng)化學(xué)習(xí)可能是一種更有效的利用反饋和改進(jìn)的方法,可以提供一種動態(tài)的方式來適應(yīng)反饋,通過精心設(shè)計的獎勵功能,潛在地解決當(dāng)前技術(shù)的局限性。
但仍然需要大量的研究來了解如何設(shè)計獎勵函數(shù),以及如何將強(qiáng)化學(xué)習(xí)與LLMs最佳地集成以完成復(fù)雜的任務(wù)。