聊聊Chat GPT-1到GPT-4的發展歷程
OpenAI的Generative Pre-trained Transformer(GPT)模型透過引入非常強大的語言模型,在自然語言處理(NLP)領域引起了巨大震動。這些模型可以執行各種NLP任務,如問題解答、文字蘊涵、文字總結等,而無需任何監督訓練。這些語言模型只需要很少或根本不需要示例就可以理解任務並執行與以監督方式訓練的最先進模型相當或甚至更好的任務。
下面將介紹這些模型的發展歷程,並瞭解它們在近兩年的時間裡是如何演變的。我們從目標和概念、使用的資料集、模型架構和實現細節以及效能評估4個方面介紹。
一 GPT-1
透過生成預訓練(GPT-1)提高語言理解:
在這項工作之前,大多數最先進的NLP模型都是使用監督學習專門針對特定任務進行訓練的,如情緒分類、文字蘊涵等。然而,監督模型有兩個主要限制:
(1)需要大量註釋資料來學習通常不容易獲得的特定任務。
(2)無法概括自己所接受訓練以外的任務。
GPT-1提出了使用未標記的資料學習生成語言模型,然後透過提供特定下游任務(如分類、情感分析、文字蘊涵等)的示例來微調該模型。
無監督學習作為監督微調模型的預訓練目標,因此稱為生成預訓練。
1.學習目標和概念
NLP任務的半監督學習(無監督預訓練後有監督微調)包括以下三個部分:
a.無監督語言建模(預訓練):對於無監督學習,使用標準語言模型目標。
其中 T 是無監督資料 {t_1,…,t_n} 中的標記集,k 是上下文視窗的大小,θ 是使用隨機梯度下降訓練的神經網路的引數。
b.監督微調:本部分旨在最大化觀察標籤y、給定特徵或標記x_1、…、x_n的可能性。
其中 C 是由訓練示例組成的標記資料集。
作者沒有簡單地最大化等式 (ii) 中提到的目標,而是新增了一個輔助學習目標用於監督微調,以獲得更好的泛化和更快的收斂。修改後的培訓目標表述為:
其中 L₁(C) 是學習語言模型的輔助目標,λ 是賦予該次要學習目標的權重。λ 設定為 0.5。
監督微調是透過向轉換模型新增一個線性層和一個 softmax 層來獲得下游任務的任務標籤來實現的。
c.任務特定輸入轉換:為了在微調過程中對模型的架構進行最小的更改,將特定下游任務的輸入轉換為有序序列。令牌按以下方式重新排列:
-開始和結束標記被新增到輸入序列中。
-在示例的不同部分之間新增了分隔符標記,以便可以按順序傳送輸入。對於回答問題、選擇題等任務,每個示例都傳送了多個序列。例如,由上下文、問題和答案序列組成的訓練示例。
2.資料集
GPT-1使用BooksCorpus資料集來訓練語言模型。BooksCorpus有大約7000本未出版的書,這些書有助於根據未發現的資料訓練語言模型。該資料不太可能在下游任務的測試集中找到。此外,這個語料庫有大量的連續文字,這有助於模型學習大範圍的依賴關係。
3.模型架構和實現細節
GPT-1使用了12層僅解碼器的轉換器結構,並對訓練語言模型進行了自我關注。模型的架構在很大程度上與轉換器的原始工作中描述的相同。掩蔽有助於實現語言模型目標,其中語言模型不能訪問當前單詞右側的後續單詞。
以下是實施細節:
a.對於無監督培訓:
•使用了具有 40,000 個合併的位元組對編碼 (BPE) 詞彙表。
•模型使用 768 維狀態將標記編碼為詞嵌入。位置嵌入也是在訓練期間學習的。
•使用 12 層模型,每個自注意力層有 12 個注意力。
•對於位置前饋層,使用了 3072 維狀態。
•使用 Adam 最佳化器,學習率為 2.5e-4。
•注意力、殘差和嵌入丟失被用於正則化,丟失率為 0.1。L2 正則化的修改版本也用於非偏置權重。
•GELU 用作啟用函式。
•該模型在大小為 64、序列長度為 512 的小批次上訓練了 100 個週期。該模型總共有 117M 個引數。
b.對於監督微調:
•大多數下游任務的監督微調只需3個週期。這表明該模型在預訓練期間已經學習了很多關於語言的知識。因此,最小的微調就足夠了。
•來自無監督預訓練的大多數超引數用於微調。
4.總結
GPT-1在12項任務中的9項中的表現優於專門訓練的受監督的最先進模型。
該模型的另一個重要成就是其在各種任務上的零樣本效能。由於預訓練,該模型在不同的NLP任務(如問題回答、模式解決、情緒分析等)上的零樣本效能有所改進。
GPT-1證明語言模型是一個有效的預訓練目標,可以幫助模型很好地推廣。該體系結構促進了遷移學習,並且可以執行各種NLP任務,只需很少的微調。該模型顯示了生成性預訓練的力量,併為其他模型開闢了道路,這些模型可以透過更大的資料集和更多的引數更好地釋放這種潛力。
二 GPT-2
語言模型是無監督的多工學習(GPT-2):
GPT-2模型的發展主要是在使用更大的資料集和向模型中新增更多引數以學習更強大的語言模型方面。讓我們看看GPT-2模型的重大發展以及概念:
1.學習目標和概念
以下是在 NLP 背景下討論的兩個重要概念。
•任務調節:語言模型的訓練目標被表述為 P(輸出|輸入)。然而,GPT-2 旨在使用相同的無監督模型學習多個任務。為此,學習目標應修改為 P(output|input, task)。這種修改被稱為任務調節,其中模型預計會為不同任務的相同輸入產生不同的輸出。一些模型在架構級別實現任務調節,在該級別模型同時提供輸入和任務。對於語言模型,輸出、輸入和任務都是自然語言的序列。因此,執行語言模型的任務條件透過向模型提供示例或自然語言指令來執行任務。任務調節構成了零樣本任務轉換的基礎。
•零樣本學習和零短任務轉換:GPT 2 的一個有趣的能力是零樣本任務轉換。零樣本學習是零樣本任務轉換的一種特殊情況,其中根本沒有提供示例,模型根據給定的指令理解任務。與 GPT-1 進行微調時重新排列序列不同,GPT-2 的輸入以一種格式給出,該格式期望模型理解任務的性質並提供答案。這樣做是為了模擬樣本任務轉轉行為。例如,對於英語到法語的翻譯任務,給模型一個英語句子,然後是法語單詞和一個提示符 (:)。該模型應該理解這是一項翻譯任務,並給出法語對應的英語句子。
2.資料集
為了建立一個廣泛且高質量的資料集,抓取了 Reddit 平臺並從高贊文章的出站連結中提取資料。生成的名為 WebText 的資料集包含來自超過 800 萬份文件的 40GB 文字資料。該資料集用於訓練 GPT-2,與用於訓練 GPT-1 模型的 Book Corpus 資料集相比規模龐大。所有維基百科文章都從 WebText 中刪除,因為許多測試集包含維基百科文章。
3.模型架構和實現細節
GPT-2 有 15 億個引數。是 GPT-1(117M 引數)的 10 倍。與 GPT-1 的主要區別是:
•GPT-2 有 48 層,使用 1600 維向量進行詞嵌入。
•使用了 50,257 個標記的更大詞彙量。
•使用了 512 的更大批次大小和 1024 個標記的更大上下文視窗。
•層歸一化被移動到每個子塊的輸入,並在最終的自注意力塊之後新增了一個額外的層•歸一化。
•在初始化時,殘差層的權重按 1/√N 縮放,其中 N 是殘差層的數量。
•訓練了 117M(與 GPT-1 相同)、345M、762M 和 1.5B(GPT-2)引數的四種語言模型。每個後續模型的困惑度都低於前一個模型。這表明同一資料集上的語言模型的困惑度隨著引數數量的增加而降低。此外,引數數量最多的模型在每個下游任務上的表現都更好。
4.總結
GPT-2 在閱讀、理解、總結、翻譯、問答等下游任務的多個資料集上進行了評估。讓我們詳細瞭解其中一些任務以及 GPT-2 在這些任務上的表現:
•GPT-2 在零樣本設定中改進了 8 個語言建模資料集中的 7 個的現有技術水平。
•兒童讀物資料集評估語言模型在名詞、介詞、命名實體等詞類上的表現。GPT-2 將普通名詞和命名實體識別的最先進準確度提高了約 7%。
•LAMBADA資料集評估模型在識別長程依賴和預測句子最後一個詞方面的效能。GPT-2 將困惑度從 99.8 降低到 8.6,並顯著提高了準確性。
•GPT-2 在零樣本設定的閱讀理解任務中優於 4 個基線模型中的 3 個。
•在法語到英語的翻譯任務中,GPT-2 在零樣本設定中的表現優於大多數無監督模型,但並未優於最先進的無監督模型。
•GPT-2 在文字摘要方面表現不佳,其效能與為摘要訓練的經典模型相似或更差。
•GPT-2 能夠在零樣本測試的 8 個語言建模資料集中的 7 個上取得最先進的結果。
GPT-2 表明,在更大的資料集和更多引數上進行訓練提高了語言模型理解任務的能力,並超越了零樣本設定中許多工的最新技術水平。隨著模型容量的增加,效能以對數線性方式增加。此外,語言模型的困惑度下降並沒有出現飽和,而是隨著引數數量的增加而持續下降。事實上,GPT-2對WebText資料集的擬合不足,更多時間的訓練可能會進一步降低困惑度。這表明 GPT-2 的模型大小不是限制,構建更大的語言模型將減少困惑並使語言模型更好地理解自然語言。
三 GPT-3
語言模型是少樣本學習者(GPT-3):
為了構建非常強大的語言模型,無需進行微調,只需少量演示即可理解任務並執行任務,OpenAI構建了具有1750億引數的GPT-3模型。該模型的引數是微軟強大的圖靈NLG語言模型的10倍,引數是GPT-2的100倍。由於大量的引數和廣泛的資料集GPT-3已經過訓練,它在零樣本和少樣本設定在下游NLP任務中表現良好。由於它的容量大,它有寫文章的能力,很難與人類寫的文章區分開來。它還可以執行從未明確訓練過的即時任務,如總結數字、編寫SQL查詢和程式碼、解讀句子中的單詞、編寫React和JavaScript程式碼,給出任務的自然語言描述等。讓我們瞭解GPT-3中的概念和發展,以及該模型的一些更廣泛的影響和限制:
1.學習目標和概念
•上下文學習:大型語言模型使用它們所訓練的文字資料來開發模式識別和其他技能。在學習預測給定上下文詞的下一個詞的主要目標的同時,語言模型也開始識別資料中的模式,這有助於它們最大限度地減少語言建模任務的損失。後來,這種能力在零樣本任務轉換期間幫助模型。當出現少量示例或需要做什麼的描述時,語言模型會將示例的模式與其過去從類似資料中學到的知識相匹配,並使用該知識來執行任務。這是大型語言模型的一個強大能力,隨著模型引數數量的增加而增加。
•少樣本、單樣本 和 零樣本 設定:如前所述,少樣本、單樣本 和 零樣本 設定是零樣本任務轉換的特例。在少樣本設定中,模型提供了任務描述和適合模型上下文視窗的儘可能多的示例。在單樣本設定中,模型僅提供一個示例,而在零樣本設定中,不提供任何示例。隨著模型容量的增加,模型的少樣本、單樣本 和 零樣本能力也隨之提升。
2.資料集
GPT-3 在五個不同語料庫的混合體上進行訓練,每個語料庫都分配有一定的權重。高質量的資料集被更頻繁地取樣,並且模型在它們上訓練了不止一個週期。使用的五個資料集是 Common Crawl、WebText2、Books1、Books2 和 Wikipedia。
3.模型和實現細節
•GPT-3 的架構與 GPT-2 相同。與 GPT-2 的幾個主要區別是:
•GPT-3 有 96 層,每層有 96 個關注點。
•GPT-3 的詞嵌入大小從 GPT-2 的 1600 增加到 12888。
•上下文視窗大小從 GPT-2 的 1024 個增加到 GPT-3 的 2048 個令牌。
•Adam 最佳化器與 β_1=0.9、β_2=0.95 和 ε= 10^(-8) 一起使用。
•使用了交替的密集和區域性帶狀稀疏注意力模式。
4.總結
GPT-3 在大量語言建模和 NLP 資料集上進行了評估。對於 LAMBADA 和 Penn Tree Bank 等語言建模資料集,GPT-3 在少量或零樣本設定中的表現優於現有技術。對於其他資料集,它無法擊敗最先進的技術,但提高了零樣本最先進的效能。GPT-3 在 NLP 任務中也表現相當不錯,如閉卷問答、模式解析、翻譯等,經常擊敗最先進的或與微調模型相當的表現。對於大多數任務,模型在少樣本設定中的表現優於單樣本和零樣本設定。
除了在常規 NLP 任務上評估模型外,該模型還在算術加法、單詞解讀、新聞文章生成、學習和使用新詞等綜合任務上進行了評估。對於這些任務,效能也隨著數量的增加而提高引數和模型在少樣本設定中的表現優於單樣本和零樣本。
5.侷限性和影響
儘管 GPT-3 能夠生成高質量的文字,但有時它會在制定長句子時開始失去連貫性,並一遍又一遍地重複文字序列。此外,GPT-3 在自然語言推理(確定一個句子是否暗示另一個句子)、填空、一些閱讀理解任務等任務上表現不佳。GPT 模型的單向性可能是侷限性,建議以這種規模訓練雙向模型來克服這些問題。另一個侷限性是 GPT-3 的通用語言建模目標,該目標對每個令牌均等加權,並且缺乏任務或面向目標的令牌預測的概念。為了解決這個問題,可以採用增強學習目標、使用強化學習來微調模型、新增其他模式等提升。
GPT-3 的其他侷限性包括,由於其龐大的架構,模型的推理複雜且成本高昂,語言的可解釋性較差等。
除了這些限制外,GPT-3 還存在濫用其類人文字生成能力進行網路釣魚、垃圾郵件、傳播錯誤資訊或執行其他欺詐活動的潛在風險。此外,GPT-3 生成的文字具有其訓練語言的偏見。GPT-3 生成的文章可能具有性別、民族、種族或宗教偏見。因此,謹慎使用此類模型並在使用前監控它們生成的文字變得極其重要。
四 GPT-4
GPT-4 有望比 GPT-3 實現巨大的效能飛躍,包括改進模仿人類行為和速度模式的文字生成。GPT-4 能夠以更通用和適應性更強的方式處理語言翻譯、文字摘要和其他任務。透過它訓練的軟體將能夠更準確地推斷使用者的意圖,即使人為錯誤干擾了指令。
據推測,GPT-4 僅略大於 GPT-3。較新的模型消除了這樣一種誤解,即變得更好的唯一方法是透過更多地依賴機器學習引數而不是大小來變得更強大。雖然它仍將比大多數上一代神經網路大,但它的大小與其效能的相關性並不大。
一些最新的語言軟體解決方案實現了難以置信的密集模型,其大小達到了 GPT-3 的三倍以上。然而,規模本身並不一定能轉化為更高的效能水平。相反,較小的模型似乎是訓練數字智慧的最有效方式。它們不僅效能得到提升,而且還可以降低計算成本、碳足跡和進入壁壘。
語言模型的最大缺點之一是用於訓練的資源。公司通常決定以較低的價格交換準確性,從而導致 AI 模型明顯未最佳化。通常,人工智慧只被教授一次,這使得它無法獲得學習率、批次大小和序列長度等特徵的最佳超引數集。最近,超引數調整已被證明是效能改進的最重要驅動因素之一。但是,這對於較大的模型是無法實現的。可以在較小的規模上以一小部分成本訓練新的引數化模型,然後將超引數傳輸到更大的系統,幾乎完全沒有成本。
因此,GPT-4 不需要比 GPT-3 大很多就可以更強大。它的最佳化基於改進模型大小以外的變數,例如更高質量的資料。透過能夠使用正確的超引數集、最佳模型大小和準確數量的引數的微調 GPT-4,可以在所有基準測試中實現令人難以置信的發展。
GPT-4 的重點是提供更強大的功能和更有效的資源使用。它不是依賴大型模型,而是經過最佳化以充分利用較小的模型。透過足夠的最佳化,小模型可以跟上甚至超越最大模型。此外,較小模型的實施允許建立更具成本效益和環境友好的解決方案。
詞彙表:
輔助學習目標是與主要學習目標一起學習的附加訓練目標或任務,透過使模型更通用來提高模型的效能。
掩蔽指的是用其他虛擬標記移除或替換句子中的單詞,從而使模型在訓練時無法訪問這些單詞。
位元組對編碼是一種資料壓縮技術,其中頻繁出現的連續位元組對被替換為資料中不存在的位元組來壓縮資料。為了重建原始資料,使用包含替換位元組對映的表。
零樣本學習或行為指的是一個模型在過去沒有見過任何此類例子的情況下執行任務的能力。零樣本學習過程中不會發生梯度更新,模型應該能夠理解任務,而不需要檢視任何示例。
零樣本任務轉換或元學習指的是一種設定,在該設定中,模型只顯示很少或沒有示例,以使其理解任務。
困惑是語言模型的標準評估指標。困惑是測試集的反機率,透過測試集中的單詞數進行歸一化。困惑程度較低的語言模型被認為比困惑程度較高的語言模型更好。
來自 “ 資料驅動智慧 ”, 原文作者:曉曉;原文連結:https://mp.weixin.qq.com/s/nuS4JZRD73lBaXI4A6IYLQ,如有侵權,請聯絡管理員刪除。
相關文章
- Java 的發展歷程Java
- HTTP - 發展歷程HTTP
- 華為的發展歷程
- HTTP版本發展歷程HTTP
- 計算機的發展歷程計算機
- 聊聊我學linux的歷程Linux
- 從“軟體”到“服務“——【物件儲存】的發展歷程(上)物件
- 邊緣計算的發展歷程
- JavaScript非同步呼叫的發展歷程JavaScript非同步
- 深度學習發展歷程深度學習
- GIFTO(GTO)區塊鏈的發展歷程區塊鏈
- TiDB在轉轉公司的發展歷程TiDB
- javascript模組化發展歷程JavaScript
- 前端模組化發展歷程 (-)前端
- Flutter深入淺出--(二)Flutter 的發展歷程Flutter
- 勒索團伙追蹤:Avaddon的發展歷程
- 軟體架構發展歷程分享架構
- Zoho Books十年發展歷程
- 從Lisp到Vue、React再到 Qwit:響應式程式設計的發展歷程LispVueReact程式設計
- 聊聊CPU的發展歷程之單核、多核、超執行緒單核執行緒
- 虛擬化的發展歷程和實現方式
- 大型網站架構演化發展歷程網站架構
- 從300到300萬,一個遠端外包團隊的發展歷程和經驗
- 淺談移動跨平臺開發框架的發展歷程框架
- 大型網站架構演化發展歷程 - 上網站架構
- .NET 平臺系列6 .NET Core 發展歷程
- 各行發展歷程從無到火爆,一對一直播原始碼又該如何原始碼
- 閒話接入光(電)纜線路的技術發展歷程
- JavaScript:從Callback到Async的發展過程——例項演示JavaScript
- Java程式從開發到執行經歷過程Java
- 萬字長文詳解宣告式配置發展歷程
- 架構師日記-從資料庫發展歷程到資料結構設計探析架構資料庫資料結構
- 探討AIGC的崛起歷程,淺析其背後技術發展AIGC
- 2019中國智慧語音的發展歷程、現狀及前景分析
- 影片美顏SDK工具中人臉識別技術的發展歷程
- 區塊鏈發展歷程,區塊鏈技術的落地應用區塊鏈
- 無到無限,回顧亞馬遜雲科技關係型資料庫 15 年的發展歷程亞馬遜資料庫
- 大資料系列 1:大資料技術發展歷程大資料