ChatGPT的技術(shù)體系
0.參考資料
RLHF論文:Training language models to follow instructions with human feedback(https://arxiv.org/pdf/2203.02155.pdf)
摘要上下文中的 RLHF:Learning to summarize from Human Feedback (https://arxiv.org/pdf/2009.01325.pdf)
PPO論文:Proximal Policy Optimization Algorithms(https://arxiv.org/pdf/1707.06347.pdf)
Deep reinforcement learning from human preferences (https://arxiv.org/abs/1706.03741)
1. 引言
1.1 ChatGPT的介紹
作為一個(gè) AI Chatbot,ChatGPT 是當(dāng)前比較強(qiáng)大的自然語(yǔ)言處理模型之一,,它基于 Google 的 T5 模型進(jìn)行了改進(jìn),,同時(shí)加入了許多自然語(yǔ)言處理的技術(shù),使得它可以與人類(lèi)進(jìn)行自然的,、連貫的對(duì)話(huà),。ChatGPT 使用了 GPT(Generative Pre-training Transformer)架構(gòu),它是一種基于 Transformer 的預(yù)訓(xùn)練語(yǔ)言模型,。GPT 的主要思想是將大量的語(yǔ)料庫(kù)輸入到模型中進(jìn)行訓(xùn)練,,使得模型能夠理解和學(xué)習(xí)語(yǔ)言的語(yǔ)法、語(yǔ)義等信息,,從而生成自然,、連貫的文本。與其他 Chatbot 相比,,ChatGPT 的優(yōu)勢(shì)在于它可以進(jìn)行上下文感知型的對(duì)話(huà),,即它可以記住上下文信息,而不是簡(jiǎn)單地匹配預(yù)先定義的規(guī)則或模式,。此外,,ChatGPT 還可以對(duì)文本進(jìn)行生成和理解,支持多種對(duì)話(huà)場(chǎng)景和話(huà)題,,包括閑聊,、知識(shí)問(wèn)答、天氣查詢(xún),、新聞閱讀等等,。
盡管 ChatGPT 在自然語(yǔ)言處理領(lǐng)域已經(jīng)取得了很好的表現(xiàn),但它仍然存在一些局限性,,例如對(duì)于一些復(fù)雜的,、領(lǐng)域特定的問(wèn)題,它可能無(wú)法給出正確的答案,,需要通過(guò)人類(lèi)干預(yù)來(lái)解決,。因此,,在使用 ChatGPT 進(jìn)行對(duì)話(huà)時(shí),我們?nèi)孕枰?jǐn)慎對(duì)待,,盡可能提供明確,、簡(jiǎn)潔、準(zhǔn)確的問(wèn)題,,以獲得更好的對(duì)話(huà)體驗(yàn),。
1.2 ChatGPT的訓(xùn)練模式
ChatGPT 的訓(xùn)練模式是基于大規(guī)模文本數(shù)據(jù)集的監(jiān)督學(xué)習(xí)和自我監(jiān)督學(xué)習(xí),這些數(shù)據(jù)集包括了各種類(lèi)型的文本,,例如新聞文章,、博客、社交媒體,、百科全書(shū),、小說(shuō)等等。ChatGPT 通過(guò)這些數(shù)據(jù)集進(jìn)行預(yù)訓(xùn)練,,然后在特定任務(wù)的數(shù)據(jù)集上進(jìn)行微調(diào),。
對(duì)于 Reinforcement Learning from Human Feedback 的訓(xùn)練方式,ChatGPT 通過(guò)與人類(lèi)進(jìn)行對(duì)話(huà)來(lái)進(jìn)行模型訓(xùn)練,。具體而言,,它通過(guò)與人類(lèi)進(jìn)行對(duì)話(huà),從而了解人類(lèi)對(duì)話(huà)的語(yǔ)法,、語(yǔ)義和上下文等方面的信息,,并從中學(xué)習(xí)如何生成自然、連貫的文本,。當(dāng) ChatGPT 生成回復(fù)時(shí),,人類(lèi)可以對(duì)其進(jìn)行反饋,例如“好的”,、“不太好”等等,,這些反饋將被用來(lái)調(diào)整模型參數(shù),以提高 ChatGPT 的回復(fù)質(zhì)量,。Reinforcement Learning from Human Feedback 的訓(xùn)練方式,,可以使 ChatGPT 更加智能,更好地模擬人類(lèi)的思維方式,。不過(guò)這種訓(xùn)練方式也存在一些問(wèn)題,,例如人類(lèi)反饋的主觀性和不確定性等,這些問(wèn)題可能會(huì)影響模型的訓(xùn)練效果,。因此,,我們需要在使用 ChatGPT 進(jìn)行對(duì)話(huà)時(shí),謹(jǐn)慎對(duì)待反饋,盡可能提供明確,、簡(jiǎn)潔,、準(zhǔn)確的反饋,以獲得更好的對(duì)話(huà)體驗(yàn),。
1.3 RLHF的介紹
在過(guò)去的幾年中,,語(yǔ)言模型通過(guò)根據(jù)人類(lèi)輸入提示生成多樣化且引人注目的文本顯示出令人印象深刻的能力。然而,,什么才是“好”文本本質(zhì)上很難定義,,因?yàn)樗侵饔^的并且依賴(lài)于上下文。有許多應(yīng)用程序,,例如編寫(xiě)您需要?jiǎng)?chuàng)意的故事,、應(yīng)該真實(shí)的信息性文本片段,或者我們希望可執(zhí)行的代碼片段,。編寫(xiě)一個(gè)損失函數(shù)來(lái)捕獲這些屬性似乎很棘手,而且大多數(shù)語(yǔ)言模型仍然使用簡(jiǎn)單的下一個(gè)loss function(例如交叉熵)進(jìn)行訓(xùn)練,。為了彌補(bǔ)損失本身的缺點(diǎn),,人們定義了旨在更好地捕捉人類(lèi)偏好的指標(biāo),例如 BLEU 或 ROUGE,。雖然比損失函數(shù)本身更適合衡量性能,,但這些指標(biāo)只是簡(jiǎn)單地將生成的文本與具有簡(jiǎn)單規(guī)則的引用進(jìn)行比較,因此也有局限性,。如果我們使用生成文本的人工反饋?zhàn)鳛樾阅芎饬繕?biāo)準(zhǔn),,或者更進(jìn)一步并使用該反饋?zhàn)鳛閾p失來(lái)優(yōu)化模型,那不是很好嗎,?這就是從人類(lèi)反饋中強(qiáng)化學(xué)習(xí)(RLHF)的想法,;使用強(qiáng)化學(xué)習(xí)的方法直接優(yōu)化帶有人類(lèi)反饋的語(yǔ)言模型。RLHF 使語(yǔ)言模型能夠開(kāi)始將在一般文本數(shù)據(jù)語(yǔ)料庫(kù)上訓(xùn)練的模型與復(fù)雜人類(lèi)價(jià)值觀的模型對(duì)齊,。
在傳統(tǒng)的強(qiáng)化學(xué)習(xí)中,,智能的agent需要通過(guò)不斷的試錯(cuò)來(lái)學(xué)習(xí)如何最大化獎(jiǎng)勵(lì)函數(shù)。但是,,這種方法往往需要大量的訓(xùn)練時(shí)間和數(shù)據(jù),,同時(shí)也很難確保智能代理所學(xué)習(xí)到的策略是符合人類(lèi)期望的。Deep Reinforcement Learning from Human Preferences 則采用了一種不同的方法,,即通過(guò)人類(lèi)偏好來(lái)指導(dǎo)智能代理的訓(xùn)練,。具體而言,它要求人類(lèi)評(píng)估一系列不同策略的優(yōu)劣,,然后將這些評(píng)估結(jié)果作為訓(xùn)練數(shù)據(jù)來(lái)訓(xùn)練智能代理的深度神經(jīng)網(wǎng)絡(luò),。這樣,智能代理就可以在人類(lèi)偏好的指導(dǎo)下,學(xué)習(xí)到更符合人類(lèi)期望的策略,。除了減少訓(xùn)練時(shí)間和提高智能代理的性能之外,,Deep Reinforcement Learning from Human Preferences 還可以在許多現(xiàn)實(shí)場(chǎng)景中發(fā)揮作用,例如游戲設(shè)計(jì),、自動(dòng)駕駛等,。通過(guò)使用人類(lèi)偏好來(lái)指導(dǎo)智能代理的訓(xùn)練,我們可以更好地滿(mǎn)足人類(lèi)需求,,并創(chuàng)造出更加智能和人性化的技術(shù)應(yīng)用
2. 方法介紹
方法總體上包括三個(gè)不同步驟:
監(jiān)督調(diào)優(yōu)模型:在一小部分已經(jīng)標(biāo)注好的數(shù)據(jù)上進(jìn)行有監(jiān)督的調(diào)優(yōu),,讓機(jī)器學(xué)習(xí)從一個(gè)給定的提示列表中生成輸出,這個(gè)模型被稱(chēng)為 SFT 模型,。
模擬人類(lèi)偏好,,讓標(biāo)注者們對(duì)大量 SFT 模型輸出進(jìn)行投票,這樣就可以得到一個(gè)由比較數(shù)據(jù)組成的新數(shù)據(jù)集,。然后用這個(gè)新數(shù)據(jù)集來(lái)訓(xùn)練一個(gè)新模型,,叫做 RM 模型。
用 RM 模型進(jìn)一步調(diào)優(yōu)和改進(jìn) SFT 模型,,用一種叫做 PPO 的方法得到新的策略模式,。
第一步只需要進(jìn)行一次,而第二步和第三步可以持續(xù)重復(fù)進(jìn)行,,以收集更多的比較數(shù)據(jù)來(lái)訓(xùn)練新的 RM 模型和更新策略模式,。
2.1 監(jiān)督調(diào)優(yōu)模型
需要收集數(shù)據(jù)來(lái)訓(xùn)練有監(jiān)督的策略模型。為了做到這一點(diǎn),,選定一些提示,,讓標(biāo)注人員寫(xiě)出預(yù)期的回復(fù)。這個(gè)過(guò)程雖然緩慢和昂貴,,但最終得到的是一個(gè)相對(duì)較小,、高質(zhì)量的數(shù)據(jù)集,可用于調(diào)優(yōu)預(yù)訓(xùn)練的語(yǔ)言模型,。選擇了 GPT-3.5 系列中的預(yù)訓(xùn)練模型作為基線模型,,而不是對(duì)原始 GPT-3 模型進(jìn)行調(diào)優(yōu)。
然而,,由于此步驟的數(shù)據(jù)量有限,,這個(gè)過(guò)程得到的 SFT 模型可能會(huì)輸出一些不是用戶(hù)想要的文本,通常也會(huì)出現(xiàn)不一致問(wèn)題,。為了解決這個(gè)問(wèn)題,,使用的策略是讓標(biāo)注者對(duì) SFT 模型的不同輸出進(jìn)行排序以創(chuàng)建 RM 模型,而不是讓標(biāo)注者創(chuàng)建一個(gè)更大的精選數(shù)據(jù)集,。
2.2 訓(xùn)練回報(bào)模型
在這一步中,,我們的目標(biāo)是學(xué)習(xí)一個(gè)目標(biāo)函數(shù),它可以直接從數(shù)據(jù)中學(xué)習(xí),而不是僅僅從有限的訓(xùn)練數(shù)據(jù)中調(diào)整語(yǔ)言模型,。這個(gè)目標(biāo)函數(shù)的作用是為 SFT 模型生成的輸出進(jìn)行評(píng)分,,以表示這些輸出對(duì)人類(lèi)來(lái)說(shuō)有多可接受。它反映了人類(lèi)標(biāo)注者的偏好和共同準(zhǔn)則,。最終,,這個(gè)過(guò)程可以得到一個(gè)系統(tǒng),它可以模仿人類(lèi)的偏好,。包括以下步驟:
利用prompt 生成多個(gè)輸出,。
利用標(biāo)注者對(duì)這些輸出進(jìn)行排序,獲得一個(gè)更大質(zhì)量更高的數(shù)據(jù)集,。
把模型將 SFT 模型輸出作為輸入,,并按優(yōu)先順序?qū)λ鼈冞M(jìn)行排序。
2.3 使用 PPO 模型微調(diào) SFT 模型
這一步的目標(biāo)是通過(guò)強(qiáng)化學(xué)習(xí)來(lái)調(diào)整 SFT 模型,。具體來(lái)說(shuō),,使用了一個(gè)叫 PPO 的算法來(lái)訓(xùn)練一個(gè)叫做近端策略?xún)?yōu)化模型的調(diào)整模型,用于優(yōu)化 SFT 模型,。
PPO 是一種用于訓(xùn)練智能體的算法,,可以不斷地調(diào)整策略以提高效果。與其他算法不同的是,,PPO 會(huì)限制策略的更改范圍,以確保訓(xùn)練的穩(wěn)定性,。此外,,PPO 還使用了一個(gè)價(jià)值函數(shù)來(lái)估計(jì)每個(gè)行動(dòng)的價(jià)值,從而更加準(zhǔn)確地進(jìn)行調(diào)整,。
在這一步中,,PPO 模型使用 SFT 模型作為起點(diǎn),RM 模型作為基礎(chǔ),,為給定的輸入生成回報(bào),。為了避免過(guò)度優(yōu)化,SFT 模型會(huì)為每個(gè) token 添加 KL 懲罰因子,。
3. 性能評(píng)估
作為一個(gè)大型語(yǔ)言模型,,ChatGPT的評(píng)估標(biāo)準(zhǔn)可以有多種。在訓(xùn)練ChatGPT時(shí),,通常會(huì)使用一些標(biāo)準(zhǔn)的自然語(yǔ)言處理評(píng)估指標(biāo)來(lái)評(píng)估其性能,,如困惑度(perplexity)、BLEU分?jǐn)?shù),、ROUGE分?jǐn)?shù)等,。這些指標(biāo)可以用來(lái)評(píng)估ChatGPT在生成文本時(shí)的流暢度、語(yǔ)義連貫性和表達(dá)能力等方面的表現(xiàn)。此外,,ChatGPT也可以通過(guò)人類(lèi)評(píng)估來(lái)評(píng)估其性能,,例如進(jìn)行用戶(hù)調(diào)查或人類(lèi)評(píng)分實(shí)驗(yàn)。這些方法可以提供更貼近實(shí)際使用場(chǎng)景的評(píng)估,,以便更全面地評(píng)估ChatGPT在生成自然語(yǔ)言文本方面的表現(xiàn),。
主要借助以下三個(gè)標(biāo)準(zhǔn)進(jìn)行評(píng)估:
幫助性:判斷模型遵循用戶(hù)指示以及推斷指示的能力。
真實(shí)性:判斷模型在封閉領(lǐng)域任務(wù)中有產(chǎn)生虛構(gòu)事實(shí)的傾向,。
無(wú)害性:標(biāo)注者評(píng)估模型的輸出是否適當(dāng),、是否包含歧視性?xún)?nèi)容。
4. ChatGPT的前景
ChatGPT 在自然語(yǔ)言處理領(lǐng)域具有廣泛的應(yīng)用前景,。它可以用于語(yǔ)言翻譯,、情感分析、問(wèn)答系統(tǒng),、文本摘要,、對(duì)話(huà)系統(tǒng)等多個(gè)任務(wù),幫助人們更好地理解和處理自然語(yǔ)言,。此外,,ChatGPT 還可以應(yīng)用于許多其他領(lǐng)域,例如自然語(yǔ)言生成,、自動(dòng)文本摘要,、機(jī)器翻譯、自動(dòng)問(wèn)答,、語(yǔ)音識(shí)別等,。它也可以用于推薦系統(tǒng)、智能客服,、智能問(wèn)答,、知識(shí)圖譜等領(lǐng)域。ChatGPT 的未來(lái)發(fā)展前景非常廣闊,,可以預(yù)見(jiàn)的是,,隨著技術(shù)的不斷發(fā)展,它將在各個(gè)領(lǐng)域得到更廣泛的應(yīng)用和改進(jìn),。同時(shí),,也需要關(guān)注和解決一些挑戰(zhàn),例如如何提高模型的效率和準(zhǔn)確性,,如何解決對(duì)話(huà)中的常識(shí)推理和知識(shí)不足等問(wèn)題,。
更多信息可以來(lái)這里獲取==>>電子技術(shù)應(yīng)用-AET<<