3.1 GPT家族的演進(jìn)
說(shuō)到ChatGPT,就不得不提到GPT家族。
ChatGPT之前有幾個(gè)知名的兄弟,包括GPT-1、GPT-2和GPT-3。這幾個(gè)兄弟一個(gè)比一個(gè)個(gè)頭大,ChatGPT與GPT-3更為相近。
ChatGPT與GPT 1-3的技術(shù)對(duì)比
GPT家族與BERT模型都是知名的NLP模型,都基于Transformer技術(shù)。GPT-1只有12個(gè)Transformer層,而到了GPT-3,則增加到96層。
1.2 人類反饋強(qiáng)化學(xué)習(xí)
InstructGPT/GPT3.5(ChatGPT的前身)與GPT-3的主要區(qū)別在于,新加入了被稱為RLHF(Reinforcement Learning from Human Feedback,人類反饋強(qiáng)化學(xué)習(xí))。這一訓(xùn)練范式增強(qiáng)了人類對(duì)模型輸出結(jié)果的調(diào)節(jié),并且對(duì)結(jié)果進(jìn)行了更具理解性的排序。
在InstructGPT中,以下是“goodness of sentences”的評(píng)價(jià)標(biāo)準(zhǔn)。
- 真實(shí)性:是虛假信息還是誤導(dǎo)性信息?
- 無(wú)害性:它是否對(duì)人或環(huán)境造成身體或精神上的傷害?
- 有用性:它是否解決了用戶的任務(wù)?
1.3 TAMER框架
這里不得不提到TAMER(Training an Agent Manually via Evaluative Reinforcement,評(píng)估式強(qiáng)化人工訓(xùn)練代理)這個(gè)框架。該框架將人類標(biāo)記者引入到Agents的學(xué)習(xí)循環(huán)中,可以通過(guò)人類向Agents提供獎(jiǎng)勵(lì)反饋(即指導(dǎo)Agents進(jìn)行訓(xùn)練),從而快速達(dá)到訓(xùn)練任務(wù)目標(biāo)。
TAMER框架論文
引入人類標(biāo)記者的主要目的是加快訓(xùn)練速度。盡管強(qiáng)化學(xué)習(xí)技術(shù)在很多領(lǐng)域有突出表現(xiàn),但是仍然存在著許多不足,例如訓(xùn)練收斂速度慢,訓(xùn)練成本高等特點(diǎn)。特別是現(xiàn)實(shí)世界中,許多任務(wù)的探索成本或數(shù)據(jù)獲取成本很高。如何加快訓(xùn)練效率,是如今強(qiáng)化學(xué)習(xí)任務(wù)待解決的重要問(wèn)題之一。
而TAMER則可以將人類標(biāo)記者的知識(shí),以獎(jiǎng)勵(lì)信反饋的形式訓(xùn)練Agent,加快其快速收斂。TAMER不需要標(biāo)記者具有專業(yè)知識(shí)或編程技術(shù),語(yǔ)料成本更低。通過(guò)TAMER+RL(強(qiáng)化學(xué)習(xí)),借助人類標(biāo)記者的反饋,能夠增強(qiáng)從馬爾可夫決策過(guò)程 (MDP) 獎(jiǎng)勵(lì)進(jìn)行強(qiáng)化學(xué)習(xí) (RL) 的過(guò)程。
TAMER架構(gòu)在強(qiáng)化學(xué)習(xí)中的應(yīng)用
具體實(shí)現(xiàn)上,人類標(biāo)記者扮演對(duì)話的用戶和人工智能助手,提供對(duì)話樣本,讓模型生成一些回復(fù),然后標(biāo)記者會(huì)對(duì)回復(fù)選項(xiàng)打分排名,將更好的結(jié)果反饋回模型中,Agents同時(shí)從兩種反饋模式中學(xué)習(xí)——人類強(qiáng)化和馬爾可夫決策過(guò)程獎(jiǎng)勵(lì)作為一個(gè)整合的系統(tǒng),通過(guò)獎(jiǎng)勵(lì)策略對(duì)模型進(jìn)行微調(diào)并持續(xù)迭代。
在此基礎(chǔ)上,ChatGPT 可以比 GPT-3 更好的理解和完成人類語(yǔ)言或指令,模仿人類,提供連貫的有邏輯的文本信息的能力。
1.4 ChatGPT的訓(xùn)練
ChatGPT的訓(xùn)練過(guò)程分為以下三個(gè)階段:
第一階段:訓(xùn)練監(jiān)督策略模型
GPT 3.5本身很難理解人類不同類型指令中蘊(yùn)含的不同意圖,也很難判斷生成內(nèi)容是否是高質(zhì)量的結(jié)果。為了讓GPT 3.5初步具備理解指令的意圖,首先會(huì)在數(shù)據(jù)集中隨機(jī)抽取問(wèn)題,由人類標(biāo)注人員,給出高質(zhì)量答案,然后用這些人工標(biāo)注好的數(shù)據(jù)來(lái)微調(diào) GPT-3.5模型(獲得SFT模型, Supervised Fine-Tuning)。
此時(shí)的SFT模型在遵循指令/對(duì)話方面已經(jīng)優(yōu)于 GPT-3,但不一定符合人類偏好。
ChatGPT模型的訓(xùn)練過(guò)程
第二階段:訓(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è)不同的回答。人類標(biāo)注者對(duì)這些結(jié)果綜合考慮給出排名順序。這一過(guò)程類似于教練或老師輔導(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,近端策略優(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ò)程被稱之為Importance 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ù)。
如果我們不斷重復(fù)第二和第三階段,通過(guò)迭代,會(huì)訓(xùn)練出更高質(zhì)量的ChatGPT模型。
2、ChatGPT的局限
只要用戶輸入問(wèn)題,ChatGPT 就能給予回答,是否意味著我們不用再拿關(guān)鍵詞去喂 Google或百度,就能立即獲得想要的答案呢?
盡管ChatGPT表現(xiàn)出出色的上下文對(duì)話能力甚至編程能力,完成了大眾對(duì)人機(jī)對(duì)話機(jī)器人(ChatBot)從“人工智障”到“有趣”的印象改觀,我們也要看到,ChatGPT技術(shù)仍然有一些局限性,還在不斷的進(jìn)步。
1)ChatGPT在其未經(jīng)大量語(yǔ)料訓(xùn)練的領(lǐng)域缺乏“人類常識(shí)”和引申能力,甚至?xí)槐菊?jīng)的“胡說(shuō)八道”。ChatGPT在很多領(lǐng)域可以“創(chuàng)造答案”,但當(dāng)用戶尋求正確答案時(shí),ChatGPT也有可能給出有誤導(dǎo)的回答。例如讓ChatGPT做一道小學(xué)應(yīng)用題,盡管它可以寫出一長(zhǎng)串計(jì)算過(guò)程,但最后答案卻是錯(cuò)誤的。
2)ChatGPT無(wú)法處理復(fù)雜冗長(zhǎng)或者特別專業(yè)的語(yǔ)言結(jié)構(gòu)。對(duì)于來(lái)自金融、自然科學(xué)或醫(yī)學(xué)等非常專業(yè)領(lǐng)域的問(wèn)題,如果沒(méi)有進(jìn)行足夠的語(yǔ)料“喂食”,ChatGPT可能無(wú)法生成適當(dāng)?shù)幕卮稹?/p>
3)ChatGPT需要非常大量的算力(芯片)來(lái)支持其訓(xùn)練和部署。拋開(kāi)需要大量語(yǔ)料數(shù)據(jù)訓(xùn)練模型不說(shuō),在目前,ChatGPT在應(yīng)用時(shí)仍然需要大算力的服務(wù)器支持,而這些服務(wù)器的成本是普通用戶無(wú)法承受的,即便數(shù)十億個(gè)參數(shù)的模型也需要驚人數(shù)量的計(jì)算資源才能運(yùn)行和訓(xùn)練。,如果面向真實(shí)搜索引擎的數(shù)以億記的用戶請(qǐng)求,如采取目前通行的免費(fèi)策略,任何企業(yè)都難以承受這一成本。因此對(duì)于普通大眾來(lái)說(shuō),還需等待更輕量型的模型或更高性價(jià)比的算力平臺(tái)。
4)ChatGPT還沒(méi)法在線的把新知識(shí)納入其中,而出現(xiàn)一些新知識(shí)就去重新預(yù)訓(xùn)練GPT模型也是不現(xiàn)實(shí)的,無(wú)論是訓(xùn)練時(shí)間或訓(xùn)練成本,都是普通訓(xùn)練者難以接受的。如果對(duì)于新知識(shí)采取在線訓(xùn)練的模式,看上去可行且語(yǔ)料成本相對(duì)較低,但是很容易由于新數(shù)據(jù)的引入而導(dǎo)致對(duì)原有知識(shí)的災(zāi)難性遺忘的問(wèn)題。
5)ChatGPT仍然是黑盒模型。目前還未能對(duì)ChatGPT的內(nèi)在算法邏輯進(jìn)行分解,因此并不能保證ChatGPT不會(huì)產(chǎn)生攻擊甚至傷害用戶的表述。
當(dāng)然,瑕不掩瑜,有工程師貼出了要求ChatGPT寫verilog代碼(芯片設(shè)計(jì)代碼)的對(duì)話。可以看出ChatGPT水平已經(jīng)超出一些verilog初學(xué)者了。
3、ChatGPT的未來(lái)改進(jìn)方向
3.1 減少人類反饋的RLAIF
2020年底,OpenAI前研究副總裁Dario Amodei帶著10名員工創(chuàng)辦了一個(gè)人工智能公司Anthropic。Anthropic 的創(chuàng)始團(tuán)隊(duì)成員,大多為 OpenAI 的早期及核心員工,參與過(guò)OpenAI的GPT-3、多模態(tài)神經(jīng)元、人類偏好的強(qiáng)化學(xué)習(xí)等。
2022年12月,Anthropic再次發(fā)表論文《Constitutional AI: Harmlessness from AI Feedback》介紹人工智能模型Claude。(arxiv.org/pdf/2212.0807)
CAI模型訓(xùn)練過(guò)程
Claude 和 ChatGPT 都依賴于強(qiáng)化學(xué)習(xí)(RL)來(lái)訓(xùn)練偏好(preference)模型。CAI(Constitutional AI)也是建立在RLHF的基礎(chǔ)之上,不同之處在于,CAI的排序過(guò)程使用模型(而非人類)對(duì)所有生成的輸出結(jié)果提供一個(gè)初始排序結(jié)果。
CAI用人工智能反饋來(lái)代替人類對(duì)表達(dá)無(wú)害性的偏好,即RLAIF,人工智能根據(jù)一套constitution原則來(lái)評(píng)價(jià)回復(fù)內(nèi)容。
3.2 補(bǔ)足數(shù)理短板
ChatGPT雖然對(duì)話能力強(qiáng),但是在數(shù)理計(jì)算對(duì)話中容易出現(xiàn)一本正經(jīng)胡說(shuō)八道的情況。
計(jì)算機(jī)學(xué)家Stephen Wolfram 為這一問(wèn)題提出了解決方案。Stephen Wolfram 創(chuàng)造了的 Wolfram 語(yǔ)言和計(jì)算知識(shí)搜索引擎 Wolfram | Alpha,其后臺(tái)通過(guò)Mathematica實(shí)現(xiàn)。
ChatGPT與Wolfram | Alpha結(jié)合處理梳理問(wèn)題
在這一結(jié)合體系中,ChatGPT 可以像人類使用 Wolfram|Alpha 一樣,與 Wolfram|Alpha “對(duì)話”,Wolfram|Alpha 則會(huì)用其符號(hào)翻譯能力將從 ChatGPT 獲得的自然語(yǔ)言表達(dá)“翻譯”為對(duì)應(yīng)的符號(hào)化計(jì)算語(yǔ)言。在過(guò)去,學(xué)術(shù)界在 ChatGPT 使用的這類 “統(tǒng)計(jì)方法” 和 Wolfram|Alpha 的 “符號(hào)方法” 上一直存在路線分歧。但如今 ChatGPT 和 Wolfram|Alpha 的互補(bǔ),給NLP領(lǐng)域提供了更上一層樓的可能。
ChatGPT 不必生成這樣的代碼,只需生成常規(guī)自然語(yǔ)言,然后使用 Wolfram|Alpha 翻譯成精確的 Wolfram Language,再由底層的Mathematica進(jìn)行計(jì)算。
3.3 ChatGPT的小型化
雖然ChatGPT很強(qiáng)大,但其模型大小和使用成本也讓很多人望而卻步。
有三類模型壓縮(model compression)可以降低模型的大小和成本。
第一種方法是量化(quantization),即降低單個(gè)權(quán)重的數(shù)值表示的精度。比如Tansformer從FP32降到INT8對(duì)其精度影響不大。
第二種模型壓縮方法是剪枝(pruning),即刪除網(wǎng)絡(luò)元素,包括從單個(gè)權(quán)重(非結(jié)構(gòu)化剪枝)到更高粒度的組件如權(quán)重矩陣的通道。這種方法在視覺(jué)和較小規(guī)模的語(yǔ)言模型中有效。
第三種模型壓縮方法是稀疏化。例如奧地利科學(xué)技術(shù)研究所 (ISTA)提出的SparseGPT (arxiv.org/pdf/2301.0077)可以將 GPT 系列模型單次剪枝到 50% 的稀疏性,而無(wú)需任何重新訓(xùn)練。對(duì) GPT-175B 模型,只需要使用單個(gè) GPU 在幾個(gè)小時(shí)內(nèi)就能實(shí)現(xiàn)這種剪枝。
評(píng)論
查看更多