首頁  >  文章  >  科技週邊  >  ChatGPT專題之一GPT家族演化史

ChatGPT專題之一GPT家族演化史

PHPz
PHPz轉載
2023-05-09 19:19:061776瀏覽

時間軸

2018 年 6 月

OpenAI發布GPT-1模型,1.1億參數。

2018 年 11 月

OpenAI發布GPT-2模型,15億參數,但由於擔心濫用,不向公眾開放模型的全部程式碼及資料。

2019 年 2 月

OpenAI開放了GPT-2模型的部分程式碼和數據,但仍然限制了存取。

2019 年 6 月 10 日

OpenAI發布GPT-3模型,1750億參數,並向部分合作夥伴提供了存取權限。

2019 年 9 月

OpenAI開放了GPT-2的全部程式碼和數據,並發布了更大版本。

2020 年 5 月

OpenAI宣布推出GPT-3模型的beta版本,該模型擁有1750億個參數,是迄今為止最大的自然語言處理模型。

2022 年3 月

OpenAI發布InstructGPT,用到Instruction Tuning

2022 年11 月30 日

OpenAI透過GPT-3.5系列大型語言模型微調而成的,全新對話式AI模型ChatGPT正式發表。

2022 年 12 月 15 日

ChatGPT 第一次更新,提升了整體效能,增加了保存和查看歷史對話記錄的新功能。

2023 年 1 月 9 日

ChatGPT 第二次更新,改善了答案的真實性,增加了「停止產生」新功能。

2023 年 1 月 21 日

OpenAI發佈限於部分使用者使用的付費版ChatGPT Professional。

2023 年 1 月 30 日

ChatGPT第三次更新,在此提升了答案真實性的同時,也提升了數學能力。

2023 年 2 月 2 日

OpenAI正式推出ChatGPT收費版訂閱服務,新版本比較免費版回應速度更快,運作更為穩定。

2023 年3 月15 日

OpenAI震撼推出了大型多模態模型GPT-4,不僅能夠閱讀文字,還能識別圖像,並產生文本結果,現已接入ChatGPT 向Plus用戶開放。

GPT-1:基於單向Transformer的預訓練模型    

在 GPT 出現之前,NLP 模型主要是基於針對特定任務的大量標註資料進行訓練。這會導致一些限制:

大規模高品質的標註資料不易取得;

模型僅限於所接受的訓練,泛化能力不足;

無法執行開箱即用的任務,限制了模型的落地應用。

為了克服這些問題,OpenAI走上了預訓練大模型的道路。 GPT-1是由OpenAI於2018年發布的第一個預訓練模型,它採用了單向Transformer模型,並使用了超過40GB的文字資料進行訓練。 GPT-1的關鍵特徵是:生成式預訓練(無監督) 判別式任務精調(有監督)。先用無監督學習的預訓練,在8 個GPU 上花費了1 個月的時間,從大量未標註數據中增強AI系統的語言能力,獲得大量知識,然後進行有監督的微調,與大型數據集整合來提高系統在NLP任務中的效能。 GPT-1在文字生成和理解任務上表現出了很好的性能,成為了當時最先進的自然語言處理模型之一。

GPT-2:多任務預訓練模型

由於單任務模型缺乏泛化性,並且多任務學習需要大量有效訓練對,GPT-2在GPT-1的基礎上進行了擴展和優化,去掉了有監督學習,只保留了無監督學習。 GPT-2採用了更大的文字資料和更強大的運算資源進行訓練,參數規模達到了1.5億,遠超過GPT-1的1.1億參數。除了使用更大的資料集和更大的模型去學習,GPT-2還提出了一個新的更難的任務:零樣本學習(zero-shot),即將預先訓練好的模型直接應用於諸多的下游任務。 GPT-2在多項自然語言處理任務上展現了卓越的效能,包括文字生成、文字分類、語言理解等。

ChatGPT專題之一GPT家族演化史

GPT-3:創造新的自然語言生成與理解能力   

GPT-3是GPT系列模型中最新的一款模型,採用了更大的參數規模和更豐富的訓練資料。 GPT-3的參數規模達到了1.75萬億,是GPT-2的100倍以上。 GPT-3在自然語言生成、對話生成和其他語言處理任務上表現出了驚人的能力,在某些任務上甚至能夠創造出新的語言表達形式。

