一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

深度ChatGPT(三):InstructGPT&ChatGPT-用人的反饋引導(dǎo)大規(guī)模語言模型變得更...

 520jefferson 2023-01-17 發(fā)布于北京

用人的反饋引導(dǎo)大規(guī)模語言模型變得更有價(jià)值

InstructGPT論文精讀

模型:有監(jiān)督+增強(qiáng)學(xué)習(xí)

模型中各個(gè)任務(wù)的backbone都是GPT-3的架構(gòu),支持的context length是2k的token(其中數(shù)據(jù)處理中prompt選擇不超過1k,response不超過1k)【chatGPT的context長度更長】

  1. Step1:有監(jiān)督學(xué)習(xí)(SFT),Supervised Fine-tuning:在GPT-3的基礎(chǔ)上用人工標(biāo)注的prompt-reponse進(jìn)行finetune,幾個(gè)有意思的細(xì)節(jié)
  • a. 16epoch,基本是overfitting,但是效果卻更好
  • b. 用RM Score來做選點(diǎn)而非validation的metrics

2. Step2:強(qiáng)化學(xué)習(xí)

2.1 生成問題的強(qiáng)化學(xué)習(xí)建模

圖片

如上圖所示,文本生成的問題,可以建模為一個(gè)token空間上的序列決策問題(選擇一個(gè)token后繼續(xù)選擇另一個(gè)token)

  • state:context
  • action:reponse的token space上的token
  • reward:生成的質(zhì)量判別
  • episode:一次完整的decode生成response的過程

RLHF中通過人工標(biāo)注生成結(jié)果的排序數(shù)據(jù)中學(xué)習(xí)和建立reward模型,進(jìn)而把human對結(jié)果質(zhì)量的判斷引入到生成模型中。而生成模型就對應(yīng)的是Policy模型,通過學(xué)習(xí)和調(diào)整policy模型就是在做生成模型的finetune。

2.2 獎(jiǎng)勵(lì)模型(Reward model)

  • SFT Model為基礎(chǔ),6B規(guī)模(175B規(guī)模的太大,不太穩(wěn)定)(以GPT-3 6B的差別也不大)
  • 任務(wù):給定prompt,response出分檔的打分
  • Loss:一個(gè)prompt內(nèi)的N個(gè)response的pairwise-loss

2.3 PPO模型及訓(xùn)練

PPO(Proximal Policy Optimization[2])是RL中AC類(Actor/Critic)的經(jīng)典算法,既有Policy Gradient方法的優(yōu)勢,同時(shí)基于importance sampling實(shí)現(xiàn)experience buffer的利用,發(fā)揮類似DQN類算法的數(shù)據(jù)利用優(yōu)勢,OpenAI非常喜歡用來作為baseline的算法。該算法的具體細(xì)節(jié)就不展開介紹,感興趣的可以閱讀原論文。

  • Policy(Actor)起點(diǎn)模型:Step1中的SFT模型
  • Reward模型:2.2中的模型
  • Value模型(Critic):初始化自Reward模型
  • 數(shù)據(jù):經(jīng)過實(shí)驗(yàn)發(fā)現(xiàn),全部使用線上真實(shí)的Prompt數(shù)據(jù)+Reward模型(3.1W)會(huì)導(dǎo)致模型在人工評(píng)估中效果好,但是損失在開放的NLP任務(wù)測試集上的效果(作者稱之為alignment tax),最后采用的是10%的預(yù)訓(xùn)練數(shù)據(jù)保留+PPO Training,這種混合的模型,作者稱之為PPO-ptx
    • PPO Training loss + pretrain loss + KL Pernalty(正則,防止RL overfit)
    • pretraning樣本:RL樣本 = 8:1
    • Loss及目標(biāo)函數(shù)
圖片

魔鬼的細(xì)節(jié):human feedback的數(shù)據(jù)構(gòu)建

