ChatGPT技術(shù)報(bào)告
發(fā)表時(shí)間:2023-04-10
ChatGPT是一個(gè)由OpenAI開(kāi)發(fā)的大型語(yǔ)言模型,是GPT(Generative Pretrained Transformer)系列模型的一部分。它使用了 Transformer 架構(gòu),并在大量的文本數(shù)據(jù)上進(jìn)行了預(yù)訓(xùn)練。預(yù)訓(xùn)練的目的是使模型能夠從大量的文本中學(xué)習(xí)語(yǔ)言知識(shí)和模式,從而在接下來(lái)的任務(wù)中更好地進(jìn)行語(yǔ)言生成。ChatGPT 的應(yīng)用領(lǐng)域廣泛,包括聊天機(jī)器人,問(wèn)答系統(tǒng),文本生成,語(yǔ)音識(shí)別等。在聊天機(jī)器人領(lǐng)域,ChatGPT可以提供人類(lèi)般的自然語(yǔ)言回答,并且在語(yǔ)法和語(yǔ)義方面的表現(xiàn)十分出色。
一、GPT發(fā)展歷程
Generative Pre-trained Transformer (GPT),是一種基于互聯(lián)網(wǎng)可用數(shù)據(jù)訓(xùn)練的文本生成深度學(xué)習(xí)模型。它用于問(wèn)答、文本摘要生成、機(jī)器翻譯、分類(lèi)、代碼生成和對(duì)話(huà) AI。
1.GPT-1
2018 年,GPT-1 誕生,這一年也是 NLP(自然語(yǔ)言處理)的預(yù)訓(xùn)練模型元年。性能方面,GPT-1 有著一定的泛化能力,能夠用于和監(jiān)督任務(wù)無(wú)關(guān)的 NLP 任務(wù)中。其常用任務(wù)包括:
◇ 自然語(yǔ)言推理:判斷兩個(gè)句子的關(guān)系(包含、矛盾、中立)
◇ 問(wèn)答與常識(shí)推理:輸入文章及若干答案,輸出答案的準(zhǔn)確率
◇ 語(yǔ)義相似度識(shí)別:判斷兩個(gè)句子語(yǔ)義是否相關(guān)
◇ 分類(lèi):判斷輸入文本是指定的哪個(gè)類(lèi)別
雖然 GPT-1 在未經(jīng)調(diào)試的任務(wù)上有一些效果,但其泛化能力遠(yuǎn)低于經(jīng)過(guò)微調(diào)的有監(jiān)督任務(wù),因此 GPT-1 只能算得上一個(gè)還算不錯(cuò)的語(yǔ)言理解工具而非對(duì)話(huà)式 AI。
2.GPT-2
GPT-2 也于 2019 年如期而至,不過(guò),GPT-2 并沒(méi)有對(duì)原有的網(wǎng)絡(luò)進(jìn)行過(guò)多的結(jié)構(gòu)創(chuàng)新與設(shè)計(jì),只使用了更多的網(wǎng)絡(luò)參數(shù)與更大的數(shù)據(jù)集:最大模型共計(jì) 48 層,參數(shù)量達(dá) 15 億,學(xué)習(xí)目標(biāo)則使用無(wú)監(jiān)督預(yù)訓(xùn)練模型做有監(jiān)督任務(wù)。在性能方面,除了理解能力外,GPT-2 在生成方面第一次表現(xiàn)出了強(qiáng)大的天賦:閱讀摘要、聊天、續(xù)寫(xiě)、編故事,甚至生成假新聞、釣魚(yú)郵件或在網(wǎng)上進(jìn)行角色扮演通通不在話(huà)下。在“變得更大”之后,GPT-2 的確展現(xiàn)出了普適而強(qiáng)大的能力,并在多個(gè)特定的語(yǔ)言建模任務(wù)上實(shí)現(xiàn)了彼時(shí)的最佳性能。
3.GPT-3
之后,GPT-3 出現(xiàn)了,作為一個(gè)無(wú)監(jiān)督模型,幾乎可以完成自然語(yǔ)言處理的絕大部分任務(wù),例如面向問(wèn)題的搜索、閱讀理解、語(yǔ)義推斷、機(jī)器翻譯、文章生成和自動(dòng)問(wèn)答等等。而且,該模型在諸多任務(wù)上表現(xiàn)卓越,例如在法語(yǔ)-英語(yǔ)和德語(yǔ)-英語(yǔ)機(jī)器翻譯任務(wù)上達(dá)到當(dāng)前最佳水平,自動(dòng)產(chǎn)生的文章幾乎讓人無(wú)法辨別出自人還是機(jī)器,更令人驚訝的是在兩位數(shù)的加減運(yùn)算任務(wù)上達(dá)到幾乎 100% 的正確率,甚至還可以依據(jù)任務(wù)描述自動(dòng)生成代碼。一個(gè)無(wú)監(jiān)督模型功能多效果好,似乎讓人們看到了通用人工智能的希望,這就是 GPT-3 影響如此之大的主要原因。


