chatgpt生成算法 算法工程師深度解構(gòu)ChatGPT技術(shù)
引言 |本欄目特邀騰訊知名語言文本項(xiàng)目算法工程師冉昱、薛晨,用專業(yè)視野帶你由淺入深了解技術(shù)全貌。它經(jīng)歷了什么訓(xùn)練過程?成功關(guān)鍵技術(shù)是什么?將如何帶動行業(yè)的變革?開發(fā)者如何借鑒思路和技術(shù),投入到日常工作中?期望本文能給你新的靈感。
主要特點(diǎn) 本質(zhì)是一個(gè)對話模型,它可以回答日常問題、進(jìn)行多輪閑聊,也可以承認(rèn)錯誤回復(fù)、挑戰(zhàn)不正確的問題,甚至?xí)芙^不適當(dāng)?shù)恼埱蟆T谏现芄疾┪暮驮囉媒涌诤螅芸煲粤钊梭@嘆的對話能力“引爆”網(wǎng)絡(luò)。
1)的技術(shù)背景
目前未釋出論文文獻(xiàn),僅釋出了介紹博文和試用API。從博文中提供的技術(shù)點(diǎn)和示意圖來看,它與今年初公布的 核心思想一致。其關(guān)鍵能力來自三個(gè)方面:強(qiáng)大的基座大模型能力(),高質(zhì)量的真實(shí)數(shù)據(jù)(干凈且豐富),強(qiáng)化學(xué)習(xí)(PPO算法)。以上成功的三個(gè)要素,具體將在文中第2部分詳細(xì)展開。
2)的主要特點(diǎn)
讓用戶印象最深刻的是它有強(qiáng)大的語言理解和生成系統(tǒng)。其對話能力、文本生成能力、對不同語言表述的理解均很出色。它以對話為載體,可以回答多種多樣的日常問題,對于多輪對話歷史的記憶能力和篇幅增強(qiáng)。其次,與GPT3等大模型相比,回答更全面,可以多角度全方位進(jìn)行回答和闡述,相較以往的大模型,知識被“挖掘”得更充分。它能降低了人類學(xué)習(xí)成本和節(jié)省時(shí)間成本,可以滿足人類大部分日常需求,比如快速為人類改寫確定目標(biāo)的文字、大篇幅續(xù)寫和生成小說、快速定位代碼的bug等。
值得一提的事,它具有安全機(jī)制和去除偏見能力。下圖這類問題在以前的大模型中時(shí)常出現(xiàn),然而在這兩點(diǎn)上增加了過濾處理機(jī)制。針對不適當(dāng)?shù)奶釂柡驼埱螅梢宰龀鼍芙^和“圓滑”的回復(fù)。例如對于違法行為的提問:
對于未知事物的“拒絕”:
當(dāng)然并非十全十美,其缺點(diǎn)也比較明顯。首先,其簡單的邏輯問題錯誤依舊明顯存在,發(fā)揮不夠穩(wěn)定(但總體比GPT3好很多)。特別在有對話歷史時(shí),它容易因被用戶誤導(dǎo)而動搖。
其次,有時(shí)會給出看似合理、但并不正確或甚至荒謬的答案。部分答案需要自行甄別才能判斷正誤,特別當(dāng)本身用戶處于未知狀態(tài)來咨詢模型時(shí),更加無法判斷真?zhèn)巍J沟蒙a(chǎn)者可以用較低成本增加錯誤信息,而這一固有缺點(diǎn)已經(jīng)造成了一些實(shí)際影響。編程問答網(wǎng)站 宣布暫時(shí)禁止用戶發(fā)布來自 生成的內(nèi)容,網(wǎng)站 mods 表示:看似合理但實(shí)際上錯誤的回復(fù)數(shù)量太多,已經(jīng)超過了網(wǎng)站的承受能力。
此外chatgpt生成算法,它抵抗不安全的能力較差,還存在過分猜測用戶意圖的問題。這主要體現(xiàn)在當(dāng)用戶提問意圖不明確時(shí),會猜測用戶意圖,理想情況應(yīng)為要求用戶澄清;當(dāng)用戶意圖不明確時(shí),很大概率給出不合適的回復(fù)。大批量的用戶反饋,部分回復(fù)廢話較多、句式固定。它通常過度使用一些常見的短語和句式。這與構(gòu)造訓(xùn)練數(shù)據(jù)時(shí),用戶傾向于選擇更長的回復(fù)有關(guān)。
的工作原理 1)的訓(xùn)練過程
訓(xùn)練過程很清晰,主要分為三個(gè)步驟,示意如圖所示:
第一步,使用有監(jiān)督學(xué)習(xí)方式,基于GPT3.5微調(diào)訓(xùn)練一個(gè)初始模型,訓(xùn)練數(shù)據(jù)約為2w~3w量級(此處為推測量級chatgpt生成算法,我們根據(jù)兄弟模型的訓(xùn)練數(shù)據(jù)量級估算)。由標(biāo)注師分別扮演用戶和聊天機(jī)器人,產(chǎn)生人工精標(biāo)的多輪對話數(shù)據(jù)。值得注意的是,在人類扮演聊天機(jī)器人時(shí),會得到機(jī)器生成的一些建議來幫助人類撰寫自己的回復(fù),以此提高撰寫標(biāo)注效率。
以上精標(biāo)的訓(xùn)練數(shù)據(jù)雖然數(shù)據(jù)量不大,但質(zhì)量和多樣性非常高,且來自真實(shí)世界數(shù)據(jù),這是很關(guān)鍵的一點(diǎn)。
第二步,收集相同上文下,根據(jù)回復(fù)質(zhì)量進(jìn)行排序的數(shù)據(jù):即隨機(jī)抽取一大批,使用第一階段微調(diào)模型,產(chǎn)生多個(gè)不同回答:
…
,之后標(biāo)注人員對k個(gè)結(jié)果排序,形成
組訓(xùn)練數(shù)據(jù)對。之后使用 loss來訓(xùn)練獎勵模型,可以預(yù)測出標(biāo)注者更喜歡哪個(gè)輸出。"從比較中"學(xué)習(xí)可以給出相對精確的獎勵值。
這一步使得從命令驅(qū)動轉(zhuǎn)向了意圖驅(qū)動。關(guān)于這一點(diǎn),李宏毅老師的原話稱,“它會不斷引導(dǎo)GPT說人類要他說的”。另外,訓(xùn)練數(shù)據(jù)不需過多,維持在萬量級即可。因?yàn)樗恍枰F盡所有的問題,只要告訴模型人類的喜好,強(qiáng)化模型意圖驅(qū)動的能力就行。
第三步,使用PPO強(qiáng)化學(xué)習(xí)策略來微調(diào)第一階段的模型。這里的核心思想是隨機(jī)抽取新的,用第二階段的 給產(chǎn)生的回答打分。這個(gè)分?jǐn)?shù)即回答的整體chatgpt生成算法,進(jìn)而將此回傳,由此產(chǎn)生的策略梯度可以更新PPO模型參數(shù)。整個(gè)過程迭代數(shù)次直到模型收斂。
強(qiáng)化學(xué)習(xí)算法可以簡單理解為通過調(diào)整模型參數(shù),使模型得到最大的獎勵(),最大獎勵意味著此時(shí)的回復(fù)最符合人工的選擇取向。而對于PPO,我們知道它是2017年提出的一種新型的強(qiáng)化學(xué)習(xí)策略優(yōu)化的算法即可。它提出了新的目標(biāo)函數(shù),可以在多個(gè)訓(xùn)練步驟實(shí)現(xiàn)小批量的更新,其實(shí)現(xiàn)簡單、易于理解、性能穩(wěn)定、能同時(shí)處理離散/連續(xù)動作空間問題、利于大規(guī)模訓(xùn)練。
以上三個(gè)步驟即的訓(xùn)練過程,合稱為文獻(xiàn)中提到的RLHF技術(shù)。
2)為何成功?
為何三段式的訓(xùn)練方法就可以讓如此強(qiáng)大?其實(shí),以上的訓(xùn)練過程蘊(yùn)含了上文我們提到的關(guān)鍵點(diǎn),而這些關(guān)鍵點(diǎn)正是成功的原因:
我們需要注意的是,的成功,是在前期大量工作基礎(chǔ)上實(shí)現(xiàn)的,非憑空產(chǎn)生的“驚雷”。下面我們將針對性闡述:
是的兄弟模型( ),后者經(jīng)過訓(xùn)練以遵循中的指令,從而提供詳細(xì)的響應(yīng)。是在今年3月在文獻(xiàn) to with 中提出的工作。其整體流程和以上的流程基本相同,但是在數(shù)據(jù)收集、基座模型(GPT3 vs GPT 3.5)以及第三步初始化PPO模型時(shí)略有不同。
此篇可以視為RLHF 1.0的收官之作。一方面,從官網(wǎng)來看,這篇文章之后暫時(shí)沒有發(fā)布RLHF的新研究,另一方面這篇文章也佐證了 的有效性。
的工作與類似:給定且需要人工寫回答。首先工作人員訓(xùn)練了一個(gè)的早期版本,使用完全人工標(biāo)注的數(shù)據(jù),分3類:+、+多個(gè) 和用戶在使用API過程中提出的需求。從第二類數(shù)據(jù)的標(biāo)注,推測可能用檢索來提供多個(gè)In 的示例,供人工標(biāo)注。剩余步驟與以上相同。
尤其需要重視但往往容易被忽視的是,對于數(shù)據(jù)質(zhì)量和數(shù)據(jù)泛化性的把控。這也是的一大優(yōu)勢:尋找高質(zhì)量標(biāo)注者——尋找在識別和回應(yīng)敏感提示的能力篩選測試中,表現(xiàn)良好的;使用集外標(biāo)注者保證泛化性——即用未經(jīng)歷以上1)步驟的更廣大群體的標(biāo)注者對訓(xùn)練數(shù)據(jù)進(jìn)行驗(yàn)證,保證訓(xùn)練數(shù)據(jù)與更廣泛群體的偏好一致。
在完成以上工作后,我們可以來看看與GPT3的區(qū)別:
GPT3的回答簡短,回復(fù)過于通俗毫無亮點(diǎn)。而“侃侃而談”,解釋自由主義為何愚蠢,顯然模型學(xué)到了對于此類問題人們更想要的長篇大論的回答。
GPT3只是個(gè)語言模型,它被用來預(yù)測下一個(gè)單詞,絲毫沒有考慮用戶想要的答案;當(dāng)使用代表用戶喜好的三類人工標(biāo)注為微調(diào)數(shù)據(jù)后,1.3B參數(shù)的在多場景下的效果超越175B的GPT3:
的工作也很有開創(chuàng)性:它在“解鎖”()和挖掘GPT3學(xué)到的海量數(shù)據(jù)中的知識和能力,但這些僅通過快速的In-的方式較難獲得。找到了一種面向主觀任務(wù)來挖掘GPT3強(qiáng)大語言能力的方式。
博文中有這樣一段原話:當(dāng)我們要解決的安全和對齊問題是復(fù)雜和主觀,它的好壞無法完全被自動指標(biāo)衡量的時(shí)候,此時(shí)需要用人類的偏好來作為獎勵信號來微調(diào)我們的模型。
其實(shí)在2019年GPT2出世后,就有嘗試結(jié)合GPT-2和強(qiáng)化學(xué)習(xí)。 2020的 to with 工作中寫道,在摘要生成時(shí),利用了從人類反饋中的強(qiáng)化學(xué)習(xí)來訓(xùn)練。可以從這篇工作的整體流程圖中,看出三步走的核心思想:收集反饋數(shù)據(jù) -> 訓(xùn)練獎勵模型 -> PPO強(qiáng)化學(xué)習(xí)。
RLHF第一階段是針對多個(gè)候選摘要人工排序(這里就體現(xiàn)出的鈔能力,按標(biāo)注時(shí)間計(jì)費(fèi),標(biāo)注過快的會被開除);第二階段是訓(xùn)練排序模型(依舊使用GPT模型);第三階段是利用PPO算法學(xué)習(xí)(在摘要任務(wù)上微調(diào)過的GPT)。
文中模型可以產(chǎn)生比10倍更大模型容量更好的摘要效果。但文中也同樣指出,模型的成功部分歸功于增大了獎勵模型的規(guī)模。但這需要很大量級的計(jì)算資源——訓(xùn)練6.7B的強(qiáng)化學(xué)習(xí)模型需要320 GPU-days的成本。
2020年初的的Fine- GPT-2 from 可看出,它同樣首先利用預(yù)訓(xùn)練模型來訓(xùn)練模型,進(jìn)而使用PPO策略進(jìn)行強(qiáng)化學(xué)習(xí)。整體步驟初見的雛形!
而RLHF( from )的思想,是在2017年6月的 Deep from 工作提出的。其核心思想是利用人類的反饋判斷最接近視頻行為目標(biāo)的片段;通過訓(xùn)練來找到最能解釋人類判斷的獎勵函數(shù),然后使用RL來學(xué)習(xí)如何實(shí)現(xiàn)這個(gè)目標(biāo)。
可以說,是站在以及以上理論的肩膀上完成的一項(xiàng)出色的工作,它們將LLM( )/PTM( )與RL( )出色結(jié)合證明這條方向可行。當(dāng)然,這也是未來還將持續(xù)發(fā)展的NLP甚至通用智能體的方向。
PPO( )一種新型的 算法( 是一種強(qiáng)化學(xué)習(xí)算法,通過優(yōu)化智能體的行為策略來解決在環(huán)境中實(shí)現(xiàn)目標(biāo)的問題)。我們只需了解普通的 算法對步長十分敏感,但是又難以選擇合適的步長。在訓(xùn)練過程中新舊策略的的變化差異如果過大則不利于學(xué)習(xí)。
而PPO提出了新的目標(biāo)函數(shù)可以在多個(gè)訓(xùn)練步驟實(shí)現(xiàn)小批量的更新,解決了 算法中步長難以確定的問題。由于其實(shí)現(xiàn)簡單、性能穩(wěn)定、能同時(shí)處理離散/連續(xù)動作空間問題、利于大規(guī)模訓(xùn)練等優(yōu)勢,近年來受到廣泛關(guān)注,成為默認(rèn)強(qiáng)化學(xué)習(xí)算法。
近兩年,利用LLM+RL以及對強(qiáng)化學(xué)習(xí)和NLP訓(xùn)練的研究,各大巨頭在這個(gè)領(lǐng)域做了非常多扎實(shí)的工作,而這些成果和一樣都有可圈可點(diǎn)之處。這里以的和Meta的為例。
是2021年底的工作。其核心思想是使用GPT3模型強(qiáng)大的生成能力,學(xué)習(xí)人類使用搜索引擎的一系列行為,通過訓(xùn)練獎勵模型來預(yù)測人類的偏好,使可以自己搜索網(wǎng)頁來回答開放域的問題,而產(chǎn)生的答案盡可能滿足人類的喜好。
是Meta AI上個(gè)月發(fā)布的可以以人類水平玩文字策略游戲的AI系統(tǒng),。其同樣可以與人類互動,可以使用戰(zhàn)略推理和自然語言與人類在游戲玩法中進(jìn)行互動和競爭。的核心是由一個(gè)對話引擎和一個(gè)戰(zhàn)略推理引擎共同驅(qū)動的,而戰(zhàn)略推理引擎集中使用了RL,對話引擎與GPT3類似。
Meta原blog中寫道:The one day lead to more in the and .
而以上也是我們未來力求突破的方向和愿景:一個(gè)真正全方位的智能的文字助手。
應(yīng)用和思考 1)應(yīng)用
它可以依附于對話形態(tài)的產(chǎn)品和載體大有空間,包括但不限于內(nèi)容創(chuàng)作、客服機(jī)器人、虛擬人、機(jī)器翻譯、游戲、社交、教育、家庭陪護(hù)等領(lǐng)域。這些或許都將是 能快速落地的方向。
其中有些方向會涉及到交互的全面改革,比如機(jī)器翻譯不再是傳統(tǒng)的文本輸入->實(shí)時(shí)翻譯,而是隨時(shí)以助手問答的形式出現(xiàn)。甚至給出一個(gè)大概籠統(tǒng)的中文意思,讓機(jī)器給出對應(yīng)英文。目前我們目前所做的寫作產(chǎn)品,可能也會涉及創(chuàng)作模式的改變和革新。
有些方向會全面提升產(chǎn)品質(zhì)量,比如已存在的客服機(jī)器人、虛擬人等。
比如最近同為火熱的 模型,利用生成較佳的,對于AIGC內(nèi)容和日趨火熱的藝術(shù)創(chuàng)作,提供強(qiáng)大的文字形態(tài)的動力。
但至于是否能代替搜索引擎(不少人關(guān)注的地方),拋開推理成本不談,目前只從效果上來說為時(shí)尚早。
對于網(wǎng)絡(luò)有答案的,抽取就完全能滿足,現(xiàn)友商最近就有這樣的功能。網(wǎng)絡(luò)上沒有明確答案,即使檢索了相關(guān)材料(應(yīng)該還沒有這樣的功能),也沒人能保證生成結(jié)果的可信度。
與的結(jié)合對信息進(jìn)行實(shí)時(shí)更新,并且對于事實(shí)真假進(jìn)行判斷。現(xiàn)在的沒有實(shí)時(shí)更新和事實(shí)判斷能力,而這如果結(jié)合的自動搜索能力,讓學(xué)會自己去海量知識庫中探索和學(xué)習(xí),預(yù)測可能會是GPT-4的一項(xiàng)能力。
還有其他更多方向,包括與最近數(shù)理邏輯工作的結(jié)合。此處受個(gè)人思維所限,無法一一列舉。
2)關(guān)于的思考
參考上文所述,以及參閱近2年 GPT語言模型相關(guān)的文章,RLHF的方法效果顯著,成功的核心也在于基于LLM( )的RLHF( from )。可以說,RLHF是一個(gè)很有希望且有趣的方向;強(qiáng)化學(xué)習(xí)在即將發(fā)布的GPT-4中大概率扮演這關(guān)鍵角色。
結(jié)合對于的看法,我們從算法和行業(yè)更新角度做出了闡述:
首先,對于的規(guī)模目前沒有更多信息支撐,所以無法明確如此智能的是在何規(guī)模下達(dá)成的。
最早的175B的GPT-3代號是,其他大小的模型有不同的代號。然而自此之后的代號幾乎是一片迷霧,不僅沒有任何論文,官方的介紹性博客也沒有。稱-text-002/003是GPT-3.5,而它們均為類型的模型,是基于其中一個(gè)微調(diào)模型得到,由此推測可能是千億模型。
其次,不完全算突破式的創(chuàng)新,是一步一步扎實(shí)工作積累得到的幾乎理所當(dāng)然的結(jié)果,屬于這兩年業(yè)界發(fā)展的成果匯總。
大家一般沒有機(jī)會接觸千億模型(之前有較少開源的千億模型,GPT-3也是收費(fèi)的),不了解現(xiàn)在千億模型的能力邊界,對全量微調(diào)這個(gè)級別的模型也無從估計(jì)。以Bert和T5為代表的早期,和現(xiàn)在的大模型已不是一個(gè)量級。事實(shí)上11月28日上新了text--003,但幾乎沒有引起國內(nèi)任何討論。如果(11-30發(fā)布)不是免費(fèi)試用,或許也不會引起這么大的反響。
同一時(shí)期的工作還有的和的,效果與應(yīng)該不相上下。同樣以上提到的和也在國內(nèi)沒有太大的水花。這兩年LLM發(fā)展已經(jīng)到了這個(gè)層級,或許因?yàn)槌杀净蛘吖こ袒y度的問題,某種層面上在國內(nèi)被忽視了。而此次正好找到了好的“曝光點(diǎn)”,一炮而紅。
所以,一方面我們要理性看待的成果,但另一方面的出現(xiàn),會將我們的認(rèn)識和國外先進(jìn)思想拉到一條線上,我們應(yīng)該思考如何利用這些令人激動的最新成果,而其中關(guān)鍵是如何找到適合我們?nèi)肟诘姆绞健?/p>
第三,數(shù)據(jù)處理不是簡單的標(biāo)注,優(yōu)秀的數(shù)據(jù)也是一種極大的優(yōu)勢。除去技術(shù)上的考量,很少開源數(shù)據(jù),顯然他們在數(shù)據(jù)上也下了大功夫,訓(xùn)練語料質(zhì)量和開源的C4或The Pile不能同日而語。
當(dāng)然,我們目前核心使用的開源千億模型,有很多待挖掘的能力。由于其在微調(diào)任務(wù)中缺乏生成式的對話和問答,某些表現(xiàn)不如也在預(yù)料之中。但是對于很多任務(wù)來說,配合In- ,這個(gè)差距會被進(jìn)一步縮小。
3)如何借鑒和使用
對于的借鑒和使用,大致可以歸類以下四個(gè)方向:
此層面為復(fù)用API中效果極佳的部分,直接使用的優(yōu)勢是可以快速實(shí)現(xiàn)多粒度多層級功能需求。在很多需求難以定義清晰、數(shù)據(jù)難以獲得的情況下,復(fù)用并包裝這樣的功能一本萬利。
當(dāng)然其缺點(diǎn)也很明顯。直接調(diào)用成本是極高的,根據(jù)GPT3.5()的成本推測:1k ≈700 為0.02美元。換算后,一篇2k字的文章直接調(diào)用需要0.4人民幣。若保守按照日活1w用戶、人均10篇文章計(jì)算,則每日調(diào)用成本為:*10*0.4=元。雖成本過于高昂,但實(shí)現(xiàn)時(shí)間最少。
另外,根據(jù)Musk 上與工作人員的對話,也可以看到每次聊天過程需要幾美分的成本,所以直接調(diào)用成本極高。
此層面核心思想是利用接口,按照不同需求生成高質(zhì)量數(shù)據(jù),克服現(xiàn)有數(shù)據(jù)難獲得的瓶頸;進(jìn)而利用現(xiàn)有開源大模型進(jìn)行數(shù)據(jù)擴(kuò)增,這是目前比較切實(shí),實(shí)現(xiàn)時(shí)間較少,是在時(shí)間成本和效果上折中的方式。
首先,組內(nèi)目前有初步嘗試參考RLHF的方法,如對多候選進(jìn)行標(biāo)注、利用得到的標(biāo)注結(jié)果重新微調(diào)生成模型、或者增加排序階段加入RL學(xué)習(xí)。其次,我們也嘗試一些高效調(diào)參的方法微調(diào)現(xiàn)有大模型。但此條受限于資源尚需評估和確認(rèn)。
總的來說,將改寫從最初的,拓展到GPT+ 路徑。
實(shí)現(xiàn)時(shí)間:(1)(2)
將寫作整體打造為的形式,此核心思想見另一篇關(guān)于對話系統(tǒng)報(bào)告中的介紹,涉及到交互層面的變革。但的出現(xiàn)和核心技術(shù)讓形式升級成為可能。隨著深度學(xué)習(xí)和多智能體系統(tǒng)的發(fā)展,未來會有多種、多樣、多功能的X-Bot出現(xiàn)。
???有獎開放talk:你還能想到哪些用途?它還有什么應(yīng)用價(jià)值?
歡迎在評論區(qū)聊一聊你的看法。我們將選取點(diǎn)贊量最高的3位朋友,送出騰訊云定制禮品一份。12月20日中午12點(diǎn)開獎。快邀請你的開發(fā)者朋友們一起來參與吧!
騰訊工程師技術(shù)干貨直達(dá):
1.太硬核!用大數(shù)據(jù)技術(shù)預(yù)測足球勝率
2.祖?zhèn)鞔a重構(gòu):從25萬行到5萬行的血淚史
3.探秘微信業(yè)務(wù)優(yōu)化:DDD從入門到實(shí)踐
4.萬字好文!帶你入門
后臺回復(fù)“”獲得本篇作者推薦相關(guān)學(xué)習(xí)材料
免責(zé)聲明:本文系轉(zhuǎn)載,版權(quán)歸原作者所有;旨在傳遞信息,不代表本站的觀點(diǎn)和立場和對其真實(shí)性負(fù)責(zé)。如需轉(zhuǎn)載,請聯(lián)系原作者。如果來源標(biāo)注有誤或侵犯了您的合法權(quán)益或者其他問題不想在本站發(fā)布,來信即刪。
聲明:本站所有文章資源內(nèi)容,如無特殊說明或標(biāo)注,均為采集網(wǎng)絡(luò)資源。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系本站刪除。