整體而言人工標(biāo)注的數(shù)據(jù)量級(jí)比想象中的小(萬級(jí)別),但是質(zhì)量、數(shù)據(jù)分布、不同階段的數(shù)據(jù)標(biāo)注方式等設(shè)計(jì)十分精細(xì),再次體現(xiàn)了OpenAI研究員們非常落地的做事風(fēng)格也體現(xiàn)數(shù)據(jù)作為模型效果燃料的關(guān)鍵之關(guān)鍵(不少人也認(rèn)為之前的GPT-3比同期的不少社區(qū)開源的同級(jí)別參數(shù)量的預(yù)訓(xùn)練模型效果好也很大程度來自于其精細(xì)化的訓(xùn)練數(shù)據(jù)構(gòu)建和數(shù)據(jù)處理)。

1. 40個(gè)精心挑選的標(biāo)注員

  • screen test:為了保證標(biāo)注的質(zhì)量,設(shè)計(jì)了測試來篩選標(biāo)注人員,主要包含幾個(gè)部分
    • i. 識(shí)別不安全回復(fù)的能力
    • ii. 回復(fù)質(zhì)量排序能力
    • iii. 敏感問題的回復(fù)能力:1-7分的打分及平均
    • iv. 按照不同的人群和文化進(jìn)行分組

2. 標(biāo)注數(shù)據(jù)來源:Prompts的數(shù)據(jù)來源及類型

  • a. 人工撰寫,三種類型的數(shù)據(jù)
    • i. plain:直接給出需求問題,比如:世界上最大的河是什么?
    • ii. few-shot:即給出一些問題和結(jié)果示例,再帶上新的問題,比如:問:世界上最高的山?答:世界上最高的山是喜馬拉雅山,問:世界上最長的河是?
    • iii. user-based:根據(jù)一些use case場景進(jìn)行設(shè)計(jì)
  • b. Open AI之前GPT-3等開放模型中的API請求(相當(dāng)于真實(shí)的線上Query)為了保證多樣性
    • i. 對相同的prompt前綴進(jìn)行去重
    • ii. 每個(gè)機(jī)構(gòu)限制采樣數(shù)量(200)

3. 標(biāo)注的任務(wù)及目標(biāo)

  • a. 構(gòu)造和撰寫一些prompt并且寫出對應(yīng)的結(jié)果 -- for SFT任務(wù)
  • b. 針對給定的prompt,撰寫對應(yīng)的結(jié)果  --- for SFT任務(wù)
圖片
  • 針對給定的prompt、模型給出的多個(gè)結(jié)果,標(biāo)注結(jié)果的好壞排序 --- for Reward Model
圖片

4. 標(biāo)注的標(biāo)準(zhǔn),三個(gè)維度:有用(Helpful)、真實(shí)(truthful)、無害(harmless)

  • a. Helpful:意圖理解精準(zhǔn),能夠?qū)δ:男枨筇岢龀吻逡约敖忉尀槭裁茨:?,結(jié)果描述清晰,沒有反復(fù)重復(fù)的無用詞匯等
  • b. Truthful:正確、真實(shí)(不同場景下有所不同,比如 closed q&a或者summarization,則不應(yīng)該跳出參考的信息進(jìn)行編造)
  • c. Harmless:無害,包括黃色、暴力、歧視、敏感政治回答等各類不合理有爭議的言語

5. 標(biāo)注的數(shù)據(jù)量及各個(gè)任務(wù)的訓(xùn)練數(shù)據(jù)量

  • a. SFT任務(wù)中人工撰寫的prompt占比較高(1.3w)
  • b. RM任務(wù)中以真實(shí)的prompt為主(3.3w)
  • c. PPO任務(wù)完全以真實(shí)的prompt為主(3.1w)
圖片

數(shù)據(jù)類型中包含了不少模糊的、不清晰意圖的、敏感內(nèi)容等。

圖片

評(píng)估和實(shí)驗(yàn)結(jié)論

