ChatGPT發(fā)展歷程、原理和技術(shù)架構(gòu)
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ù)待解決的重要問題之一。
而TAMER則可以將人類標(biāo)記者的知識,以獎勵信反饋的形式訓(xùn)練Agent,加快其快速收斂。TAMER不需要標(biāo)記者具有專業(yè)知識或編程技術(shù),語料成本更低。通過TAMER+RL(強(qiáng)化學(xué)習(xí)),借助人類標(biāo)記者的反饋,能夠增強(qiáng)從馬爾可夫決策過程 (MDP) 獎勵進(jìn)行強(qiáng)化學(xué)習(xí) (RL) 的過程。
TAMER架構(gòu)在強(qiáng)化學(xué)習(xí)中的應(yīng)用
具體實(shí)現(xiàn)上,人類標(biāo)記者扮演對話的用戶和人工智能助手,提供對話樣本,讓模型生成一些回復(fù),然后標(biāo)記者會對回復(fù)選項(xiàng)打分排名,將更好的結(jié)果反饋回模型中,Agents同時(shí)從兩種反饋模式中學(xué)習(xí)——人類強(qiáng)化和馬爾可夫決策過程獎勵作為一個(gè)整合的系統(tǒng),通過獎勵策略對模型進(jìn)行微調(diào)并持續(xù)迭代。
在此基礎(chǔ)上,ChatGPT 可以比 GPT-3 更好的理解和完成人類語言或指令,模仿人類,提供連貫的有邏輯的文本信息的能力。
3.4 ChatGPT的訓(xùn)練
ChatGPT的訓(xùn)練過程分為以下三個(gè)階段:
第一階段:訓(xùn)練監(jiān)督策略模型
GPT 3.5本身很難理解人類不同類型指令中蘊(yùn)含的不同意圖,也很難判斷生成內(nèi)容是否是高質(zhì)量的結(jié)果。為了讓GPT 3.5初步具備理解指令的意圖,首先會在數(shù)據(jù)集中隨機(jī)抽取問題,由人類標(biāo)注人員,給出高質(zhì)量答案,然后用這些人工標(biāo)注好的數(shù)據(jù)來微調(diào) GPT-3.5模型(獲得SFT模型, Supervised Fine-Tuning)。
此時(shí)的SFT模型在遵循指令/對話方面已經(jīng)優(yōu)于 GPT-3,但不一定符合人類偏好。
ChatGPT模型的訓(xùn)練過程
第二階段:訓(xùn)練獎勵模型(Reward Mode,RM)
這個(gè)階段的主要是通過人工標(biāo)注訓(xùn)練數(shù)據(jù)(約33K個(gè)數(shù)據(jù)),來訓(xùn)練回報(bào)模型。在數(shù)據(jù)集中隨機(jī)抽取問題,使用第一階段生成的模型,對于每個(gè)問題,生成多個(gè)不同的回答。人類標(biāo)注者對這些結(jié)果綜合考慮給出排名順序。這一過程類似于教練或老師輔導(dǎo)。
接下來,使用這個(gè)排序結(jié)果數(shù)據(jù)來訓(xùn)練獎勵模型。對多個(gè)排序結(jié)果,兩兩組合,形成多個(gè)訓(xùn)練數(shù)據(jù)對。RM模型接受一個(gè)輸入,給出評價(jià)回答質(zhì)量的分?jǐn)?shù)。這樣,對于一對訓(xùn)練數(shù)據(jù),調(diào)節(jié)參數(shù)使得高質(zhì)量回答的打分比低質(zhì)量的打分要高。
第三階段:采用PPO(Proximal Policy Optimization,近端策略優(yōu)化)強(qiáng)化學(xué)習(xí)來優(yōu)化策略。
PPO的核心思路在于將Policy Gradient中On-policy的訓(xùn)練過程轉(zhuǎn)化為Off-policy,即將在線學(xué)習(xí)轉(zhuǎn)化為離線學(xué)習(xí),這個(gè)轉(zhuǎn)化過程被稱之為Importance Sampling。這一階段利用第二階段訓(xùn)練好的獎勵模型,靠獎勵打分來更新預(yù)訓(xùn)練模型參數(shù)。在數(shù)據(jù)集中隨機(jī)抽取問題,使用PPO模型生成回答,并用上一階段訓(xùn)練好的RM模型給出質(zhì)量分?jǐn)?shù)。把回報(bào)分?jǐn)?shù)依次傳遞,由此產(chǎn)生策略梯度,通過強(qiáng)化學(xué)習(xí)的方式以更新PPO模型參數(shù)。
如果我們不斷重復(fù)第二和第三階段,通過迭代,會訓(xùn)練出更高質(zhì)量的ChatGPT模型。
4,ChatGPT的局限
只要用戶輸入問題,ChatGPT 就能給予回答,是否意味著我們不用再拿關(guān)鍵詞去喂 Google或百度,就能立即獲得想要的答案呢?
盡管ChatGPT表現(xiàn)出出色的上下文對話能力甚至編程能力,完成了大眾對人機(jī)對話機(jī)器人(ChatBot)從“人工智障”到“有趣”的印象改觀,我們也要看到,ChatGPT技術(shù)仍然有一些局限性,還在不斷的進(jìn)步。
1)ChatGPT在其未經(jīng)大量語料訓(xùn)練的領(lǐng)域缺乏“人類常識”和引申能力,甚至?xí)槐菊?jīng)的“胡說八道”。ChatGPT在很多領(lǐng)域可以“創(chuàng)造答案”,但當(dāng)用戶尋求正確答案時(shí),ChatGPT也有可能給出有誤導(dǎo)的回答。例如讓ChatGPT做一道小學(xué)應(yīng)用題,盡管它可以寫出一長串計(jì)算過程,但最后答案卻是錯(cuò)誤的。
2)ChatGPT無法處理復(fù)雜冗長或者特別專業(yè)的語言結(jié)構(gòu)。對于來自金融、自然科學(xué)或醫(yī)學(xué)等非常專業(yè)領(lǐng)域的問題,如果沒有進(jìn)行足夠的語料“喂食”,ChatGPT可能無法生成適當(dāng)?shù)幕卮稹?/p>
3)ChatGPT需要非常大量的算力(芯片)來支持其訓(xùn)練和部署。拋開需要大量語料數(shù)據(jù)訓(xùn)練模型不說,在目前,ChatGPT在應(yīng)用時(shí)仍然需要大算力的服務(wù)器支持,而這些服務(wù)器的成本是普通用戶無法承受的,即便數(shù)十億個(gè)參數(shù)的模型也需要驚人數(shù)量的計(jì)算資源才能運(yùn)行和訓(xùn)練。,如果面向真實(shí)搜索引擎的數(shù)以億記的用戶請求,如采取目前通行的免費(fèi)策略,任何企業(yè)都難以承受這一成本。因此對于普通大眾來說,還需等待更輕量型的模型或更高性價(jià)比的算力平臺。
4)ChatGPT還沒法在線的把新知識納入其中,而出現(xiàn)一些新知識就去重新預(yù)訓(xùn)練GPT模型也是不現(xiàn)實(shí)的,無論是訓(xùn)練時(shí)間或訓(xùn)練成本,都是普通訓(xùn)練者難以接受的。如果對于新知識采取在線訓(xùn)練的模式,看上去可行且語料成本相對較低,但是很容易由于新數(shù)據(jù)的引入而導(dǎo)致對原有知識的災(zāi)難性遺忘的問題。
5)ChatGPT仍然是黑盒模型。目前還未能對ChatGPT的內(nèi)在算法邏輯進(jìn)行分解,因此并不能保證ChatGPT不會產(chǎn)生攻擊甚至傷害用戶的表述。
當(dāng)然,瑕不掩瑜,有工程師貼出了要求ChatGPT寫verilog代碼(芯片設(shè)計(jì)代碼)的對話??梢钥闯鯟hatGPT水平已經(jīng)超出一些verilog初學(xué)者了。