InstructGPT 的工作原理是開(kāi)發(fā)人員通過(guò)結(jié)合監(jiān)督學(xué)習(xí)+從人類(lèi)反饋中獲得的強(qiáng)化學(xué)習(xí)。來(lái)提高 GPT-3 的輸出質(zhì)量。在這種學(xué)習(xí)中,人類(lèi)對(duì)模型的潛在輸出進(jìn)行排序;強(qiáng)化學(xué)習(xí)算法則對(duì)產(chǎn)生類(lèi)似于高級(jí)輸出材料的模型進(jìn)行獎(jiǎng)勵(lì)。開(kāi)發(fā)人員將提示分為三個(gè)部分,并以不同的方式為每個(gè)部分創(chuàng)建響應(yīng):人類(lèi)作家會(huì)對(duì)第一組提示做出響應(yīng)。開(kāi)發(fā)人員微調(diào)了一個(gè)經(jīng)過(guò)訓(xùn)練的 GPT-3 ,將它變成 InstructGPT 以生成每個(gè)提示的現(xiàn)有響應(yīng)。
下一步是訓(xùn)練一個(gè)模型,使其對(duì)更好的響應(yīng)做出更高的獎(jiǎng)勵(lì)。對(duì)于第二組提示,經(jīng)過(guò)優(yōu)化的模型會(huì)生成多個(gè)響應(yīng)。人工評(píng)分者會(huì)對(duì)每個(gè)回復(fù)進(jìn)行排名。在給出一個(gè)提示和兩個(gè)響應(yīng)后,一個(gè)獎(jiǎng)勵(lì)模型(另一個(gè)預(yù)先訓(xùn)練的 GPT-3)學(xué)會(huì)了為評(píng)分高的響應(yīng)計(jì)算更高的獎(jiǎng)勵(lì),為評(píng)分低的回答計(jì)算更低的獎(jiǎng)勵(lì)。
開(kāi)發(fā)人員使用第三組提示和強(qiáng)化學(xué)習(xí)方法近端策略?xún)?yōu)化(Proximal Policy Optimization, PPO)進(jìn)一步微調(diào)了語(yǔ)言模型。給出提示后,語(yǔ)言模型會(huì)生成響應(yīng),而獎(jiǎng)勵(lì)模型會(huì)給予相應(yīng)獎(jiǎng)勵(lì)。PPO 使用獎(jiǎng)勵(lì)來(lái)更新語(yǔ)言模型。
二、ChatGPT的技術(shù)原理
總體來(lái)說(shuō),Chatgpt 和 InstructGPT 一樣,是使用 RLHF(從人類(lèi)反饋中強(qiáng)化學(xué)習(xí))訓(xùn)練的。不同之處在于數(shù)據(jù)是如何設(shè)置用于訓(xùn)練(以及收集)的。
ChatGPT是一個(gè)大型語(yǔ)言模型,由OpenAI訓(xùn)練,具有高效的語(yǔ)言處理能力。它的底層原理主要包括三個(gè)方面:Transformer架構(gòu)、自注意力機(jī)制和預(yù)訓(xùn)練。
(1) Transformer架構(gòu):Transformer是一種用于處理序列數(shù)據(jù)(如文本)的神經(jīng)網(wǎng)絡(luò)架構(gòu),是在自注意力機(jī)制的基礎(chǔ)上構(gòu)建的。編碼器和解碼器是它的兩個(gè)主要組成部分,分別用于處理輸入數(shù)據(jù)和生成輸出數(shù)據(jù)。
(2) 自注意力機(jī)制:自注意力機(jī)制是Transformer架構(gòu)的核心,它通過(guò)編碼輸入單元并計(jì)算每個(gè)輸入單元與每個(gè)輸出單元的相關(guān)性,來(lái)實(shí)現(xiàn)對(duì)輸入數(shù)據(jù)的分析。
(3) 預(yù)訓(xùn)練:預(yù)訓(xùn)練是一個(gè)在大量文本數(shù)據(jù)上訓(xùn)練語(yǔ)言模型的過(guò)程。通過(guò)預(yù)測(cè)文本中下一個(gè)詞語(yǔ)的概率,模型學(xué)習(xí)語(yǔ)言的語(yǔ)法、語(yǔ)義和模式。預(yù)訓(xùn)練后的模型可以在新的數(shù)據(jù)上獲得更好的表現(xiàn)。
ChatGPT的訓(xùn)練過(guò)程分為以下三個(gè)階段:
第一階段:訓(xùn)練監(jiān)督策略模型
GPT3.5本身很難理解人類(lèi)不同類(lèi)型指令中蘊(yùn)含的不同意圖,也很難判斷生成內(nèi)容是否是高質(zhì)量的結(jié)果。為了讓GPT3.5初步具備理解指令的意圖,首先會(huì)在數(shù)據(jù)集中隨機(jī)抽取問(wèn)題,由人類(lèi)標(biāo)注人員,給出高質(zhì)量答案,然后用這些人工標(biāo)注好的數(shù)據(jù)來(lái)微調(diào)GPT-3.5模型(獲得SFT模型,Supervised Fine-Tuning) 。此時(shí)的SFT模型在遵循指令/對(duì)話(huà)方面已經(jīng)優(yōu)于GPT-3,但不一定符合人類(lèi)偏好。
第二階段:訓(xùn)練獎(jiǎng)勵(lì)模型(Reward Mode,RM)
這個(gè)階段的主要是通過(guò)人工標(biāo)注訓(xùn)練數(shù)據(jù)(約33K個(gè)數(shù)據(jù)),來(lái)訓(xùn)練回報(bào)模型。在數(shù)據(jù)集中隨機(jī)抽取問(wèn)題,使用第一階段生成的模型,對(duì)于每個(gè)問(wèn)題,生成多個(gè)不同的回答。人類(lèi)標(biāo)注者對(duì)這些結(jié)果綜合考慮給出排名順序。這一過(guò)程類(lèi)似于教練或老師輔導(dǎo)。
接下來(lái),使用這個(gè)排序結(jié)果數(shù)據(jù)來(lái)訓(xùn)練獎(jiǎng)勵(lì)模型。對(duì)多個(gè)排序結(jié)果,兩兩組合,形成多個(gè)訓(xùn)練數(shù)據(jù)對(duì)RM模型接受一個(gè)輸入,給出評(píng)價(jià)回答質(zhì)量的分?jǐn)?shù)。這樣,對(duì)于一對(duì)訓(xùn)練數(shù)據(jù),調(diào)節(jié)參數(shù)使得高質(zhì)量回答的打分比低質(zhì)量的打分要高。
第三階段:采用PPO(Proximal Policy Optimization,近端策略?xún)?yōu)化)強(qiáng)化學(xué)習(xí)來(lái)優(yōu)化策略。
PPO的核心思路在于將Policy Gradient中On-policy的訓(xùn)練過(guò)程轉(zhuǎn)化為Off-policy,即將在線學(xué)習(xí)轉(zhuǎn)化為離線學(xué)習(xí),這個(gè)轉(zhuǎn)化過(guò)程被稱(chēng)之為lmportance Sampling。這一階段利用第二階段訓(xùn)練好的獎(jiǎng)勵(lì)模型,靠獎(jiǎng)勵(lì)打分來(lái)更新預(yù)訓(xùn)練模型參數(shù)。在數(shù)據(jù)集中隨機(jī)抽取問(wèn)題,使用PPO模型生成回答,并用上一階段訓(xùn)練好的RM模型給出質(zhì)量分?jǐn)?shù)。把回報(bào)分?jǐn)?shù)依次傳遞,由此產(chǎn)生策略梯度,通過(guò)強(qiáng)化學(xué)習(xí)的方式以更新PPO模型參數(shù)。