1. 實(shí)驗(yàn)評(píng)估和驗(yàn)證的方式

  • a. 數(shù)據(jù)集
    • i. 真實(shí)的prompt數(shù)據(jù)
    • ii. 公開的NLP任務(wù):包含一些是否真實(shí)結(jié)果的數(shù)據(jù)集TruthfulQA,是否有害回復(fù)的Realtoxicityprompts等
  • b. 評(píng)估方式
    • i. 人工標(biāo)注的打分分檔,問題細(xì)分
    • ii. 模型對比:以175B的SFT為對標(biāo),看人工對結(jié)果質(zhì)量打分的GSB(Good/Same/Bad)
    • iii. 其他公開NLP任務(wù)的數(shù)據(jù)集自動(dòng)指標(biāo)

2. 關(guān)鍵和有啟發(fā)性的一些實(shí)驗(yàn)結(jié)論

  • a. 在生成的回復(fù)質(zhì)量的人工評(píng)估上,GPT-3->+SFT->+PPO的效果逐級(jí)變好,PPO的表現(xiàn)作為優(yōu)異,1.3B的模型規(guī)模上就能beat SFT 175B的模型
  • b. 表現(xiàn)出很強(qiáng)的泛化能力,在沒有見過的測試集上依然效果很好
圖片
  • c. 公開的instruct類的數(shù)據(jù)集有用但是并不能完全體現(xiàn)真實(shí)場景下語言模型的使用(這點(diǎn)非常重要,不如OpenAI線上用戶使用的Prompt價(jià)值高,數(shù)據(jù)價(jià)值再次顯現(xiàn))
    • 訓(xùn)練成本,SFT:0.49PFlops/s-days vs RLHF:60PFlops/s-days vs GPT-3 175B:3640 PFlops/s-days
    • 其中1PFlops/s-days在175B規(guī)模的模型下大概對應(yīng)8卡 V100/天(A100雖然算力更好,但是顯存依然無法突破限制)
    • 用FLAN和T0(剛好懟一波G廠Flan-T5)的數(shù)據(jù)集做SFT相比GPT-3有效果,但是不如用OpenAI自己數(shù)據(jù)訓(xùn)的(當(dāng)然評(píng)估的數(shù)據(jù)集也是OpenAI的customer prompt)
    • 兩個(gè)原因:1)真實(shí)的prompt中有比較多比例開放式的問題(頭腦風(fēng)暴類的),由于沒有客觀答案,往往公開數(shù)據(jù)集不太會(huì)納入 2)公開數(shù)據(jù)集沒有很好的條件收集到足夠多樣性的數(shù)據(jù)
    • 在truthful上instructGPT大幅提升,避免有害信息上小幅提升
    • instructGPT(+PPO)表現(xiàn)出非常強(qiáng)的訓(xùn)練集外的泛化能力,尤其是的的的的泛化能力(訓(xùn)練的語料中,尤其是SFT/RM/RLHF,非英文語言的語料比例非常少,但是卻表現(xiàn)出很強(qiáng)的其他語言的能力,在我們測試的中文場景下也能看到)。反過來說,跨語言的語料的學(xué)習(xí)也應(yīng)該同樣有可能帶來整體效果性能的提升
    • f. 訓(xùn)練成本遠(yuǎn)低于預(yù)訓(xùn)練,相比于繼續(xù)增大預(yù)訓(xùn)練模型的參數(shù)規(guī)模Alignement是一個(gè)更具性價(jià)比且正確的方向

ChatGPT實(shí)現(xiàn)推測

ChatGPT官方并沒有像instructGPT那樣給出詳細(xì)的實(shí)現(xiàn)論文,僅有官網(wǎng)Blog[11]上比較概要性的描述,以下通過這些描述來盡量推測其實(shí)現(xiàn)的一些細(xì)節(jié)。

ChatGPT is fine-tuned from a model in the GPT-3.5 series, which finished training in early 2022. You can learn more about the 3.5 series here.

ChatGPT的底座模型,如上述,是GPT 3.5系列,基于推測至少可能是text-davinci-002(即既有text能力又有code能力)

