? 友情提示:這是一篇2W字長文,但我保證,它絕對值得一讀! 如果感興趣的話,感謝關注,點贊轉發在看收藏,五鍵五連,謝謝~ 更多LLM架構文章: 近日熱文: 知乎【柏企】 公眾號【柏企科技說】【柏企閱文】[圖片]
大語言模型(LLMs)徹底改變了人工智能領域,但它的發展并非一蹴而就。一系列具有開創性的研究論文提出了核心觀點,才讓如今的人工智能成為可能——從Transformer的誕生,到能夠遵循指令、逐步推理,甚至使用外部工具的模型。
在這篇文章中,我們將探索九篇對現代大語言模型影響最為深遠的論文。我們會深入剖析它們提出的關鍵概念、為何具有革命性意義,以及它們如何影響研究和現實世界中的人工智能應用。無論你是科技愛好者還是行業專業人士,這篇指南都能幫你梳理人工智能領域這些關鍵進展之間的脈絡。
1.《Attention Is All You Need》(2017年)—— 引入Transformer
2017年,Vaswani等人撰寫的《Attention Is All You Need[1]》論文,介紹了Transformer架構,這是一種完全基于自注意力機制的深度神經網絡。在此之前的序列模型(如循環神經網絡RNNs)是按順序處理單詞的,而Transformer通過讓每個單詞借助注意力權重“關注”其他所有單詞,實現了對整個序列的并行處理。這一點至關重要,因為它摒棄了循環結構,大大提高了訓練的并行化程度和效率。例如,Transformer的自注意力機制使它無需逐詞讀取句子,而是可以同時查看所有單詞,并判斷哪些單詞與理解每個單詞最相關。這種架構在更短的訓練時間內實現了最先進的翻譯質量,也為幾乎所有現代大語言模型奠定了基礎。
重要意義
Transformer證明了僅靠注意力機制就足以捕捉語言中的關系,摒棄了速度較慢的循環計算。自注意力層能夠學習上下文關系,例如在一個句子中,單詞“it”可以關注到它所指代的名詞,無論它們之間相隔多遠。論文還引入了多頭注意力機制,模型可以并行地從多個表示子空間中獲取信息,這使得模型能夠同時學習語言的不同方面(如語法、語義等)。最終的結果是,模型不僅更加準確,而且在像GPU這樣的并行硬件上訓練速度也大大加快。
對行業和研究的影響
Transformer迅速成為自然語言處理模型事實上的骨干架構(可查看 “Visualizing and Explaining Transformer Models From the Ground Up — Deepgram Blog [2]”)。它使得訓練更大規模的模型(擁有數十億參數)成為可能,因為訓練可以分布式進行并擴展。在短短一年內,研究人員將Transformer應用到翻譯以外的許多領域(如文本摘要、語言理解等),它甚至啟發了其他領域的應用(如計算機視覺中的視覺Transformer)。這篇論文的觀點直接促成了后續像BERT和GPT這樣的突破。總之,《Attention Is All You Need》這篇論文名副其實地變革了自然語言處理領域,表明在序列建模方面,注意力機制真的至關重要。
關聯
Transformer是在早期注意力機制研究(如2015年Bahdanau等人針對RNN的研究)的基礎上發展而來的,但它完全摒棄了RNN的其他部分。它為后續的論文奠定了基礎 —— BERT使用Transformer的編碼器堆棧,GPT使用解碼器堆棧,諸如此類。如今,幾乎所有現代人工智能模型,從語言模型到圖像處理模型,都是基于Transformer架構的變體。
如今,幾乎所有現代人工智能模型,從語言模型到圖像處理模型,都是基于Transformer架構構建的。
2.《BERT: Pre-training of Deep Bidirectional Transformers》(2018年)—— 雙向編碼實現上下文理解
2018年,Devlin等人推出了BERT(Bidirectional Encoder Representations from Transformers[3],基于Transformer的雙向編碼器表征),這是一個基于Transformer的模型,旨在通過從兩個方向審視上下文來理解語言。與從左到右預測下一個單詞的模型不同,BERT是在掩碼語言建模任務上進行訓練的:它會隨機隱藏(掩碼)句子中的一些單詞,并利用左右兩側的上下文單詞來預測這些被隱藏的單詞。例如,給定“Alice went to the [MASK] to buy milk”,BERT可以利用[MASK]前后的單詞推斷出此處應該是“store”。這種雙向調節是一個全新的概念,賦予了BERT之前模型所缺乏的深度雙向上下文理解能力。
重要性
BERT展示了在大規模文本語料庫上進行預訓練,然后針對特定任務進行微調的強大力量。BERT新穎的訓練任務——掩碼語言建模和下一句預測,促使模型學習豐富的語言表征。由于BERT可以雙向查看上下文,所以它能夠捕捉到細微的語境差異。例如,它可以根據周圍的單詞區分“river bank”(河岸)和“bank account”(銀行賬戶)中的“bank”。BERT發布時,通過在每個任務上對預訓練模型進行簡單微調,就在11個自然語言處理任務(閱讀理解、問答、情感分析等)上取得了最先進的成果。重要的是,BERT證明了這些上下文表征可以跨任務轉移,這是一種自然語言處理中的遷移學習。這在自然語言處理領域是一個重大轉變:不再需要為每個任務從頭開始訓練模型,而是可以預訓練一個大型通用模型,然后進行適配。
影響
BERT給行業內的自然語言處理應用帶來了變革。幾乎在一夜之間,從業者們就開始將BERT(及其變體)用于搜索引擎、聊天機器人、文本分類等領域,因為它可以用相對較少的數據進行微調,就能實現高精度。它還推廣了“語言模型即服務”的理念,像谷歌這樣的公司將BERT集成到產品中(谷歌搜索利用BERT更好地理解查詢內容)。在研究方面,BERT催生了一系列基于Transformer的語言理解模型(如ERNIE、RoBERTa、ALBERT等),這些模型探索了不同的預訓練調整方法。它還凸顯了模型規模和數據的重要性,BERT-large(3.4億參數)的表現明顯優于BERT-base(1.1億參數),這暗示了未來模型規模擴展的趨勢。
關聯
BERT采用了Transformer的編碼器(來自第一篇論文),并將其應用于無監督預訓練。它受到早期上下文嵌入方法(如ELMo)的啟發,但BERT的Transformer架構使其功能更強大。后來的模型,如GPT-2和GPT-3,則采用了相反的方法(使用Transformer解碼器進行生成式建模)。值得注意的是,下一篇論文(關于GPT-3)展示了將Transformer擴展到極致會產生什么效果,但GPT-3沒有采用BERT的雙向訓練方式。此外,BERT在微調方面的成功,為像Flan(第8篇論文)這樣的指令調整方法鋪平了道路 —— 為什么不在各種各樣的任務上進行微調,從而打造一個能夠遵循任何指令的模型呢?
3.《Language Models are Few-Shot Learners》[4](2020年)—— GPT-3與規模的力量
2020年,Brown等人推出了GPT-3,這是一個擁有1750億參數的Transformer模型。它通過擴大模型規模和在海量數據上進行訓練,展現出了一些涌現能力。該論文展示了一個驚人的現象:GPT-3可以執行它從未經過專門訓練的任務,只需給出幾個示例(少樣本學習)。例如,如果你給GPT-3一個包含幾個翻譯句子(英語 - 法語)的提示,它就可以翻譯新的英語句子為法語,盡管它從未專門針對翻譯進行訓練。這種“從上下文學習”而不是通過更新權重學習的能力是一個重大發現。
關鍵概念:上下文學習
GPT-3表明,一個足夠大的語言模型可以僅從文本輸入中學習新任務。提示有效地引導模型遵循某種模式。論文對零樣本、一樣本和少樣本設置進行了分類:GPT-3在某些任務上即使沒有示例(僅有指令)也能表現出色,但在提示中加入少量示例通常會顯著提高性能。這證明了在一定規模下,語言模型開始以非平凡的方式進行泛化。GPT-3在許多基準測試中,無需任何微調就達到了當時最先進或接近最先進的水平。例如,通過單獨使用提示,它在一系列問答、翻譯和常識測試中接近最先進水平。在當時,這是令人震驚的,這表明大規模的“普通”語言建模編碼了一種廣泛的智能或知識。
重要性
GPT-3的結果強調了模型規模和數據的重要性。論文作者甚至指出“實證收益可能非常顯著”,例如,擁有1750億參數的少樣本GPT-3在復雜任務上超過了經過微調的13億參數模型。這促使研究界重新思考一個訓練來“預測下一個單詞”的單一模型的能力極限。它還使人工智能的使用門檻大大降低:如果你可以通過用通俗易懂的語言編寫提示讓模型完成任務,這就降低了非專家使用人工智能的門檻。在行業中,GPT-3引發了一波基于API的人工智能服務浪潮(如OpenAI的API等),開發者通過提供提示來完成從文本摘要到代碼編寫等各種任務。這不僅僅關乎性能,它還展示了模型的多功能性。一個GPT-3模型可以較好地處理數十種任務(編寫代碼、回答常識問題、進行算術運算等)(論文鏈接:[2005.14165] Language Models are Few-Shot Learners),這對于構建通用人工智能助手非常有吸引力。
影響
在公眾眼中,GPT-3的發布通常被視為當前大語言模型時代的開端。它在文案撰寫(人工智能寫作助手)、代碼生成、聊天機器人等領域得到應用,從本質上開啟了將大型預訓練語言模型用作通用人工智能的趨勢。它也提高了人們對大型語言模型問題的認識,比如編造事實(“幻覺”)和偏差問題,因為GPT-3有時會生成流暢但不正確或帶有偏差的輸出,這促使研究人員致力于模型對齊的研究(第7篇論文)。重要的是,GPT-3從實證上驗證了2020年Kaplan等人另一篇有影響力的關于縮放定律的論文的預測(見下文第4篇論文):更大的模型 + 更多的數據 == 可預測的損失降低和能力提升。事實上,GPT-3的少樣本學習能力可以看作是模型規模帶來的一種涌現屬性。
關聯
GPT-3本質上是一個非常大的Transformer解碼器,從概念上講,它就像放大100倍的GPT-2。它沒有使用BERT的雙向性,也沒有對下游任務進行任何顯式的微調,但通過提示,它在許多基準測試中與BERT等模型表現相當。這促使研究人員思考:在不同規模下,模型還會出現哪些其他“涌現”能力呢?它直接啟發了關于縮放定律的研究(它自身也受益于這些研究),并引發了對提示工程的研究(如何最好地從這些巨型模型中獲取知識)。GPT-3還推動了下一階段的研究:如何使這樣一個通用模型與人類意圖保持一致(因為它能做很多事情,那么我們如何讓它做我們想要的事情呢?)。第7篇論文《InstructGPT with human feedback》等就致力于解決這一模型對齊挑戰。
4.《Scaling Laws for Neural Language Models》[5](2020年)—— 模型變大的科學
幾乎在GPT-3推出的同一時期,Kaplan等人(OpenAI)發表了《Scaling Laws for Neural Language Models》這篇有影響力的論文。該論文系統地研究了隨著模型規模(參數數量)、數據集規模(令牌數量)和計算能力這三個因素的增加,模型性能是如何提升的。他們發現,隨著這些因素的增加,測試損失遵循可預測的冪律改進,在對數對數圖上基本上呈現為一條直線。也許最重要的是,他們發現更大的模型在數據利用上效率更高:如果你的計算預算固定,那么訓練一個更大的模型但減少訓練步數,要比訓練一個較小的模型直至收斂更好。換句話說,在計算資源的使用上,最好是選擇更大的模型,甚至無需訓練到最小損失,這在當時是一個有趣且違反直覺的結果。
關鍵發現
他們推導出了經驗縮放定律,例如:對于模型規模 ,損失與 成正比,其中 ,對于數據和計算也有類似的指數關系。這些定律在7個數量級的范圍內(從非常小的模型到15億參數的模型)都成立。論文還提出了“最優前沿”的概念:在給定固定計算資源的情況下,模型規模與訓練令牌數量之間存在一個最優的權衡。如果你的模型太小,就會未充分利用計算資源(很快就會收斂);如果模型太大,就沒有足夠的數據來訓練它(導致訓練不足)。這個最佳平衡點可以用一個關聯 (模型)和 (數據)的公式來描述。這些見解直接為后來模型的設計提供了指導。事實上,2022年DeepMind的Chinchilla模型就是基于這些縮放定律構建的,他們意識到GPT-3離最優前沿還很遠(就其規模而言,訓練令牌太少),所以他們打造了一個700億參數的模型,并使用了4倍的數據,結果該模型的表現優于1750億參數的模型。這本質上就是Kaplan縮放定律原則的應用。
重要性
在這項研究之前,選擇模型規模或訓練時長在一定程度上靠的是經驗和猜測。這篇關于縮放定律的論文使這些選擇變得科學。它表明,如果我們不斷增加計算資源,就會不斷看到性能提升,這對于投資更大模型的人來說是一個令人安心的信號。它也暗示了模型的涌現能力:雖然這篇論文本身主要關注困惑度/損失,但正如我們所見,GPT-3的論文證實了像少樣本學習這樣的能力會在特定模型規模下涌現。Kaplan等人曾著名地寫道,即使在他們測試的最大規模下,“仍沒有收益遞減的跡象”。這為研究界(和科技公司)提供了一種藍圖:要獲得更好的語言模型,就把它們做得更大,并給它們提供更多的數據,而且你還可以預測它們會提升多少性能。這影響了訓練大規模模型的預算決策。這也是為什么在之后的幾年里,我們看到了1750億參數(GPT-3)、530億參數(PaLM),然后是數萬億參數的稀疏模型,形成了一場模型規模競賽。
影響
直接的影響是研究人員在模型設計方法上的轉變。他們不再僅僅關注架構調整,而是重新聚焦于擴大模型規模(并且有信心這樣做會有效果)。它還引入了計算最優訓練的理念。例如,許多在GPT-3之后出現的現有模型被發現訓練不足,通過重新分配計算資源,為稍小一點的模型使用更多的數據,就可以獲得更好的結果(就像Chinchilla模型那樣)。在行業中,這種理解有助于確定在計算集群和大型數據集上的投資優先級。這篇論文中的圖表基本上可以預測,如果你將數據或參數增加10倍,模型可能會達到什么樣的性能水平,這對于研發路線圖非常有用。最后,這些縮放定律不僅在經驗上很實用,它們還激發了科學探究:為什么會存在這些冪律趨勢呢?它們能告訴我們關于這些模型本質的哪些信息呢?這些問題仍在探索中(有后續研究試圖從理論上解釋這些縮放定律)。
關聯
這篇論文為GPT-3(第3篇論文)的成功提供了理論基礎。它被引用在GPT-3的論文中,并用于選擇GPT-3的模型規模。后來,它指導了LLaMA(第5篇論文)和其他模型找到合適的模型規模和數據平衡。它也與后續論文相輔相成:雖然縮放定律告訴我們越大越好,但LLaMA(第5篇論文)表明,通過合理縮放數據,較小的開源模型可以與較大的閉源模型相媲美,而Flan(第8篇論文)則表明,通過微調擴展任務的多樣性也可以提升模型性能。從本質上講,縮放定律為一個時代奠定了基礎,在這個時代,擴大規模(無論是模型規模、數據規模還是任務規模)成為推動進步的主要手段。
5. 《LLaMA[6]:開放且高效的基礎語言模型》(2023年)——小身材,大能量的模型
到2023年初,研究界面臨一個矛盾:最好的模型規模巨大(擁有數千億參數,如GPT-3、PaLM),但并非每個人都有能力訓練甚至運行這樣的模型。Meta AI的圖夫龍等人撰寫的《LLaMA》論文表明,通過巧妙的訓練,小得多的模型也可以與一些巨型模型表現相當,甚至更優。LLaMA模型(分別有70億、130億、330億、650億參數)在數萬億公開可用的數據令牌上進行訓練,值得注意的是,130億參數的模型在大多數基準測試中表現優于1750億參數的GPT-3(論文鏈接:[2302.13971] LLaMA: Open and Efficient Foundation Language Models)。最大的650億參數的LLaMA與DeepMind的Chinchilla(700億參數)和谷歌的PaLM(5400億參數)具有競爭力,而后兩者的規模要大一個數量級。
關鍵理念
LLaMA并沒有引入新的架構,它和其他模型一樣是基于Transformer架構。其新穎之處在于訓練策略和數據。它利用了縮放定律的見解(第4篇論文),采用了更高的數據與參數比。事實上,LLaMA-65B在1.4萬億個令牌上進行訓練,每個參數對應的文本量遠遠超過GPT-3。這遵循了計算最優范式:與其在這些數據上訓練一個1750億參數的模型,不如訓練一個650億參數的模型更長時間。這種對訓練數據的高效利用使得LLaMA的較小模型在其規模下表現得非常強大。另一個方面是Meta發布了這些模型(或者至少向研究人員提供了這些模型),這對于這個一直被封閉API主導的領域來說,是開放科學的一大步。從技術上講,LLaMA包含了一些訓練優化(如某些架構選擇、模型縮放技術等),但其關鍵在于,通過精心設計和充足的數據,一個中等規模的模型能達到怎樣的高度。
重要性
LLaMA本質上讓高性能的大語言模型變得更加普及。在LLaMA之前,如果你想要使用最好的模型,就必須依賴OpenAI的API或谷歌的模型,而這些都是不開放的。LLaMA展示了一種僅使用公開數據(無需專有語料庫)構建頂級模型的方法。這意味著沒有谷歌那樣資源的機構也有可能訓練出有競爭力的模型。事實上,在LLaMA發布之后,我們看到了一系列為各種目的進行微調的衍生模型(如Alpaca、Vicuna等),因為研究人員可以從LLaMA的權重開始進行研究。從研究的角度來看,LLaMA的結果強化了這樣一個觀點:基于縮放定律的合理縮放比單純的參數數量更重要。它還強調了混合不同數據源(他們使用了代碼、維基百科、書籍、網頁等)以獲得廣泛知識庫的價值。
影響
在實踐中,經過微調的LLaMA的70億和130億參數模型能夠在單個GPU甚至高端筆記本電腦上運行,這使得在邊緣設備上進行大量實驗成為可能。這具有重大意義,比如可以在本地運行無需聯網的個人人工智能助手,或者定制特定于公司的大語言模型,而無需巨大的GPU集群。LLaMA論文也間接驗證了DeepMind的Chinchilla策略(大量數據,合適規模的模型)。LLaMA-13B擊敗了規模大13倍的GPT-3,這一頭條新聞式的結果對“越大越好”的觀點構成了壓力,取而代之的是“更好才是更好”,即更好的訓練數據/策略才是關鍵。在行業中,它為那些無法訓練5000億參數模型的機構縮小了一些性能差距;許多初創公司和實驗室此后都基于LLaMA構建自己的模型,因為它是一個強大的基礎,而且相對來說微調成本較低。
關聯
LLaMA直接與縮放定律(第4篇論文)相關聯,它本質上證明了遵循這些定律可以產生最優結果。它也為后續關于指令調整(第8篇論文)和工具使用(第9篇論文)的論文奠定了基礎,因為一旦有了一個開源的優秀基礎模型,就可以公開地應用這些技術。從某種意義上說,LLaMA以開放的方式接過了GPT-3留下的接力棒:它提供了一個基礎模型,其他人可以對其進行調整(例如,通過像FLAN那樣的指令微調或像InstructGPT那樣的強化學習從人類反饋中學習)。事實上,將LLaMA與指令調整和強化學習從人類反饋中學習相結合,已經產生了與專有模型相媲美的開源聊天機器人。所以LLaMA是新興的開源大語言模型生態系統的基石,連接了學術見解和實際應用。
6. 《思維鏈提示在大語言模型中引發推理》(2022年)——逐步推理
Chain-of-Thought Prompting Elicits Reasoning in Large Language Models[7]
大語言模型面臨的一個重大挑戰是復雜推理,比如多步驟的數學問題或邏輯推理。Wei等人撰寫的《思維鏈提示》這篇論文指出,對于規模足夠大的模型而言,僅僅調整提示格式就能顯著提升其推理能力。這個想法簡單卻十分有效:不再直接讓模型給出答案,而是促使它在給出最終答案前,生成一個逐步推導的解釋(即 “思維鏈” )。通過清晰地寫出中間推理步驟,模型在數學應用題、常識推理和邏輯謎題等任務上的準確率大幅提高。從本質上講,這篇論文教會了模型 “把思考過程說出來” 。
引入的內容
少樣本思維鏈(CoT)提示。例如,要解答 “如果有5個蘋果,你吃了2個,還剩下幾個?” 這個問題,標準的提示可能是:“問題:…… 答案:” 。而思維鏈提示則會包含一個帶有推理過程的示例:“問題:…… 答案:讓我們一步一步來思考。我原本有5個蘋果,吃了2個,所以5 - 2 = 3。答案是3。” 然后,在面對實際問題時,模型就會遵循這個模式(思維鏈提示 | 提示工程指南 )。論文作者發現,對于參數在1000億左右及以上的模型,提供這些推理示例能顯著提升性能(較小規模的模型受益相對較少 —— 這一點很重要,說明推理能力似乎要在一定規模下才會 “涌現” )。通過使用包含8個示例的思維鏈提示,一個擁有5400億參數的模型(谷歌的PaLM)在當時實現了數學應用題(GSM8K)求解的最先進水平,甚至超越了經過專門微調的模型。這是在不更新任何參數的情況下,僅僅通過提示就實現的推理能力的巨大飛躍。
重要意義
這篇論文揭示了一種挖掘大語言模型潛在推理能力的巧妙方法。這表明,模型能夠進行多步驟推理,但在一次性給出答案的模式下,它們往往不會這樣做,因為它們試圖快速給出答案。而僅僅是告訴模型 “展示你的推理過程” ,就能得到更好的結果。這對于像算術運算這樣大語言模型通常比較薄弱的任務(因為它們本質上不是計算器)來說意義重大。它還開辟了一條新的研究方向,專注于提示工程,甚至催生出將思維鏈融入其中的新訓練方法。例如,后續諸如 “自一致性解碼” 等研究工作,就是在思維鏈提示的基礎上,通過對多個推理路徑進行采樣,進一步提高準確率。思維鏈提示還具有直觀的吸引力 —— 這正是我們解決問題的方式(逐步思考),所以它讓人與人工智能的交互更具可解釋性。人們實際上可以看到模型的推理過程,進而有可能發現其推理錯誤之處。
影響
在實際應用中,思維鏈提示開始被用于像ChatGPT這類系統的高級提示設計中。如今,如果你向ChatGPT提出一個復雜問題,它通常會在內部使用思維鏈(實際上,用戶社區發現,告訴它諸如 “讓我們一步一步思考” 這樣的指令,往往能提升它的回答質量 —— 這正是這篇論文觀點的直接體現)。在研究領域,思維鏈提示已成為評估模型推理能力的標準基線。它還影響了微調方法:比如,現在模型有時會使用思維鏈示例進行訓練,以便學習如何給出這類解釋。另一個影響體現在評估方面 —— 思維鏈提示表明,除非采用正確的提示方式,否則模型的真實能力可能會被掩蓋。這讓人們明白,向模型提問的方式至關重要,其重要性不亞于模型本身。
關聯
這項技術與GPT-3或PaLM等大型模型搭配使用效果尤其顯著(在較小規模的模型上效果欠佳,這再次凸顯了模型規模的作用)。它與GPT-3(第3篇論文)相關聯,因為GPT-3暗示了涌現式少樣本學習的存在;思維鏈提示是一種基于提示的特定方法,它解鎖了其中一種涌現技能(推理)。InstructGPT(第7篇論文)和Flan(第8篇論文)也與之相關:它們都利用人類反饋或微調來訓練模型,實際上,在指令微調中融入思維鏈數據(如Flan Collection所做的那樣)會帶來更好的效果。思維鏈提示現在常常與這些方法結合使用 —— 例如,經過指令微調的模型可能更愿意也更有能力給出推理步驟。這很好地說明了提示策略和模型訓練是如何共同發展,以提升大語言模型性能的。
7. 《利用人類反饋訓練語言模型遵循指令》(2022年)——讓模型與我們的期望保持一致(InstructGPT)
Training language models to follow instructions with human feedback[8]
到2022年,很明顯大語言模型能做出令人驚嘆的成果,但它們也可能偏離正軌,比如給出不相關的答案、生成有害的語言,或者根本無法很好地遵循用戶指令。OpenAI的《InstructGPT》論文(Ouyang等人撰寫)通過使用人類反饋強化學習(RLHF)方法,對GPT-3進行微調,使其成為一個能更好遵循指令、更有用且更安全的模型。這也是后來用于訓練ChatGPT的技術。該論文指出,在各種提示下,人類更傾向于只有13億參數的InstructGPT模型,而非最初擁有1750億參數的GPT-3,這一顯著結果充分說明了模型校準和微調的重要性。
關鍵概念
訓練過程分為三個步驟:(1)監督微調(SFT)—— 選取一個預訓練模型,在由人類編寫的提示和理想回復組成的數據集上進行微調。(2)訓練獎勵模型 —— 讓人類對各種提示下模型的不同輸出進行排序,然后訓練一個模型來預測這些偏好排序。(3)強化學習(具體是近端策略優化算法PPO)—— 進一步微調模型,以最大化獎勵模型的得分,理想情況下,這能使模型生成人類評分較高的輸出。簡而言之,就是 “將人類偏好輸入模型” 。最終得到的模型知道如何遵循指令(得益于步驟1),且不會做出人類不喜歡的輸出(通過步驟3的優化實現)。例如,如果提示是 “總結這篇文章” ,GPT-3可能會漫無邊際地闡述或包含不必要的細節,而InstructGPT則更有可能給出簡潔、直接的總結,因為人類評估者更青睞這種方式。
重要性
這是首次大規模展示使語言模型與人類價值觀和意圖保持一致的研究之一。它解決了一個關鍵問題:像GPT-3這樣的大型模型生成的輸出,雖然在技術層面流暢,但往往并非用戶想要的(甚至可能不安全)。通過利用人類反饋進行訓練,模型的可用性大幅提升:標注人員明顯更傾向于InstructGPT的輸出,而非GPT-3的。重要的是,InstructGPT比GPT-3產生幻覺的情況更少,也更不易生成有害內容。這表明,要獲得更好的模型表現,不一定非要擴大模型規模,而是要教會模型什么是期望的行為。從本質上講,這使模型的目標(在預訓練階段是 “預測下一個單詞” )與人類用戶的目標(“有用且正確” )達成了一致。從研究角度來看,這是自然語言處理領域大規模成功應用人類反饋強化學習的案例,此前該方法在機器人或游戲領域更為常見。它還為未來的模型校準工作提供了模板。
影響
2022年初,經過人類反饋強化學習微調的InstructGPT(13億、60億和1750億參數版本)成為OpenAI API的默認新模型。這意味著,無數基于該API構建的應用程序和產品,能立即獲得更友好的用戶回復。它直接推動了ChatGPT的開發,ChatGPT本質上就是以對話形式訓練的InstructGPT。“有用性、真實性、無害性” 作為語言模型的明確目標,在很大程度上因這項研究而受到關注。其他機構也采用了類似的人類反饋循環(例如,Anthropic的Claude使用了類似的人類反饋強化學習方法)。在研究方面,這篇論文促使人們開展更多工作,以探究人類反饋強化學習的局限性,并尋找替代方法或改進措施(比如訓練可擴展的偏好模型,解決 “校準代價” 問題,即校準后的模型在學術任務上的表現可能會略有下降等)。但歸根結底,它證明了我們可以用相對較少的數據(數萬次比較,與預訓練數據相比微不足道)顯著塑造模型的行為,這在數據效率和安全性方面是一大進步。
關聯
這種方法與早期論文相關:它以一個基礎模型(類似于第3篇論文中的GPT-3)為起點,并非通過增加數據或參數來改進,而是進行有針對性的微調。它與思維鏈的概念(第6篇論文)相輔相成 —— 實際上,可以通過指示模型逐步推理將二者結合起來(許多后來經過校準的模型在被要求時都會進行思維鏈推理)。它還與Flan Collection(第8篇論文)相關,因為二者都涉及指令微調,但人類反饋強化學習使用的是人類生成的數據,而非一系列學術任務。在實際應用中,許多現代大語言模型訓練流程會同時采用這兩種方法:首先在書面示例上進行有監督的指令微調(如Flan或其他方法),然后進行人類反饋強化學習以實現更精細的校準。Toolformer(第9篇論文)可以看作是另一種提升模型實用性的方式 —— 通過擴展其能力,而InstructGPT則使模型行為更符合用戶需求。總之,這些進展(思維鏈、人類反饋強化學習等)都有助于實現人工智能既強大又符合人類目標的最終愿景。
8. 《Flan集合:有效指令微調的數據與方法設計》(2022年)——大規模指令微調
The Flan Collection: Designing Data and Methods for Effective Instruction Tuning[9]
在人們探索人類反饋強化學習的同一時期,另一種使模型符合用戶期望的方法是,在各種各樣的任務上進行有監督的指令微調。《Flan集合》論文(Longpre等人撰寫,谷歌團隊)整合了大量自然語言處理任務和方法,對模型進行微調,使其能夠在眾多基準測試中直接遵循指令。可以將其理解為,通過在數千個以指令形式表述的示例任務上進行訓練,“植入” 模型遵循指令的能力。最終得到了像Flan-T5和Flan-PaLM這樣的模型,與基礎模型相比,它們在未見任務上的零樣本和少樣本性能顯著提升。在某些情況下,Flan-T5(110億參數)在特定基準測試中的表現甚至超過了規模大得多的GPT-3(1750億參數)。
關鍵概念
指令微調 —— 收集一系列任務(翻譯、情感分析、閉卷問答、常識推理等),將每個示例轉換為自然語言指令格式(例如,“將這句話翻譯成法語:……” 或 “這條評論是正面的還是負面的?……” ),然后在這個任務集合上對模型進行微調。Flan集合規模 “龐大”:它整合了來自多個來源的數據(包括之前的多任務集合,如T0、Super-Natural Instructions,并加入了他們自己的數據),總計超過1800個任務。它還在訓練過程中對包含思維鏈解釋、少樣本示例和其他提示變體的提示進行了實驗。通過在這些混合任務上對類似PaLM的模型進行微調(得到Flan-PaLM),他們獲得了一個能夠更好處理新指令的模型,且無需人類反饋或獎勵模型。例如,Flan-PaLM在基準評估任務中表現出色,甚至在實際場景中更能直接遵循人類提示(這也是谷歌在其API中采用Flan-T5和Flan-PaLM的原因)。
重要性
Flan證明了讓模型接觸多種不同指令能夠實現 “任務泛化” 。這就好比讓一個學生學習數百門學科,在測試時,即使問題來自一門新學科,學生也能利用相關知識和遵循指令的通用技能來應對。一個引人注目的發現是:經過指令微調的模型不僅在零樣本任務中表現出色,而且往往比未經過指令微調、規模大得多的模型表現更優。例如,Flan-T5-XXL(110億參數)在某些基準測試中超過了1750億參數的模型 。這在效率提升方面意義重大。它再次證實,訓練方式可能比模型規模更為重要(這與LLaMA的理念相呼應)。此外,Flan集合的對比實驗揭示了其混合數據中哪些部分最有價值 —— 有趣的是,在微調數據中加入思維鏈示例,能在需要推理的任務上帶來顯著提升。這通過微調將思維鏈能力進行了硬編碼,很好地補充了思維鏈提示的概念(第6篇論文)。
影響
許多后續模型都采用了類似Flan的指令微調方法。例如,OpenAI的text-davinci模型(instruct系列)可以看作是在進行類似的操作,Meta的新型LLaMA-2聊天模型也進行了指令微調(使用人類生成的對話數據)。2022年關于Flan的這篇論文,鞏固了提示格式微調作為標準實踐的地位 —— 現在,在進行任何人類反饋強化學習之前,先選取一個預訓練語言模型,在精心策劃的指令數據集(可能包括Flan數據或其他數據)上進行微調,已經是常見做法。這通常能使模型在遵循通用指令方面表現出色,從而減少對人類反饋強化學習的需求。在研究方面,Flan集合是一個公開資源,其中包含許多任務和提示,可供其他人用于自己的微調實驗(它是開源的)。它還為數據混合提供了見解:例如,他們發現并非所有任務類型都具有同等價值,某些混合數據(如大量簡單的問答對)對特定評估至關重要,而其他類型(對話、程序合成任務)的作用則有所不同。這些見解為我們今后構建具有廣泛覆蓋性的訓練集提供了指導。
關聯
Flan就像是InstructGPT的人類反饋強化學習方法的 “監督學習版本” 。二者都旨在使模型遵循指令,但Flan通過精心策劃的任務來實現,且無需人類排序。有趣的是,OpenAI關于InstructGPT的博客甚至指出,他們校準后的模型在用戶提示方面的表現優于Flan和T0,這意味著真實用戶數據(結合人類反饋強化學習)仍具有優勢。不過,Flan和人類反饋強化學習是相輔相成的:在實際應用中,可以先進行類似Flan的多任務微調,再進行人類反饋強化學習。此外,Flan集合中包含的思維鏈數據將其與第6篇論文(思維鏈提示)聯系起來 —— 可以將其視為自動化實現Wei等人手動進行的提示操作。最后,Flan-PaLM相較于規模大得多的模型的出色表現,再次呼應了LLaMA(第5篇論文)和Chinchilla的觀點:巧妙的訓練能夠超越單純的規模優勢。總的來說,在Transformer(第1篇論文)實現規模擴展(第3、4篇論文),并經過部分校準(第7、8篇論文)之后,下一個前沿方向是擴展其能力,這就引出了關于工具使用的論文(第9篇論文)。
9. Toolformer:語言模型可以自學使用工具(2023年)——通過API擴展大語言模型能力
Toolformer: Language Models Can Teach Themselves to Use Tools[10]
盡管取得了這些進展,大語言模型在某些方面仍然存在局限:它們不太擅長算術運算,無法瀏覽網頁獲取最新信息等等,因為它們只能處理在訓練過程中內化的文本內容。Meta的Schick等人提出的Toolformer,給出了一個極具吸引力的解決方案:通過在模型生成的文本中插入API調用,教會語言模型使用外部工具(如計算器、搜索引擎、翻譯系統等)。關鍵在于,這個過程是以自監督的方式完成的,無需人工標注在何處使用工具(參考Vinija’s Notes ? Models ? Toolformer)。Toolformer本質上是用代表工具使用的特殊標記來擴充模型的輸出,使其能夠獲取結果并將其融入文本生成中。例如,當被問到 “423 * 37是多少?” 時,模型可以在內部調用計算器API并插入計算結果。
工作原理
他們選取了一個預訓練的GPT-J(67億參數),并利用它在文本中生成可能的工具使用標注。簡單來說,在訓練數據中,他們會用 “[Calculator(400/1400)→” 這樣的提示激發模型,看它是否能正確預測出結果 “0.29]” 。通過對這些偽調用進行采樣,然后根據使用工具是否真的改進了語言模型的預測來篩選,他們創建了一個擴充數據集,其中的文本包含API調用占位符。然后,他們在這個擴充數據上對模型進行微調。最終得到的模型在推理時,能夠在認為工具可能有用的情況下,決定調用工具(通過一個特殊的標記序列)。Toolformer集成了多種工具,如問答系統(用于事實查找)、計算器、維基百科搜索、翻譯API等。結果顯示,Toolformer模型確實學會了恰當地使用這些工具。例如,它會在遇到數學表達式時使用計算器,在被問到一些冷僻問題時調用維基百科搜索API,這使得它在知識和算術基準測試中的準確率超越了基礎模型單獨所能達到的水平。
重要意義
這篇論文為克服大語言模型的固有局限提供了一個藍圖,方法是將其與外部系統相連接。與其試圖讓模型在內部掌握所有技能(這可能是不可能的,或者在數據利用上效率很低,比如記住整個互聯網內容或精通長除法),Toolformer教會模型何時以及如何借助工具。這是符號工具與神經網絡模型的巧妙結合:模型仍然是一個流暢的文本生成器,但它知道自己的不足,并能通過調用工具來彌補(就像一個精明的人在需要時使用計算器或搜索引擎一樣)。重要的是,這種自監督方法是可擴展的——無需大量人力來標注工具的使用位置,模型或多或少可以自己弄清楚。這對于添加新工具或擴展到使用多種工具來說至關重要。它也符合我們對人工智能助手功能的期望——例如,一個優秀的助手應該說 “讓我幫您查一下”,進行網絡搜索,然后繼續回答。Toolformer朝著在單個模型中實現這種行為邁出了一步。
影響
Toolformer是一項較新的成果,但它的理念已經在廣泛傳播。例如,OpenAI為ChatGPT推出的插件,允許模型調用外部API(如瀏覽網頁、計算等)——這個概念非常相似,盡管OpenAI可能使用了一些人類示例來教會他們的模型使用插件。研究界也一直在探索使用工具增強的大語言模型,有時也稱為 “檢索增強生成” 或 “可編程大語言模型” 。Toolformer提供了具體的證據,表明即使是一個中等規模的模型,通過使用工具也能得到提升:在某些任務上,它憑借工具的幫助,超越了GPT-3規模的模型,盡管它本身的規模要小得多。這表明,對于部署可靠的系統而言,如果模型能夠訪問外部知識庫和計算器,可能就不需要超大型模型。這是一種更模塊化、更具可解釋性的方法——你可以看到API調用和結果,使推理過程更加透明(與思維鏈的動機類似,但這里依賴的是外部的準確性)。我們很可能會看到更多具備工具使用能力的大語言模型,無論是通過訓練(如Toolformer)還是通過設計的API(如插件)來實現。
關聯
Toolformer與之前的許多成果都有關聯。它使用了(來自GPT風格模型的)上下文學習來采樣潛在的工具使用情況,借鑒了思維鏈風格的推理來判斷在何處使用工具可能會有幫助,并且通過為模型提供獲取事實的手段,擴展了模型校準的理念(與其只是試圖讓模型不產生幻覺,不如給它一種核實事實的方法)。可以想象將Toolformer與指令微調相結合:一個經過指令微調、通過人類反饋強化學習校準,并且還能調用工具的模型,將是理想的助手(事實上,這基本上就是最新的帶有插件的GPT-4)。從宏觀的發展脈絡來看,如果說Transformer提供了 “大腦”,人類反饋強化學習/思維鏈賦予了它更好的 “性情” 和推理過程,那么Toolformer則給了它與外界交互的 “工具”(或者至少是訪問互聯網的工具)。它是從獨立的語言模型,轉變為交互式、實用系統的最后一塊拼圖,這個系統可以利用其他資源,更好地滿足用戶需求。
Reference
Attention Is All You Need: https://proceedings.neurips.cc/paper_files/paper/2017/file/3f5ee243547dee91fbd053c1c4a845aa-Paper.pdf#:~:text=The%20Transformer%20follows%20this%20overall,1%20Encoder%20and%20Decoder%20Stacks
Visualizing and Explaining Transformer Models From the Ground Up — Deepgram Blog : https://deepgram.com/learn/visualizing-and-explaining-transformer-models-from-the-ground-up
Bidirectional Encoder Representations from Transformers: https://ar5iv.labs.arxiv.org/html/1810.04805#:~:text=We%20introduce%20a%20new%20language,specific%20architecture%20modifications
《Language Models are Few-Shot Learners》: https://arxiv.org/abs/2005.14165
[5]
《Scaling Laws for Neural Language Models》: https://arxiv.org/abs/2001.08361
[6]
LLaMA: https://arxiv.org/abs/2302.13971
[7]
Chain-of-Thought Prompting Elicits Reasoning in Large Language Models: https://arxiv.org/abs/2201.11903
[8]
Training language models to follow instructions with human feedback: https://arxiv.org/abs/2203.02155v1
[9]
The Flan Collection: Designing Data and Methods for Effective Instruction Tuning: https://arxiv.org/pdf/2301.13688.pdf
[10]
Toolformer: Language Models Can Teach Themselves to Use Tools: https://arxiv.org/pdf/2302.04761
推薦一個軟考小程序:熊貓軟考,支持知識點背誦,歷年真題,錯題本導出
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.