GPT-3提出了一個非常重要的概念:情境學習(In-context learning),具體內容會在下次推文中解釋。

InstructGPT & ChatGPT

InstructGPT/ChatGPT的訓練分成3步,每一步所需的資料也有些許差異,下面我們分別介紹它們。

從一個預先訓練的語言模型開始,應用以下三個步驟。

ChatGPT專題之一GPT家族演化史

步驟1:監督微調SFT:收集演示數據,訓練一個受監督的策略。我們的標籤器提供了輸入提示分佈上所需行為的示範。然後,我們使用監督式學習在這些資料上對預先訓練的GPT-3模型進行微調。

步驟2:獎勵模型Reward Model訓練。收集比較數據,訓練一個獎勵模型。我們收集了一個模型輸出之間比較的資料集,其中標籤者表示他們更喜歡給定輸入的哪個輸出。然後我們訓練一個獎勵模型來預測人類偏好的輸出。

步驟3:透過獎勵模型上的近端策略優化(PPO)強化學習:使用RM的輸出作為標量獎勵。我們使用PPO演算法對監督策略進行微調,以優化該獎勵。

步驟2和步驟3可以連續迭代;在目前最優策略上收集更多的比較數據,這些數據用於訓練一個新的RM,然後是一個新的策略。

前兩步的prompts,來自OpenAI的線上API上的用戶使用數據,以及僱用的標註者手寫的。最後一步則全都是從API資料中取樣的,InstructGPT的具體資料:

1. SFT資料集

SFT資料集是用來訓練第1步有監督的模型,即使用採集的新數據,依照GPT-3的訓練方式對GPT-3進行微調。因為GPT-3是一個基於提示學習的生成模型,因此SFT資料集也是由提示-答案對組成的樣本。 SFT資料一部分來自使用OpenAI的PlayGround的用戶,另一部分來自OpenAI僱用的40名標註工(labeler)。並且他們對labeler進行了培訓。在這個資料集中,標註工的工作是根據內容自己寫指示。

2. RM資料集

RM資料集用來訓練步驟2的獎勵模型,我們也需要為InstructGPT/ChatGPT的訓練設定一個獎勵目標。這個獎勵目標不必可導,但是一定要盡可能全面且真實的對齊我們需要模型產生的內容。很自然的,我們可以透過人工標註的方式來提供這個獎勵,透過人工對可以給那些涉及偏見的生成內容更低的分從而鼓勵模型不去生成這些人類不喜歡的內容。 InstructGPT/ChatGPT的做法是先讓模型產生一批候選文本,讓後透過labeler根據產生資料的品質對這些生成內容進行排序。

3. PPO資料集

InstructGPT的PPO資料沒有進行標註,它皆來自GPT-3的API的使用者。既不同使用者提供的不同種類的生成任務,其中佔比最高的包括生成任務(45.6%),QA(12.4%),腦力激盪(11.2%),對話(8.4%)等。

附  錄:

ChatGPT 的各項能力來源:

ChatGPT專題之一GPT家族演化史

## GPT -3 到ChatGPT 以及這之間的迭代版本的能力和訓練方法:

ChatGPT專題之一GPT家族演化史

#參考文獻

#1、拆解追溯GPT-3.5 各項能力的起源:https://yaofu.notion.site/GPT-3-5-360081d91ec245f29029d37b54573756

2、全網最全時間線梳理!從ChatGPT的前世今生,到如今AI領域的競爭格局https://www.bilibili.com/read/cv22541079

3、GPT-1論文:Improving Language Understanding by Generative Pre-Training, OpenAI.

4、GPT-2論文:Language Models are Unsupervised Multitask Learners, OpenAI.

5、GPT-3論文:Language Models are Few-Shot Learners, OpenAI.

############################################################################################## #6、Jason W, Maarten B, Vincent Y, et al. Finetuned Language Models Are Zero-Shot Learners[J]. arXiv preprint arXiv: 2109.01652, 2021.######7、OpenAI如何「魔鬼調教」 GPT的? ——InstructGPT論文解讀 https://cloud.tencent.com/developer/news/979148###

以上是ChatGPT專題之一GPT家族演化史的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:51cto.com。如有侵權,請聯絡admin@php.cn刪除