1、如如何何基基于于 R RL LH HF F 來來優優化化C Ch ha at tG GP PT T 類類型型的的大大語語言言模模型型李李俊俊毅毅算法工程師2020年加入字節跳動愛丁堡大學NLP碩士目前在字節跳動擔任算法工程師李李俊俊毅毅contents背背景景簡簡介介01流流行行的的開開源源 R RL LH HF F 的的實實現現04R RL LH HF F 介介紹紹03數數據據工工作作:訓訓練練數數據據收收集集與與清清洗洗02小小結結0 01 1基基礎礎背背景景介介紹紹chatGPT,是基于GPT架構下以dialogue format的語料通過有監督學習(SFT)和基于RLHF優化得到的一個
2、產品。根據公開資料,我們可以知道整體的訓練方式和InstructGPT基本一致。OpenAI的研發進程大致如下:2 20 01 18 8GPT-12 20 02 20 0GPT-32 20 01 19 9GPT-22 20 02 21 1CodeX/WebGPT2 20 02 22 2InstructGPT/chatGPT2 20 02 23 3GPT-4背背景景介介紹紹chatGPT的基礎信息介紹背背景景介介紹紹chatGPT系列的區別區區別別是是什什么么?G GP PT TI In ns st tr ru uc ct tG GP PT Tc ch ha at tG GP PT TR RL
3、LH HF F背背景景介介紹紹chatGPT的訓練介紹根據已知信息,chatGPT是基于訓練好的GPT-3作為基座以dialogue format的語料經過SFT+RLHF得到的,而在上一張PPT上我們可以看到整個研發的大概時間線,受到這些信息的啟發,為了得到chatGPT,我們需要做:1.收集大量語料,其中包括多語言普通文本、emoji、github代碼語料以及科研文獻等2.收集用戶通過api提的問題,通過標注得到問答對3.設計RM訓練需要的數據,由標注員標注得到訓練所需語料1.對語料進行分析處理,去重,過濾等得到訓練語料2.解決大語料和大模型訓練的效能問題3.通過高超的超參設置得到最終訓練
4、好的模型1.基于標注好的問答對,在Pretrain的基礎模型上,輸入問答對得到后續訓練結果2.在SFT階段,Garbage in/out的影響會很大,可以參見Meta發布的少量高質量數據訓練得到的高質量模型1.首先訓練得到一個獎勵模型(Reward Model)2.為 了 基 于 R e w a r d Model進行RL,需要將RM和LM同時啟動,對于一個問答對,LM輸出結果,將之輸入到RM中計算得到獎勵,以優化LM數數據據收收集集P Pr re et tr ra ai in nS SF FT TR RL LH HF F背背景景介介紹紹chatGPT的訓練介紹8Andrej Karpathy
5、在微軟BUILD2023大會上分享使用的截圖0 02 2數數據據介介紹紹數數據據介介紹紹概覽三三個個步步驟驟數數據據獲獲取取過過濾濾(去去重重、質質量量、隱隱私私)分分類類與與人人工工數數據據介介紹紹幾個訓練步驟對數據的偏好P Pr re et tr ra ai in n:強大的語言模型 重重點點在在于于數數據據獲獲取取和和過過濾濾S SF FT T(P PF F):讓模型理解用戶指令,并讓模型知道好的回答是什么樣子(知道是什么是好的,并不代表就知道不能做壞事了)重重點點在在于于數數據據分分類類與與人人工工構構造造R RL LH HF F:釋放人力,并讓模型對齊人類期待,不去做不好的回答 重重
6、點點在在于于數數據據分分類類與與人人工工標標注注數數據據信信息息Common Crawl開源可以過濾使用WebText未開源根據需要自行構造Books1&Books2未開源需要自行構造Wiki百科開源可以過濾使用CodeX訓練數據未開源需要自行構造數數據據介介紹紹數據獲取-業內公開數據以以下下是是我我們們可可以以了了解解到到的的G GP PT T使使用用過過的的數數據據名名稱稱信信息息Chinese Scientific Literature(CSL)中文科學文獻數據集CLUECorpus2020通過對Common Crawl的中文部分進行語料清洗,最終得到100GB的高質量中文預訓練語料翻譯
7、語料中英文翻譯語料當前較為豐富CLUEDatasetSearch針對傳統的NLP任務收集各項數據集,可以從中整合得到中文世界預訓練數據數數據據介介紹紹數據獲取-業內公開數據當當前前業業內內有有大大量量開開源源數數據據可可供供使使用用,我我們們可可以以采采用用這這些些數數據據介介紹紹數據獲取-業內公開數據名名稱稱信信息息COIG智源開放的維護了一套無害、有用且多樣化的中文指令語料庫,包括通用/考試/人類價值/多輪聊天和leetcode指令語料庫alpaca_chinese_dataset根據斯坦福開源的alpaca數據集進行中文翻譯,并再制造一些對話數據pCLUE基于提示的大規模預訓練數據集,用
8、于多任務學習和零樣本學習。包括120萬訓練數據,73個Prompt,9個任務firefly-train-1.1M23個常見的中文數據集,對于每個任務,由人工書寫若干種指令模板,保證數據的高質量與豐富度,數據量為115萬Chinese medical dialogue data/Huatuo中文醫療問答數據集除除了了預預訓訓練練的的語語料料外外,當當前前已已經經有有一一些些開開放放的的指指令令微微調調語語料料數數據據介介紹紹iGPT-數據量級訓訓練練階階段段數數據據條條數數fine-tune12K獎勵模型33KPPO31K數數據據介介紹紹iGPT-數據多樣性數數據據介介紹紹數據清洗與質量優化過過
9、濾濾(去去重重、質質量量、隱隱私私)17截圖來源于網絡數數據據介介紹紹數據清洗與質量優化分分類類與與人人工工Prompt任務分類分分類類豐富Prompt以及對應的結果人人工工編編輯輯對結果評估排序人人工工標標注注對測試集進行評估人人工工評評估估數數據據介介紹紹人人工工標標注注基基于于接接口口獲獲取取利利用用別別的的服服務務獲獲取取數據標注數數據據介介紹紹數據獲取-人工標注三三種種類類型型的的提提示示語語直直白白清清晰晰提提示示語語用用于于少少樣樣本本學學習習的的提提示示語語用用戶戶導導向向的的提提示示語語數數據據介介紹紹數據獲取-數據標注方式如如何何選選擇擇標標注注員員P Pr ro ommp
10、 pt t標標注注從從 A AP PI I 獲獲取取p pr ro ommp pt t有有害害提提示示語語標標注注方方式式數數據據介介紹紹數據標注-Prompt標注界面22Ouyang,Long,et al.Training language models to follow instructions with human feedback.Advances in Neural Information Processing Systems 35(2022):27730-數數據據介介紹紹數據標注-RM標注界面23Ouyang,Long,et al.Training language models
11、 to follow instructions with human feedback.Advances in Neural Information Processing Systems 35(2022):27730-0 03 3R RL LH HF FR RL LH HF F基礎介紹S SF FT T后后的的能能力力潛潛在在的的缺缺點點R RL LH HF FR RL LH HF F作用滿滿足足難難以以定定義義的的目目標標,賦賦予予模模型型足足夠夠好好的的泛泛化化性性保保證證模模型型持持續續更更新新的的正正確確軌軌道道多多樣樣化化與與負負反反饋饋降降低低胡胡編編亂亂造造的的可可能能性性R R
12、L LH HF F希望的case1 1.Q Q:WWh ha at t s sh ho ou ul ld d I I s sa ay y i if f I I wwa an nn na a a a c co of ff fe ee e i in n a a K KF FC C?2 2.A A1 1:H Hi i,I I wwa an nt t a a c cu up p o of f c co of ff fe ee e.3 3.A A2 2:H Hi i,c co ou ul ld d y yo ou u p pl le ea as se e g gi iv ve e mme e a a c
13、 cu up p o of f c co of ff fe ee e?4 4.A A3 3:H Hi i,a a c cu up p o of f c co of ff fe ee e,p pl le ea as se e.5 5.A A4 4:H He ey y,I I wwa an nt t a a c cu up p o of f c co of ff fe ee e,y yo ou u x xx xx x.6 6.A A5 5:G Gi iv ve e mme e c co of ff fe ee e,y yo ou u x xx xx x.經經過過R RMM后后,會會讓讓一一些些不不
14、符符合合價價值值的的內內容容被被d de el l掉掉。比比如如:R RL LH HF F實驗效果28Ouyang,Long,et al.Training language models to follow instructions with human feedback.Advances in Neural Information Processing Systems 35(2022):27730-R RL LH HF F訓練流程29Ouyang,Long,et al.Training language models to follow instructions with human fee
15、dback.Advances in Neural Information Processing Systems 35(2022):27730-R RL LH HF F訓練流程首首先先收收集集訓訓練練R RWW模模型型所所需需的的訓訓練練數數據據然然后后訓訓練練R RWW模模型型最最終終基基于于R RWW模模型型,基基于于R RL L對對語語言言模模型型進進行行優優化化(此此時時需需要要同同時時運運行行兩兩個個模模型型)R RL LH HF FRM訓練-數據格式為為了了實實現現R RMM+P PP PO O,首首先先我我們們需需要要訓訓練練一一個個R Re ewwa ar rd d模模型型,訓訓
16、練練數數據據的的格格式式:(p pr ro ommp pt t,wwi in nn ni in ng g_ _r re es sp po on ns se e,l lo os si in ng g_ _r re es sp po on ns se e)P Pr ro ommp pt t(提提示示)表示輸入的問題或上下文WWi in nn ni in ng g r re es sp po on ns se e(獲獲勝勝回回答答)表示模型認為是正確或優秀的回答L Lo os si in ng g r re es sp po on ns se e(失失敗敗回回答答)表示模型認為是錯誤或較差的回答R
17、RL LH HF FRM訓練訓訓練練設設置置:r r:被被訓訓練練的的獎獎勵勵模模型型,由由參參數數 進進行行參參數數化化。訓訓練練過過程程的的目目標標是是找找到到使使損損失失最最小小化化的的。x:提示(prompt)yw:獲勝回答(winning response)yl:失敗回答(losing response)訓訓練練數數據據的的格格式式如如下下:sw=r(x,yw):獲勝回答的獎勵模型得分sl=r(x,yl):失敗回答的獎勵模型得分損失值的計算公式為:log(swsl)對對于于每每個個訓訓練練樣樣本本(x x,y yww,y yl l):目目標標是是找找到到參參數數,以以最最小小化化所所
18、有有訓訓練練樣樣本本的的期期望望損損失失,即即E Ex xl lo og g(s swws sl l)。R RL LH HF FPPOP PP PO O是是O Op pe en nA AI I推推出出的的R RL L算算法法,其其提提出出的的目目的的是是為為了了解解決決P Po ol li ic cy y G Gr ra ad di ie en nt t中中低低效效與與更更新新不不穩穩定定的的問問題題,具具體體特特點點如如下下:Mini-batch training:由on-policy修改成為off-policy,可以提升對受限數據集的使用效率Regularization KL:PPO利用了
19、KL作為約束來避免對小型數據集的過擬合Clip Objective:使用了clip來避免不穩定的變化,也減少了過擬合的風險-Meta與CMU也放出了相應的研究,即使沒有經過RLHF的訓練,僅僅通過詳細的SFT也能夠拿到很好的效果。論文見:https:/arxiv.org/pdf/2305.11206.pdf關于PPO詳細介紹可以看論文,也推薦這個視頻進行了解:https:/ RL LH HF F數數學學建建模模 詳詳細細訓訓練練步步驟驟如如下下:對于每個x_RL(即prompt),使用LLM_RL生成回復y。objective方程如下。對于每個x_pretrain,LM的目標函數的計算如下。從
20、直觀上講,這個目標是確保RL模型在文本完成任務上表現不會比預訓練模型更差。通過最大化這個目標函數,我們希望確保RL模型在文本完成任務上的表現不會比預訓練模型更差。這有助于保持模型的基本能力,并防止在優化過程中產生負面效果。通過控制目標函數中的參數,可以調整這個任務對優化過程的相對重要性。最終的目標是以上兩個公式之和。在RL設置中,最大化objective作為我們的學習目標。Tips:已知當前基于RLHF的思路和流程,但實際效果不一定是最優的,這個情況在OpenAI的WebGPT中也同樣有所討論。R RL LH HF F訓訓練練步步驟驟Simplified from https:/ 04 4開開
21、源源實實現現R RL LH HF F 開開源源實實現現各個開源實現實實現現項項目目是是否否可可用用DeepSpeed-ChatYTrlX非官方支持RLHFColossal-AIYBeaverY(加入了safe-rlhf)上述開源實現是當前流行的方案,其中DeepSpeed-chat由于背靠DeepSpeed,所以相對上手可行性更高。其中Beaver額外考慮了安全性的問題。R RL LH HF F 開開源源實實現現設計開發重點R RMM的的關關鍵鍵點點訓練數據豐富:數據是query-answer 對,同一個query下接了一個高分答案和一個低分答案;同時最好是一個query對應4-9個答案個人建議使用SFT的模型R RL LH HF F的的重重難難點點算法實現:一個是算法實現的細節設計難點:細節披露不清晰工程挑戰:多模型的內存消耗和訓練的高效進行(同時有Actor、Critic、SFT、RM四個模型存在,兩個需要更新)0 05 5小小結結小小結結R RL LH HF F 是是否否是是最最優優解解40討討論論討討論論討討論論模模型型是是否否真真的的不不能能有有自自己己的的偏偏見見基基于于 R RL LH HF F,C Ch ha at tG GP PT T 類類模模型型如如何何作作用用T TH HA AN NK KS S