在過去的幾年里,人工智能和機器學習行業見證了自然語言處理系統的開發和應用的迅速崛起,因為研究人員已經能夠以高度靈活和任務無關的方式實施自然語言處理實踐,以用于下游轉移任務。
最初,它是使用詞向量的單層表示,然后被饋送到特定于任務的架構。接下來,RNN架構使用多層表示和上下文狀態來形成更好的表示。最近,我們有了轉移語言模型或預訓練的循環模型,通過微調這些網絡,完全消除了對特定于任務的架構的需求。
事實證明,遷移語言模型是NLP行業的一個重大轉折點,因為它們在回答問題、閱讀理解或文本塊、文本蘊涵等具有挑戰性的任務上取得了巨大進步。
然而,盡管有其優點,遷移語言模型也有一個主要限制,因為它們需要特定于任務的微調或特定于任務的數據集才能實現任務所需的性能。此外,遷移語言模型還要求開發人員將數據集微調到針對特定任務的數十萬個示例。
不言而喻,消除對特定于任務的數據集和特定于任務的微調的要求將是非常可取的,并且出于多種原因對NLP行業有利。
現有預訓練遷移語言模型或循環模型的問題
限制實用性和適用性
首先也是最重要的,每個任務對帶有標記數據的大型數據集的要求限制了語言模型的適用性和實用性。語言模型可應用于各種任務,從生成短篇故事到糾正語法錯誤,再到生成概念示例。有時,收集帶有標記數據的大型監督數據集是一項具有挑戰性的任務,特別是當需要對每個單獨的任務重復該過程時。
利用訓練數據中的虛假相關性
訓練分布的局限性和狹窄性加上模型的表達能力可以導致利用訓練數據中的虛假相關性的潛力發生根本性增長。利用訓練數據的潛力可能會在微調和預訓練范式期間導致問題,因為遷移語言模型的設計方式是在預訓練期間吸收大量信息。
此外,對先前模型的研究表明,大型模型不會每次都產生更好的分布外結果。此外,還表明,在這種范式下實現的泛化可能會導致性能不佳,這主要是因為該模型對于訓練數據高度特定,并且在超出訓練數據范圍的情況下無法表現良好。
與人類學習的比較
最后,與遷移語言模型相比,人類在學習大多數語言任務時不需要大型訓練數據集。大多數情況下,一個人的自然語言的簡短指令或一個語言任務的小演示就足以讓人們理解并執行具有一定競爭力的語言任務。
人類的適應能力具有許多實際優勢,因為它允許他們在不同的技能組合之間切換或將它們混合在一起,以便在方言中更好地執行,這超出了當前NLP系統的能力。
使用元學習和GPT-3解決問題
解決上述挑戰的一個可能的解決方案是使用元學習,這是現代機器學習中的一個概念,它允許模型在訓練時開發更廣泛的技能和識別模式的能力,然后在干擾期間使用這些學到的能力來適應快速,或識別所需的任務。
元學習正在通過一種稱為“上下文學習”的技術在語言模型架構中實現,該技術使用預訓練語言模型的文本輸入作為任務規范。在此過程中,模型以自然語言指令為條件,甚至可能使用一些演示,然后期望模型通過預測后續步驟來完成其余任務。
元學習唯一的主要問題是,盡管它顯示出了積極的潛力,但它仍然不如自然語言架構中的微調方法,并且需要進一步改進才能成為克服語言任務的實用方法。
除了元學習之外,另一種越來越流行的方法是增加Transformer語言模型的容量。過去幾年,遷移模型容量大幅提升,出現了1億參數的RNSS18模型、3億參數的DCLT18模型、15億參數的RWC19模型、80億參數的SSP19模型、RSR19模型有110億個參數,TUR20模型有170億個參數。
從歷史上看,增加模型的容量或增加參數會導致文本合成的改進,并且有跡象表明與下游任務相關的對數損失也遵循隨規模改進的平滑趨勢。
這就引出了GPT-3模型,它擁有超過1750億個參數,在它推出時,它是容量最高的傳輸語言模型。現在我們來談談GPT-3模型。
GPT-3模型簡介
GPT-3是OpenAI于2020年發布的具有超過1750億個參數的自動攻擊語言模型。GPT-3也被歸類為大型語言模型,就像其前身GPT-2模型一樣,是僅解碼器的深度學習模型Transformer模型使用基于卷積的架構來生成文本數據。
GPT-3模型衡量其自身的上下文學習能力,并且GPT-3模型在二十多個NLP數據集和多個新任務上進行評估。對于每個單獨的任務,GPT-3模型在三種條件下進行評估:
少樣本學習或上下文學習:在少樣本學習中,GPT-3模型允許盡可能多的分布能夠很好地適應模型的上下文窗口。
一次性學習:在一次性學習中,模型只允許進行一次演示。
零樣本學習:在零樣本學習中,沒有演示,只有自然語言的指令輸入模型。
從廣義上講,GPT-3模型在零樣本和單樣本設置中實現了所需的性能,并且在少樣本設置中,它在大多數情況下優于最先進的傳輸模型。此外,GPT-3模型在旨在測試即時推理的自然語言任務中的單次和零次設置中表現良好,或者需要快速注意,例如在句子后使用新詞、解讀單詞或執行算術操作。另一方面,當在幾次鏡頭設置中運行時,GPT-3模型在通過人類評估者時會生成類似于人類寫作的合成新聞文章。
GPT-3模型:方法
GPT-3模型采用傳統的預訓練方法,包括模型、數據和訓練,它類似于RWC-19傳輸語言模型的預訓練過程。GPT-3模型擴大了模型規模、數據集規模、數據集的多樣性,并增加了訓練周期的長度。
該模型還使用了上下文學習方法,該方法再次類似于RWC-19模型的方法,但通過系統地探索數據集上下文中學習模式的不同設置來進行一些調整。
因此,讓我們首先探索這些設置,并評估GTP-3模型在不同設置上的表現。
微調
微調模型一直是遷移語言模型中的傳統方法,這種方法涉及通過在特定于所需任務的監督數據集和數十萬個標記示例上訓練模型來更新預訓練模型的權重過程中會用到。
微調方法是有益的,因為它可以在眾多基準測試中返回強勁的性能。另一方面,使用微調方法的主要限制是,它需要為每個單獨的任務提供一個新的大型數據集,有可能利用訓練數據集的虛假特征,可能會導致與人類表現的不公平比較,并且對于分布外的泛化能力較差。
盡管未來可以將微調應用于GPT-3模型,但由于其與任務無關的性能,GPT-3模型的當前范圍并未實現微調方法。
幾槍
Few Shot是一個術語,指的是GPT-3模型在干擾期間作為調節進行幾次任務演示,但模型的權重不更新的設置。在少數鏡頭設置中,數據集通常包含一個帶有上下文的示例和所需的完成(例如,法語句子及其英語翻譯)。少數鏡頭設置為模型提供了K個上下文和補全示例,然后為模型提供了一個最終上下文,并期望模型提供補全。
使用少量鏡頭設置的主要優點是,它顯著減少了對特定于任務的數據的需求,并且還降低了從經過微調的大型數據集學習窄分布的可能性。另一方面,使用少樣本學習的主要缺點是,在少樣本設置中提供的結果不符合標準,并且與其他經過微調的最先進模型相比,結果明顯較差。
一槍
在單鏡頭設置中,僅為模型提供單次演示,其余與少鏡頭設置類似。單一鏡頭設置與遷移語言模型相關的原因是,在所有三種設置中,單一鏡頭是最接近人類向人類傳達任務的方式的一種。這是因為在大多數任務中,通常都會對任務進行一次演示,否則可能很難理解任務的上下文。
零射擊
在零樣本設置中,沒有演示,并且向模型提供描述任務的自然語言指令。零樣本方法是一種提供最大便利性、穩健性并且還可以避免虛假相關性的方法,但它也是所有三種設置中最具挑戰性的。這是因為在某些情況下,即使我們人類在不先看到演示的情況下也很難弄清楚任務的背景。
無論如何,對于某些任務,零樣本設置是最接近人類執行自然語言任務的方式。
上圖比較了在執行獲取英語句子并將其翻譯成法語的自然語言任務時的少數鏡頭、一次鏡頭和零鏡頭設置。
GPT-3:模型架構
GPT-3模型使用與GPT-2模型中使用的架構相同的架構,它包括預歸一化、修改初始化和可逆標記化技術,與GPT模型上使用的技術相同,但使用替代方法局部帶狀稀疏注意力模式的策略,以及變壓器層中交替密集層的策略,類似于稀疏變壓器。
為了研究模型性能對模型大小的依賴性,開發人員訓練了8種不同的模型大小,范圍涵蓋從1.25億到超過1750億個參數的三個不同數量級,其中最后一個被稱為GPT-3模型。與LLM模型相關的先前工作表明,使用足夠量的訓練數據來縮放驗證損失應該是作為大小的函數的近似平滑冪律。不同大小的訓練模型允許開發人員測試下游語言任務以及驗證損失的假設。
上圖比較了用于開發GPT-3的8種不同模型的大小和架構。這里,n(params)定義了可訓練模式的總數,n(layers)定義了模型中的總層數,d(model)定義了瓶頸每層的單元數,d(head)定義了每個注意力頭的尺寸。每個模型的上下文窗口都是相同的,有2048個標記。
此外,為了最大限度地減少節點之間的數據傳輸,模型沿著維度的深度和寬度在GPU上進行分區。每個模型的架構參數都是根據計算效率和負載平衡來選擇的,以最大限度地提高跨GPU模型布局的精度。
訓練數據集
通常,大型語言模型使用的數據集隨著最近的發展而顯著擴展,并且最終形成包含超過一萬億個不同單詞的Common Crawl數據集。數據集的大小足以訓練GPT-3模型,而無需多次更新同一序列。然而,研究和性能分析表明,與經過精心策劃的數據集相比,Common Crawl數據集的輕度過濾版本或未過濾版本的質量較低。
為了解決數據集平均質量的問題,開發人員采取了3個步驟來提高數據集的質量。
開發人員根據類似于高質量參考語料庫的范圍下載并過濾了Common Crawl數據集的版本。
開發人員在整個數據集的文檔級別執行模糊復制,試圖保持其保留驗證集的完整性,作為過度擬合的有效度量,并防止冗余。
開發人員還在訓練數據中添加了高質量的參考語料庫,以擴充Common Crawl數據集,并進一步增加數據集的多樣性。
下圖顯示了用于訓練GPT-3模型的數據集的最終比例或混合。Common Crawl數據在過濾前包含超過45TB的明文,過濾后減少到570GB的數據,大致相當于超過4000億字節對編碼的令牌。值得注意的是,訓練中被視為較高質量的數據集會以更高的頻率進行采樣,而不是按照數據集大小的比例進行采樣。因此,像Books2和CommonCrawl這樣的數據集在訓練期間采樣次數少于一次,而其他數據集則采樣多次。它允許模型接受少量的過擬合,以換取更高質量的訓練數據的訓練。
對于在大量互聯網數據上預先訓練并具有記憶和學習大量內容的能力的大型語言模型,一個重要的擔憂是,在預訓練過程中看到其開發或測試集,可能會污染下游任務。培訓過程。為了減少這種潛在的污染,開發人員搜索了與GPT-3研究的基準測試和開發集的任何重疊部分,并嘗試消除這些重疊部分。
上圖顯示了GPT-3模型訓練期間使用的總計算量。該模型使用神經語言模型的縮放定律在比典型模型更少的標記上訓練更大的模型。因此,GPT-3和RoBERTa-Large模型(比GPT-3模型小10倍)在預訓練過程中每天需要進行近50 petaflops的計算。
評估
對于少數鏡頭學習,模型通過從該任務的訓練數據集中隨機抽取K個示例作為條件來評估評估數據集中存在的每個示例,并根據任務用1或2個換行符對其進行分隔。對于Storycloze和LAMBADA,由于缺乏監督訓練集,該模型從開發集中提取條件示例并在測試集上對其進行評估。對于Winograd,僅存在一個數據集,因此直接從其中提取調節樣本。
K可以是從0到模型上下文窗口允許的最大量的任何值,對于所有模型來說,next=2048,通常適合大約10到100個示例。較大的K值通常會產生更好的結果,但并不總是如此,這就是為什么當模型有測試集和單獨的開發集可用時,模型會在開發集上對幾個K值進行實驗,并基于結果,它在測試集上運行最佳值。
此外,對于需要從多個選項中選擇正確完成的任務,開發人員提供了K個校正示例加上上下文完成,然后僅提供一個上下文示例,然后根據LM似然對任務進行比較每次完成。對于需要二元分類的任務,模型通常會給出更語義化的選項,并使用更有意義的名稱,然后將任務視為多項選擇,有時還會構建類似于RSR模型和架構所做的任務。
對于需要自由形式完成的任務,該模型使用波束搜索,其參數與RSR框架中使用的參數相同,波束長度為4,懲罰為0.6。然后根據數據集的標準,使用F1相似度得分、精確匹配或BLEU對模型進行評分。
結果
上圖顯示了GPT-3模型架構中使用的8個模型的訓練曲線,如前幾節所述。與KMH語言模型的結果類似,GPT-3模型在有效使用訓練計算時的性能遵循適當的規律。只有當趨勢再延長兩個數量級時,與定律才會有細微的差別。人們可能會想到,交叉熵損失的改進可能是對訓練語料庫的虛假細節進行建模的結果。然而,交叉熵損失的改進導致各種NLP任務的整體性能持續提高。
在對廣泛的訓練數據評估8個不同的模型之前,數據集被分為代表相似任務的8個不同類別。這些類別是
對傳統語言建模任務以及類似于語言建模的任務(如完形填空任務或句子/段落完成任務)的評估。
“閉卷”問答任務評價。
評估模型在語言之間翻譯的能力(尤其是一次性和幾次)
評估模型在類似Winograd Schema的任務上的性能。
評估涉及常識推理或問題回答的數據集。
評估閱讀理解任務。
在SuperGLUE基準套件上進行評估。
探索NLI。
語言建模、完成和完形填空任務
在本節中,GPT-3模型的性能在傳統語言建模任務以及需要預測感興趣的單個單詞、或完成一個段落或一個句子、或完成一段文本的任務上進行評估。讓我們簡單詳細地討論一下它們。
語言建模
GPT-3模型計算PTB或Penn Tree Bank數據集上的零樣本困惑度。該模型省略了與維基百科相關的任務,因為它已經包含在模型的訓練數據中,并且還省略了10億字基準,因為它會導致訓練數據中的數據集產生大量摩擦。然而,PTB數據集解決了這些問題,因為它可以早于現代互聯網。GPT-3模型架構中最大的模型在PTB數據集上取得了新的SOTA,顯著提升了15個百分點,并實現了20.50的困惑度。
蘭巴達
LAMBADA數據集用于測試模型對段落或文本中的遠程依賴關系的建模。這意味著模型被要求在閱讀上下文的段落后預測句子的最后一個單詞。此外,語言模型的不斷擴展會導致基準測試的回報遞減。
GPT-3模型在LAMBADA上實現了76%的準確率,比之前最好的模型有8%以上的增益。此外,LAMBADA模型展示了小樣本學習的靈活性,因為它以數據集的經典方式解決了問題。LAMBADA中句子的完成通常是句子的最后一個單詞,但由于語言模型無法知道這一點,因此它不僅為正確的結尾分配概率,還為段落中的其他延續分配概率。
此外,當以某種方式修改輸入到GPT-3模型的示例時,該模型返回的準確率超過86%,比之前的模型提高了18%以上。此外,結果還表明,模型在幾次拍攝設置中的性能隨著模型尺寸的增加而成比例增加。盡管該策略將GPT-3架構中的最小模型縮小了20%,但它卻將具有1750億個參數的主GPT-3模型的精度提高了10%。
閉卷問答
閉卷問答是衡量GPT-3模型基于廣泛事實知識回答問題的能力的一種嘗試。由于此類問題通常有大量可能的查詢,因此該任務通常是使用信息檢索系統來實現的,該系統允許模型結合模型查找相關文本,該模型學習根據檢索到的文本生成對答案的響應,并且的問題。
上圖比較了GPT-3模型與不同模型以及在不同數據集上運行的結果。在TriviaQA數據集上,該模型在零樣本設置中達到了64.3%的準確率,而在單樣本和少樣本設置中分別達到了68%和71.2%的準確率。
可以明顯看出,零樣本設置下的GPT-3模型比微調后的T5-11B模型優于14%以上。
上圖顯示,GPT-3模型的性能隨著模型尺寸的增加而平穩增長。性能表明,隨著語言模型容量的增加,它們會繼續從數據集中學習。
最后的想法
可以肯定地說,GPT-3是LLM行業的一個革命性階段,因為GPT-3幫助突破了語言模型的極限。正是GPT-3取得的進展和克服的障礙為迄今為止最先進、最準確的大型語言模型GPT-4鋪平了道路。