GPT-4發布后,其他大模型怎么辦?Yann LeCun:增強語言模型或許是條路
ChatGPT、GPT-4 的火爆,讓大型語言模型迎來了迄今為止的高光時刻。但下一步又該往何處去?
Yann LeCun 最近參與的一項研究指出,增強語言模型或許是個極具潛力的方向。
這是一篇綜述文章,本文將簡單介紹該論文的主要內容。
研究背景
大型語言模型極大地推動了自然語言處理的進步,相關技術造就了幾個擁有數百萬用戶的產品,包括編碼助手 Copilot,谷歌搜索引擎以及最近大火的 ChatGPT。將記憶與組合性功能相結合后,大型語言模型能夠以超前的性能執行各種任務,如語言理解或條件和無條件文本生成,從而讓更高帶寬的人機交互成為現實。
然而,大型語言模型依舊存在一些限制,妨礙其進行更廣泛的部署。大型語言模型通常提供非事實但看似合理的預測,通常被稱為幻覺(hallucination)。這導致了許多本可以規避的錯誤,例如在算術上下文中或在推理鏈中。此外,通過可訓練參數的數量來衡量,許多大型語言模型的突破性能力似乎隨著規模的增加而出現,例如部分研究人員證明,大型語言模型達到一定規模后,就能夠通過少樣本 prompting 執行一些 BIG-bench 任務。盡管最近的一系列工作產生了小規模的語言模型,但這種語言模型仍保留了大模型的一些特性,大型語言模型的大小和數據需求的訓練和維護成本依舊是高昂的。大型模型的持續學習仍然是一個開放的研究問題,此前 Goldberg 在基于 GPT-3 的聊天機器人 ChatGPT 的上下文中討論了大型語言模型的其他局限性。
在最近的一項研究中,來自 Meta 等機構的研究者分析稱,上述這些問題源于大型語言模型的一個本質缺陷:它們通常被訓練為在給定 (i) 單個參數模型和 (ii) 有限上下文(通常是 n 個前面或周圍的 token)的情況下執行統計語言建模。盡管由于近年來軟件和硬件的創新,n 一直在增長,但與始終正確執行語言建模所需的潛在大型上下文相比,大多數模型仍然使用相對較小的上下文。因此,模型需要巨大的規模來存儲上下文中不存在但執行手頭任務所必需的知識。
論文鏈接:https://arxiv.org/pdf/2302.07842v1.pdf
因此,越來越多的研究都在以解決這些問題為目標,而稍微偏離了上述的純統計語言建模范式。
例如,有一項工作是通過增加大型語言模型的相關性來規避有限的上下文大小,通過添加從相關外部文檔中提取的信息來實現。通過為大型語言模型配備從給定上下文的數據庫中檢索此類文檔的模塊,可以在參數較少的情況下匹配一些最大語言模型的某些功能。注意,得到的模型現在是非參數的,因為它可以查詢外部數據源。總體來說,語言模型還可以通過推理策略改善其上下文,以便在生成答案之前生成相關度更高的上下文,省去更多的計算。
另一種策略是允許語言模型利用外部工具,用語言模型權重中不包含的重要缺失信息來增強當前上下文。盡管這些工作中的大部分是為了減輕上面提到的語言模型的缺陷,但也直接說明了,更系統地使用推理和工具來增強語言模型可能會催生更強大的智能體。這些模型稱為增強語言模型 (ALM)。隨著這一趨勢的加速,相關的研究數量急劇增長,此時需要對作品進行分類,并定義不同用途的技術術語。
本論文中使用的術語的定義如下:
推理。在增強語言模型的上下文中,推理是將一個潛在的復雜任務分解成更簡單的子任務,語言模型可以更容易地通過自身或使用工具來解決。存在各種分解子任務的方法,如遞歸或迭代。從這個意義上講,推理類似于 LeCun 2022 那篇論文《A Path Towards Autonomous Machine Intelligence》所定義的「規劃」。在本文中,推理將經常涉及到提高語言模型推理技能的各種策略,例如使用少樣本示例逐步(step-by-step)推理。目前還不完全清楚語言模型是否真的在推理,或者只是生成一個更大的上下文,從而增加正確預測缺失 token 的可能性。不妨參考其他研究人員(Huang and Chang (2022))關于這一主題的討論:盡管基于當前的 SOTA 結果,推理可能是一種語言濫用,但該術語已經在社區中使用。在增強語言模型中,上下文推理的一個更實用的定義是,在生成針對 prompt 的答案之前,給模型更多的計算步驟。
工具。?對于增強語言模型,工具是一個外部模塊,通常使用規則或特殊 token 調用,其輸出包含在增強語言模型的上下文中。該工具可以收集外部信息,或者對虛擬或物理世界產生影響(通常由增強語言模型感知)。獲取外部信息的工具的一個例子是文檔檢索器,而具有外部效果的工具是機械臂。工具可以在訓練或推理時調用??傮w而言,學習與工具交互可能包括學習調用它的 API。
行為。對于增強語言模型,行為是指調用對虛擬世界或物理世界有影響的工具并觀察結果,通常是通過將其包含在增強語言模型的當前上下文中。例如,本文中提到的一些作品討論了網絡搜索或通過語言模型操縱機械臂。如果略微過度地使用術語一下,研究人員有時也會將增強語言模型對工具的調用表示為一種行為,即使它沒有外部效果。
為什么要將推理和工具放在一起討論?語言模型中的推理和工具的組合用來解決大批復雜任務,而不需要啟發式,因此具有更好的泛化能力。通常,推理將促進語言模型將給定的問題分解為可能更簡單的子任務,而工具將幫助使每一步都正確,例如從數學運算中獲得結果。換句話說,推理是語言模型組合不同工具以解決復雜任務的一種方式,而工具是一種使用有效分解避免推理失敗的方法。二者都應該從對方身上受益。此外,推理和工具可以放在同一個「罩」下,因為二者都增強了語言模型的上下文以更好地預測缺失的 token,盡管是以不同的方式。
為什么要將工具和行動放在一起討論?語言模型可以用同樣的方式調用收集額外信息的工具和對虛擬世界或物理世界有影響的工具。例如,語言模型輸出用于求解數學運算的 Python 代碼與語言模型輸出用于操作機械臂的 Python 代碼似乎沒有區別。該論文中討論的一些工作已經使用了對虛擬或物理世界有影響的語言模型。在這種觀點下,可以說語言模型具有行為的潛力,其作為自動化智能體方向所取得的重要進展也值得期待。
本文將調查包含的研究分為三個部分來展開。第二節研究了上述定義的增強語言模型推理能力的工作。第三節重點介紹允許語言模型與外部工具交互并采取行動的工作。最后,第四節探討了推理和工具的使用是通過啟發式實現的還是通過學習實現的,例如通過監督或強化。調查還包括其他部分,作者在第五節中進行了討論。簡潔起見,調查集中于將推理或工具與語言模型結合起來的工作。最后,雖然本文的關注點在大型語言模型上,但并不是所有考慮到的研究都采用了大模型,因此為確保準確性,在其余的調查中也會堅持使用語言模型。
推理
以前的工作表明,大型語言模型可以解決簡單的推理問題,而非復雜的推理問題:因此,本節重點介紹增強語言模型推理技能的各種策略。對于線性模型來說,復雜推理問題的挑戰之一是通過將其預測的正確答案組合到子問題中來正確地獲得解。例如,語言模型可以準確預測名人的出生和死亡日期,但可能無法準確預測年齡。部分研究人員將這種差異稱為語言模型的組合性差距。本節的其余部分將討論與語言模型中誘導推理的三種流行范式相關的工作。由于目前的工作重點是結合工具的推理,這里建議讀者參考其他研究人員對大型語言模型推理的工作所進行的更深入的探討。
工具和行為的使用
最近的語言模型研究路線允許模型訪問不一定存儲在其權重中的知識,例如事實性知識。更準確地說,諸如精確計算或信息檢索之類的任務可以卸載到外部模塊,如 Python 解釋器或被模型查詢的搜索引擎模塊,在這些方面,這些模塊會使用工具。此外,當工具對外部世界產生影響時,我們可以說語言模型執行了一個行為。以特殊 token 的形式輕松地包含工具和行為,這是結合了 Transformer 語言建模的一個方便特性。
在回顧了語言模型可以如何增強以鍛煉自身的推理及應用工具的能力之后,這篇調查研究還介紹了如何教模型應用這些能力。
更多研究細節,可參考原論文。