We trained this model using Reinforcement Learning from Human Feedback (RLHF), using the same methods as InstructGPT, but with slight differences in the data collection setup.

整體的技術(shù)方案和InstructGPT類似,并且官網(wǎng)的blog中給的圖也和instructGPT論文中的示例圖相似,于是顯然數(shù)據(jù)的構(gòu)造、標(biāo)注的方式成為關(guān)鍵,尤其是如何構(gòu)造對話的語料。

對話語料的構(gòu)造推測

以如果是我在這個(gè)設(shè)定下去考慮構(gòu)造對話語料訓(xùn)練出擁有這類對話能力的模型,我該怎么去構(gòu)造語料出發(fā),來思考。整個(gè)RLHF的訓(xùn)練涉及到3個(gè)關(guān)鍵階段:

1. 有監(jiān)督的微調(diào)(SFT:Supervised Finetune)

We trained an initial model using supervised fine-tuning: human AI trainers provided conversations in which they played both sides—the user and an AI assistant. We gave the trainers access to model-written suggestions to help them compose their responses. We mixed this new dialogue dataset with the InstructGPT dataset, which we transformed into a dialogue format.

語料構(gòu)成:人工交互標(biāo)注產(chǎn)生 + instructGPT轉(zhuǎn)化為對話語料

Q:如何人工標(biāo)注產(chǎn)生對話語料?

圖片

兩個(gè)標(biāo)注人員分別作為用戶以及AI進(jìn)行對話,那么對話的起點(diǎn)以及場景從哪里來,從instructGPT的數(shù)據(jù)構(gòu)造參考的話,可以有兩種:

  1. 場景構(gòu)造,然后開始自由發(fā)揮
  2. 開頭的prompt基于線上API請求中的抽樣,后面的多輪對話過程按照人工標(biāo)注的思路開展

值得注意的是應(yīng)該構(gòu)建不只一個(gè)需求的對話過程,包含一些插入、多個(gè)需求等復(fù)雜的場景情況。

而其中chatBOT的標(biāo)注人員的回復(fù)策略以及user的回應(yīng)的策略、采樣的數(shù)據(jù)等,根據(jù)最終期望模型獲得能力需要有精心的設(shè)計(jì)。其中回復(fù)的策略對照chatGPT的能力以及理想對話中的action strategy應(yīng)該有幾種

  1. follow the instruction:按照用戶的需求直接給滿足的response,這個(gè)和instructGPT中類似
  2. clarify:對于模糊的需求進(jìn)行澄清和詢問。
  3. admit the mistakes:要求user側(cè)應(yīng)該能夠指出response的錯(cuò)誤,同時(shí)chatBOT側(cè)的標(biāo)注人員能夠根據(jù)指出的錯(cuò)誤進(jìn)行回復(fù)和答案的修改
  4. challenge the premise:對于不符合邏輯的問題,chatBot側(cè)的標(biāo)注人員能夠生成對不合理邏輯的挑戰(zhàn)和解釋的答案
  5. reject inappropriate requests:對于邊界的問題和不安全的問題,不回復(fù)(數(shù)據(jù)的抽樣以及標(biāo)注人員的回復(fù)策略都需要對應(yīng)的設(shè)計(jì))

另外,從多輪的一些指代消解維度來看,抽樣的數(shù)據(jù)和對話語料構(gòu)建的過程中也應(yīng)該可以仿照對話的一些維度的能力進(jìn)行標(biāo)注的引導(dǎo)和數(shù)據(jù)分布的均衡:Query中指代、結(jié)果中指代等。

Q:instructGPT中的數(shù)據(jù)轉(zhuǎn)化為對話的語料?

