人工智能革命正在發生,我們是何其幸運的一代,能親眼見證人類/機器智能的大爆發。
僅僅作為這場革命的看客顯然是有些遺憾的,如何進一步了解它?
本文將討論chatgpt的誕生過程,串聯起OpenAI發表的一系列重要論文,幫助讀者更好的了解這場革命背后的原理。
革命源頭——機器學習和深度學習
chatgpt相關的所有技術都起源于機器學習這門學科,我們首先簡單討論下相關背景。
機器學習是一種通過算法和模型使計算機從數據中自動學習并進行預測或決策的技術(百度百科)。
通常的做法是:
- 我們收集一些訓練數據并給與標注(如收集一些圖片,然后根據圖片內容,將圖片標注為不同的類別),然后將這些數據劃分為訓練集(用于訓練模型)和測試集(用于測試模型效果)。
- 然后選擇一個合適的機器學習模型,然后將訓練集喂給它,讓它學習從輸入到標注的映射規律,這一學習過程被稱為模型訓練階段,在這一過程中,模型的權重/參數會不斷更新,并最終收斂不再變化。
- 隨后我們會拿這個收斂的模型/訓練好的模型去預測測試集中的數據,將測試集數據輸入模型后,模型會計算出相應的預測輸出。通過觀察測試集上的效果,我們得以評估模型的好壞,這一過程被稱為測試階段。
自上世紀90年代起,機器學習一直處于蓬勃發展階段,大量的算法被不斷推出,它們在特定數據集/特定領域上表現良好,然而它們能力有限還無法部署到現實世界解決通用問題。
與此同時,一種特別適合大規模訓練的機器學習算法——神經網絡被發明出來,而利用神經網絡模型進行學習的這一機器學習分支被稱為深度學習。 2012年,在大規模圖像分類數據集imagenet的催動下,深度學習爆發。在這一階段,訓練數據集和模型規模都比以前有了大幅度提高,模型可以部署到現實世界解決特定領域的問題而不僅僅在測試數據上表現良好,比如人臉識別,目標檢測等領域,模型可以在真實世界解決這些問題。與此同時,AI工業界開始繁榮,一些專門的AI公司也開始出現,比如AI四小龍。
革命背景——自然語言處理
根據研究對象的不同,人們將人工智能分成了若干分支,比如自然語言處理,計算機視覺,語音識別等,其中自然語言處理是借助計算機技術研究怎樣處理人類語言的學科。它的研究問題包括語言翻譯、情感分析、文本摘要等任務,它使用的方法主要是機器學習方法。
一如前文所講,自然語言處理也會面臨無法在現實世界應用/只能解決特定問題的困境。
2017年,google的研究人員在研究機器翻譯任務時提出了transformer神經網絡,這是一種特別適合大規模計算的網絡,可以將訓練規模擴大到驚人之境。transformer的誕生催動了訓練語言模型時代的到來。
2018年,借助transformer網絡和預訓練技術,OpenAI和google的研究人員分別提出了GPT和bert,這兩種模型都可以解決大量任務而不是特定任務,這顛覆了以前的自然語言研究方法。訓練語言模型解決通用語言任務的時代到來了。
革命導火索——GPT
OpenAI的研究人員借助transformer模型,提出了GPT,
GPT方法核心是提出了利用transofmer進行無監督預訓練 + 判別式監督微調的訓練范式。
簡單來說,就是先讓模型在大量沒標過標簽的文本(比如很多本書)上進行訓練,學習語言的規律,這一步叫生成式預訓練。之后,再針對具體的任務(比如文本分類、問答等),用有標簽的數據對模型進行微調,讓它適應具體任務,這一步是判別式微調。
這種方法的好處是,不需要為每個具體任務專門設計復雜的模型結構,通過對輸入進行一些針對性的轉換,就能讓同一個基礎模型在多種任務上發揮作用。實驗顯示,這種方法在 12 個任務中的 9 個都刷新了當時的最佳成績,比如在常識推理任務上提升了 8.9%,問答任務上提升了 5.7% 等。
尤其令人驚喜的是,作者通過Zero-shot實驗證明了transformer在預訓練后學到的表示確實有利于零樣本解決各類下游任務,有可能不需要專門針對每個具體任務訓練,一個無監督預訓練任務即可解決一切。
這一實驗現象和想法催促了后續GPT模型的開發。
方法
單向自左向右語言建模架構
gpt1采用了transformer的Decoder部分,只有位置編碼部分和原始實現不同,將固定位置編碼換成可訓練的位置編碼。
預訓練任務
- 預訓練目標采用傳統經典的語言模型目標函數,給定前文,最大化后一個詞的概率。
- 文本處理方式:僅在原始文本中添加開始和結束標識。
微調階段
1 目標函數是下游任務的目標函數+語言模型目標函數
(作者解釋額外的語言模型目標函數可以提高下游任務性能,但在隨后的實驗中表明,對于小數據集,這個額外目標函數并沒有用,對較大數據集有用。)
2 文本處理方式:任務特定的文本處理方式,添加分割符,根據不同任務類型拼接問題答案,句子對等
革命領路人——GPT2
gpt1論文中初步探索了語言模型進行零樣本學習的潛力:只依靠無監督預訓練,不使用監督數據訓練便有望解決各類下游任務,但整體論文架構還是基于預訓練-微調的范式。
后繼者gpt2(Language Models are Unsupervised Multitask Learners)不再基于預訓練-微調,去掉微調階段,完全專注探討純無監督預訓練能否解決各類下游任務。這是一個雄心勃勃的想法。
研究人員觀察到以前的研究包括GPT1往往在單領域/單任務數據集(如GP1是在一個較大圖書數據集上進行訓練)訓練,導致模型缺乏足夠的泛化能力。
如果用領域更豐富,任務更豐富的數據進行訓練會是怎樣?
研究人員隨后構建了一個很大的互聯網網頁構成的數據集—— WebText 語料庫,規模為40GB,這個規模遠超以前的研究,然后利用和GPT1相似的架構在該數據集上進行了訓練。
研究人員利用訓練好的模型做了若干實驗,以評估模型的能力。研究人員主要做了兩大類實驗
-
一類是語言建模實驗,給定上文評估模型下文的預測能力,在 8 個語言建模數據集里,有 7 個它在零樣本設置下都取得了最先進的結果,這表明GPT2建模文本,預測下文文本,續寫文本的能力非常強大.
-
-
一類是標準自然語言處理任務,如閱讀理解,翻譯,摘要,問答,研究人員采用了零樣本設定,僅輸入適當提示來讓GPT2完成這些任務,實驗表明GPT2有潛力解決這些任務,但和SOTA相比還有顯著差距,這也促使了GPT-3的誕生。
革命曙光——GPT3
純粹依靠無監督訓練的gpt2(GPT2——通用語言模型的探路者)在閱讀理解翻譯,問答,摘要等任務下的有限表現促使作者進步進一探索如何更好的解決各類任務。他們結合少樣本學習,推出了gpt3(Language Models are Few-Shot Learners).
gpt3對gpt2的主要改進包括:
- 推理/預測時使用更多的上下文,GPT3推理時的輸入包括任務示例:問它前可以給一些例子,GPT3能根據示例提示進行舉一反三,給出更好的回答。
- 更大的模型 (gpt3系列 最大175B,gpt2系列 最大1.5B,參數量增大100倍)
- 更多的訓練數據(10倍以上)
實驗表明GPT3就能在很多自然語言處理任務中表現出色。無需進行微調只需要給適當的任務示例即可很好的解決下游任務,比如翻譯、問答、填空,還有一些需要即時推理或適應新領域的任務,像解字謎、用新單詞造句、做三位數算術等,它都能較好地完成。
另外,GPT-3 生成的新聞文章,人類評估者很難區分是機器寫的還是人類寫的,研究人員也討論了這一發現以及 GPT-3 帶來的更廣泛的社會影響。
革命奠基石——InstructGPT
無監督訓練的gpt3(GPT3——少樣本示例推動下的通用語言模型雛形) 雖然具有強大的能力,但是在遵循用戶意圖/指令方面存在不足,如生成虛假、有毒或無用內容,依賴少樣本提示等方法的引導。
這是因為其無監督訓練目標與 “遵循用戶指令并保障安全有益” 的目標不一致。也許無監督訓練更多的是讓語言模型具備了海量知識,但對于怎么遵循用戶指令給出有益回答,語言模型還需要進一步學習。openai隨后推出的 InstructGPT(Training language models to follow instructions with human fdeeedback) ,通過人類反饋微調(fine-tuning with human feedback) gpt3, 讓語言模型做到這點。
方法
作者結合監督學習和人類反饋強化學習微調 GPT-3。
- 先收集標注員撰寫的提示和 OpenAI API 提交的提示,標注回復,形成示范數據集,用監督學習微調 GPT-3,得到SFT-GPT3;
- 接著收集不同模型輸出的比較數據(對于每個輸入,多個模型給出輸出,標注員按照評估標準,標注出這些輸出的排名),訓練獎勵模型RM;
- 最后以SFT-GPT3 為起點,用近端策略優化算法(PPO)基于獎勵模型優化策略,得到InstructGPT”
通過監督微調(SFT)和基于人類反饋的強化學習(RLHF),GPT3得以進化為InstructGPT,顯著提升了遵循用戶意圖和指令的能力,同時改善了輸出內容的安全性和實用性。
這一工作開啟了基于人類反饋微調的大模型新范式。
InstructGPT 的成功為 ChatGPT 的誕生奠定了關鍵技術基礎。不到一年后, 2022 年 11 月 30 日ChatGPT 由 OpenAI 正式推出。
InstructGPT 之后OpenAI不再發表核心技術論文。本文后面部分我們會進行一些推斷而不再基于其論文。
革命高潮——chatGPT,GPT4
從 InstructGPT 到 ChatGPT:語言模型開始改變世界
InstructGPT 標志著大語言模型開始以“服務人類意圖”為核心目標,這一技術路線在 InstructGPT 基礎上繼續發展,最終催生了 ChatGPT 的第一個版本 —— GPT-3.5。
2022 年 11 月 30 日,OpenAI 正式推出 ChatGPT。在此之前ai研究者基本還是發論文,提出新算法為主,沒想到這次他們改變世界了。
ChatGPT 不再局限于對單輪輸入做出回答,它支持多輪對話,能持續理解用戶的意圖,并在上下文中保持連貫。其關鍵技術包括:
- 對話式微調(Chat Fine-tuning):構建大規模人類對話數據集(如用戶與助手的對話記錄),訓練模型習慣于以聊天風格進行響應。
- 多輪上下文建模機制:保留歷史輸入,使模型能理解上下文中的話題變化和指代關系。
- 更廣泛的訓練數據 ,包括github代碼,arxiv論文等數據集,可參考llama論文。
GPT4:邁向通用智能的堅實一步
2023 年 3 月,OpenAI 發布了更強大的語言模型 —— GPT4,這一代模型被稱為“多模態大模型的初步實現”,具備更高的理解能力、推理能力與穩健性,比如在美國法律考試中達到前10%,而GPT3.5為后10%。
GPT4 的進步主要體現在以下幾個維度:
1. 多模態能力
GPT-4 不僅能處理文本,還支持圖像輸入(如讀取圖片中的文字、描述圖片內容等),是 OpenAI 在圖文融合上的重大突破。可參考Flamingo論文。
2. 更強的推理與穩健性
GPT-4 在推理任務(如數學、邏輯題)中表現出更高準確率,在 MMLU、Big-Bench Hard、HumanEval 等評測中均優于 GPT-3.5,表明其具備更強的泛化能力與“慢思考”能力,可參考CoT論文和OpenAI過程獎勵強化學習論文。
3. 更長的上下文窗口
GPT-4 支持高達 32k(甚至部分版本支持 128k)上下文窗口,使其能處理更長文檔與更復雜的多輪對話。
4. 更細致的 RLHF 微調
GPT-4 在 RLHF 階段加入更多多樣化的偏好數據,引入多個獎勵模型打分(可參考llama2論文), 進一步提升其回答的安全性、準確性、信息量和人類偏好對齊度。
革命仍在進行——GPT5
盡管GPT5尚未發布,但是我們可以觀察到GPT4o,GPT4.1等模型更多的往全能方向發展(圖片理解,代碼生成,自主執行等),GPT5可能也不例外,未來的語言模型不再是僅有對話能力,而是全能戰士。
最后我們總結和估計GPT-1到GPT-5的進化之路:
模型 | 發布時間 | 參數量 | 關鍵特征 | 核心貢獻 | 智能增長量預估 |
---|---|---|---|---|---|
GPT-1 | 2018 | 117M | Transformer decoder + 微調范式 | 提出預訓練-微調框架 | |
GPT-2 | 2019 | 1.5B | 無監督預訓練+零樣本推理 | 無需微調即可解決各種任務 | 10倍 |
GPT-3 | 2020 | 175B | 少樣本示例提示 + 超大規模數據訓練 | 通用語言能力大爆發 | 10倍 |
InstructGPT | 2022 | 基于GPT3 | RLHF + SFT | 開始學會“聽懂人話” | 10倍 |
GPT-3.5 / ChatGPT | 2022.11 | 微調增強版 | 多輪對話、代碼理解更強 | 大模型走入普通人生活,改變世界 | |
GPT-4 | 2023 | 未公布 | 多模態、推理強、上下文32K+ | 接近通用人工智能 | 10倍 |
GPT-5 | 2025 | 未發布 | 未發布 | 10倍 |
本文從 GPT-1 到 GPT-4 回顧了 ChatGPT 技術路線的演化路線。后續還會有更多相關文章。