instructGPT中都是單輪的Prompt-Response的語料,要轉(zhuǎn)化為對話的語料。能想到的最簡單的是把單輪的語料做一些隨機(jī)的組合形成一些對話的語料,這種組合出來的對話語料可以體現(xiàn)用戶不同的需求切換,在對話場景中依然能夠正確的理解。但是如果只是這樣子的話,感覺并沒有充分的利用起來,如果可以的話,應(yīng)該可以對其中的一些原本的prompt就屬于模糊需求、有錯(cuò)誤的、邊界能力以及不安全類的挑出來,再過人人交互的對話標(biāo)注方式進(jìn)行延展產(chǎn)生這些場景下更豐富的多輪語料。

2. 獎(jiǎng)勵(lì)模型(RM,Reward Model)

RM的標(biāo)注數(shù)據(jù)在instructGPT中主要是對一個(gè)prompt下的不同response標(biāo)注結(jié)果的質(zhì)量排序,而對話中需要把prompt換成一個(gè)context。

To create a reward model for reinforcement learning, we needed to collect comparison data, which consisted of two or more model responses ranked by quality. To collect this data, we took conversations that AI trainers had with the chatbot. We randomly selected a model-written message, sampled several alternative completions, and had AI trainers rank them.

上述的描述中,有個(gè)細(xì)節(jié)是用標(biāo)注人員與chatbot的交互中的某一輪,展開來看對應(yīng)的多個(gè)結(jié)果,讓標(biāo)注人員進(jìn)行結(jié)果的質(zhì)量排序。那么這個(gè)時(shí)候的chatbot用什么模型,最原始的底座模型顯然沒有對話能力。所以我推測應(yīng)該是在第一步SFT之后。

3. 增強(qiáng)學(xué)習(xí)訓(xùn)練(with PPO)

we can fine-tune the model using Proximal Policy Optimization. We performed several iterations of this process.

用PPO進(jìn)行finetune,這塊的數(shù)據(jù)instructGPT中完全采用的是線上API的prompt,但那里面更多的應(yīng)該都還是單輪的。我翻看了下,也有很多GPT-3之后下游的生態(tài)中用來做chatbot的,所以應(yīng)該可以從這個(gè)里面抽取數(shù)據(jù)。當(dāng)然也可以采用之前人工標(biāo)注數(shù)據(jù)中起點(diǎn)的prompt從線上來人人對話繼續(xù)延展產(chǎn)生的對話語料。

References

  1. OpenAI官網(wǎng):https:///
  2. instructGPT:https:///abs/2203.02155
  3. ChatGPT,https:///blog/chatgpt/

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請遵守用戶 評(píng)論公約

    類似文章 更多

    久久久免费精品人妻一区二区三区| 欧美精品一区二区三区白虎| 91精品国自产拍老熟女露脸| 日韩精品亚洲精品国产精品| 五月综合激情婷婷丁香| 久久综合九色综合欧美| 国产精品免费不卡视频| 日本午夜免费啪视频在线| 亚洲国产av精品一区二区| 又色又爽又黄的三级视频| 国产欧美日产中文一区| 午夜精品福利视频观看| 精品一区二区三区乱码中文| 亚洲最新中文字幕在线视频| 欧美字幕一区二区三区| 六月丁香六月综合缴情| 欧美同性视频免费观看| 国产一区二区不卡在线播放| 欧美日韩精品久久第一页| 欧美日韩精品久久亚洲区熟妇人| 亚洲国产精品久久琪琪| 欧美一区二区三区播放| 国产一区二区三区成人精品| 午夜福利大片亚洲一区| 91精品国产av一区二区| 欧美欧美日韩综合一区| 国产精品一区二区日韩新区| 国产一区二区三区四区免费| 久久永久免费一区二区| 后入美臀少妇一区二区| 国产午夜精品久久福利| 激情综合五月开心久久| 亚洲国产av精品一区二区| 久草热视频这里只有精品| 中文字幕有码视频熟女| 日韩人妻中文字幕精品| 国产精品成人一区二区三区夜夜夜 | 日韩综合国产欧美一区| 精品国产品国语在线不卡| 欧美一区二区三区性视频| 91欧美日韩中在线视频|