目錄
ChatGPT本質是一個對話模型,它可以回答日常問題、挑戰(zhàn)不正確的前提,甚至會拒絕不適當?shù)恼埱螅谌コ姾桶踩陨喜煌谝酝恼Z言模型。ChatGPT從閑聊、回答日常問題,到文本改寫、詩歌小說生成、視頻腳本生成,以及編寫和調(diào)試代碼均展示了其令人驚嘆的能力。在OpenAI公布博文和試用接口后,ChatGPT很快以令人驚嘆的對話能力“引爆”網(wǎng)絡,本文主要從技術角度,梳理ChatGPT背后涉及的技術工作LLM,來闡述其如此強大的原因;同時思考其對我們目前的實際工作和方法論的改變,包括可復用和可借鑒之處。ChatGPT其關鍵能力來自三個方面:強大的基座大模型能力(InstructGPT),高質量的真實數(shù)據(jù)(干凈且豐富),強化學習算法(PPO算法)。
為何三段式的訓練方法就可以讓ChatGPT如此強大?其實,以上的訓練過程蘊含了上文我們提到的關鍵點,而這些關鍵點正是ChatGPT成功的原因:
強大的基座模型能力(InstructGPT);大參數(shù)語言模型(GPT3.5);高質量的真實數(shù)據(jù)(精標的多輪對話數(shù)據(jù)和比較排序數(shù)據(jù));性能穩(wěn)定的強化學習算法(PPO算法)
我們需要注意的是,ChatGPT的成功,是在前期大量工作基礎上實現(xiàn)的,非憑空產(chǎn)生的“驚雷”。ChatGPT是InstructGPT的兄弟模型(sibling model),后者經(jīng)過訓練以遵循Prompt中的指令,提供詳細的響應。InstructGPT是OpenAI在2022年3月在Training language models to follow instructions with human feedback文獻中提出的工作,整體流程和以上的ChatGPT流程基本相同,除了在數(shù)據(jù)收集和基座模型(GPT3 vs GPT 3.5),以及第三步初始化PPO模型時略有不同。此篇可以視為RLHF(基于人類反饋的強化學習,使用人工結果打分來調(diào)整模型) 1.0的收官之作。一方面,從官網(wǎng)來看,這篇文章之后暫時沒有發(fā)布RLHF的新研究,另一方面這篇文章也佐證了Instruction Tuning的有效性。
在InstuctGPT的工作中,與ChatGPT類似,給定Instruction,需要人工寫回答。首先訓練一個InstructGPT的早期版本,使用完全人工標注的數(shù)據(jù),數(shù)據(jù)分為3類:Instruction+Answer,Instruction+多個examples和用戶在使用API過程中提出的需求。從第二類數(shù)據(jù)的標注,推測ChatGPT可能用檢索來提供多個In Context Learning的示例,供人工標注。剩余步驟與以上ChatGPT相同。尤其需要重視但往往容易被忽視的,即OpenAI對于數(shù)據(jù)質量和數(shù)據(jù)泛化性的把控,這也是OpenAI的一大優(yōu)勢:
1)尋找高質量標注者:尋找在識別和回應敏感提示的能力篩選測試中,表現(xiàn)良好的labeler;
2)使用集外標注者保證泛化性:即用未經(jīng)歷以上1)步驟的更廣大群體的標注者對訓練數(shù)據(jù)進行驗證,保證訓練數(shù)據(jù)與更廣泛群體的偏好一致。
GPT3只是個語言模型,它被用來預測下一個單詞,絲毫沒有考慮用戶想要的答案;當使用代表用戶喜好的三類人工標注為微調(diào)數(shù)據(jù)后,1.3B參數(shù)的InstructGPT在多場景下的效果超越175B的GPT3。
InstructGPT當中提到很關鍵的一點, 當我們要解決的安全和對齊問題是復雜和主觀,而它的好壞無法完全被自動指標衡量的時候,此時需要用人類的偏好來作為獎勵信號來微調(diào)我們的模型。
再往前回溯,其實在2019年GPT2出世后,OpenAI就有嘗試結合GPT-2和強化學習。在NeurIPS 2020的Learning to Summarize with Human Feedback工作中,OpenAI在摘要生成中,利用了從人類反饋中的強化學習來訓練。可以從這篇工作的整體流程圖中,看出三步走的核心思想: 收集反饋數(shù)據(jù) -> 訓練獎勵模型 -> PPO強化學習。
RLHF第一階段,針對多個候選摘要,人工排序(這里就體現(xiàn)出OpenAI的鈔能力,按標注時間計費,標注過快的會被開除);第二階段,訓練排序模型(依舊使用GPT模型);第三階段,利用PPO算法學習Policy(在摘要任務上微調(diào)過的GPT)。文中模型可以產(chǎn)生比10倍更大模型容量更好的摘要效果。但文中也同樣指出,模型的成功部分歸功于增大了獎勵模型的規(guī)模,而這需要很大量級的計算資源,訓練6.7B的強化學習模型需要320 GPU-days的成本。另一篇2020年初的工作,是OpenAI的Fine-Tuning GPT-2 from Human Preferences工作,同樣首先利用預訓練模型,訓練reward模型;進而使用PPO策略進行強化學習,整體步驟初見ChatGPT的雛形。
而RLHF(reinforcement learning from human feedback )的思想,是在更早的2017年6月的OpenAI Deep Reinforcement Learning from Human Preferences工作提出,核心思想是利用人類的反饋,判斷最接近視頻行為目標的片段,通過訓練來找到最能解釋人類判斷的獎勵函數(shù),然后使用RL來學習如何實現(xiàn)這個目標。
可以說,ChatGPT是站在InstructGPT以及以上理論的肩膀上完成的一項出色的工作,它們將LLM(large language model)/PTM(pretrain language model)與RL(reinforcement learning)出色結合,證明這條方向可行,同時也是未來還將持續(xù)發(fā)展的NLP甚至通用智能體的方向。
其實近兩年,利用LLM+RL以及對強化學習和NLP訓練的研究,各大巨頭在這個領域做了非常多扎實的工作,而這些成果和ChatGPT一樣都有可圈可點之處。這里以OpenAI的WebGPT和Meta的Cicero為例。
WebGPT是2021年底OpenAI的工作,其核心思想是使用GPT3模型強大的生成能力,學習人類使用搜索引擎的一系列行為,通過訓練獎勵模型來預測人類的偏好,使WebGPT可以自己搜索網(wǎng)頁來回答開放域的問題,而產(chǎn)生的答案盡可能滿足人類的喜好。Cicero是Meta AI 2022年底發(fā)布的可以以人類水平玩文字策略游戲的AI系統(tǒng), 其同樣可以與人類互動,可以使用戰(zhàn)略推理和自然語言與人類在游戲玩法中進行互動和競爭。Cicero的核心是由一個對話引擎和一個戰(zhàn)略推理引擎共同驅動的,而戰(zhàn)略推理引擎集中使用了RL,對話引擎與GPT3類似。
關于ChatGPT(GPT3.5)的發(fā)展summary,附上一個非常好的資料推薦,并附上其梳理的流程:
能力OpenAI模型訓練方法OpenAI APIOpenAI論文近似的開源模型語言生成+ 世界知識+ 上下文學習GPT-3初始版本大部分的能力已經(jīng)存在于模型中,盡管表面上看起來很弱。語言建模DavinciGPT3論文Meta OPT+ 遵循人類的指令+ 泛化到?jīng)]有見過的任務Instruct-GPT初始版本指令微調(diào)Davinci-Instruct-BetaInstruct-GPT論文T0論文Google FLAN論文+ 代碼理解+ 代碼生成Codex初始版本在代碼上進行訓練Code-Cushman-001Codex論文Salesforce CodeGenGPT3.5系列++ 代碼理解++ 代碼生成++ 復雜推理 / 思維鏈+ 長距離的依賴 (很可能)現(xiàn)在的CodexGPT3.5系列中最強大的模型在代碼+文本上進行訓練在指令上進行微調(diào)Code-Davinci-002(目前免費的版本 = 2022年12月)Codex論文++ 遵循人類指令- 上下文學習- 推理能力++ 零樣本生成有監(jiān)督的Instruct-GPT通過犧牲上下文學習換取零樣本生成的能力監(jiān)督學習版的指令微調(diào)Text-Davinci-002InsructGPT論文 有監(jiān)督部分T0論文Google FLAN論文+ 遵循人類價值觀+ 包含更多細節(jié)的生成+ 上下文學習+ 零樣本生成經(jīng)過RLHF訓練的Instruct-GPT和002模型相比,和人類更加對齊,并且更少的性能損失強化學習版的指令微調(diào)Text-Davinci-003InsructGPT論文 從人類反饋中學習Deepmind SparrowAI2 RL4LMs++ 遵循人類價值觀++ 包含更多細節(jié)的生成++ 拒絕知識范圍外的問題++ 建模對話歷史的能力-- 上下文學習ChatGPT通過犧牲上下文學習的能力換取建模對話歷史的能力使用對話數(shù)據(jù)進行強化學習指令微調(diào)Deepmind SparrowAI2 RL4LMs
ChatGPT對于文字模態(tài)的AIGC應用具有重要意義,可以依附于對話形態(tài)的產(chǎn)品和載體大有空間,包括但不限于內(nèi)容創(chuàng)作、客服機器人、虛擬人、機器翻譯、游戲、社交、教育、家庭陪護等領域,或許都將是 ChatGPT 能快速落地的方向。其中有些方向會涉及到交互的全面改革,比如機器翻譯不再是傳統(tǒng)的文本輸入->實時翻譯,而是隨時以助手問答的形式出現(xiàn),甚至給出一個大概籠統(tǒng)的中文意思,讓機器給出對應英文,包括對于我們目前所做的寫作產(chǎn)品,可能也會涉及創(chuàng)作模式的改變和革新。 有些方向會全面提升產(chǎn)品質量,比如已存在的客服機器人、虛擬人等。NLP與CV相結合:ChatGPT作為文字形態(tài)的基礎模型,自然可以與其他多模態(tài)結合;比如最近同為火熱的Stable Diffusion模型,利用ChatGPT生成較佳的Prompt,對于AIGC內(nèi)容和日趨火熱的藝術創(chuàng)作,提供強大的文字形態(tài)的動力。另一個討論較多的方向,是ChatGPT對于搜索引擎的代替性;ChatGPT可以作為搜索引擎的有效補充,但至于是否能代替搜索引擎(不少人關注的地方),拋開推理成本不談,目前只從效果上來說為時尚早。 對于網(wǎng)絡有答案的query,抽取就完全能滿足,百度最近就有這樣的功能。網(wǎng)絡上沒有明確答案,即使檢索了相關材料(ChatGPT應該還沒有這樣的功能),也沒人能保證生成結果的可信度,目前可能還不太成熟。ChatGPT本身的升級:與WebGPT的結合,對信息進行實時更新,并且對于事實真假進行判斷;很明顯可以看到,現(xiàn)在的ChatGPT沒有實時更新和事實判斷能力,而如果結合WebGPT的自動搜索能力,讓ChatGPT學會自己去海量知識庫中探索和學習,將會極大提升使用方向,我們預測這可能會是GPT-4的一項能力。 還有其他更多方向,包括ChatGPT與最近數(shù)理邏輯工作的結合等。
通過海量數(shù)據(jù)訓練得到的超大參數(shù)模型蘊含了海量知識,以GPT3(175B)開端,再到LaMDA(137B)、Gopher(280B)、FLAN-T5(540B)等,業(yè)界對于LLM的探索和應用,以及如何挖掘其學到的知識,引導它們適配不同子任務達到最先進結果(state-of-the-art result,sota),一直是近兩年一項極具價值及熱門的工作。對于LLM的探索,從起初探索貼近預訓練任務的方式構造下游任務,包括各類Prompt Engineering方式,減少微調(diào)數(shù)據(jù)量;再到用非梯度更新的方式,使大模型無需微調(diào)情況下,擁有小樣本、零樣本解決問題的能力,包括上下文學習(In-context learning)、上下文學習的矯正(Calibration)等;利用LLM解決更難的數(shù)理推理問題,通過一系列邏輯鏈(CoT,chain of thought ),深入挖掘大模型的知識和推理能力;進一步,更加看重行動驅動(Action-driven)、意圖驅動與大模型的結合,使大模型從意圖出發(fā)對齊人類需求;以上探索,力求在數(shù)量繁多的自然語言任務中達到初步的“質變”效果,嘗試通向真正的AGI。
LLM的引入會使行業(yè)內(nèi)公司劃分出不同層級(此處很同意謝劍的觀點):
Level1:LLM基礎設施公司;類比為一個擁有比較強通用能力的人;Level1的公司會比較少,可能只有1-2家(比如 OpenAI、Google)
Level2:基于LLM結合場景進行商業(yè)化應用的公司(以應用為主,沒有全體微調(diào)) ;類比通用能力的人去一些場景打工掙錢;Level2的公司側重于基于LLM做出較多應用,包括從頭創(chuàng)新做應用、已有的業(yè)務場景中升級功能。
Level3:基于LLM+領域場景數(shù)據(jù),微調(diào)形成具備更強領域能力和一定門檻的產(chǎn)品,通過商業(yè)化和數(shù)據(jù)積累,持續(xù)形成業(yè)務數(shù)據(jù)-模型閉環(huán);類比一個領域專家。Level3的公司有很強的專業(yè)性和數(shù)據(jù)積累,比如類似專項面向寫作的Jasper.AI等。
LLM的出現(xiàn)使得機遇與挑戰(zhàn)并存,機遇在于技術革新勢必會帶來新賽道的機遇,挑戰(zhàn)在于革新也會使越來越多old school方式被拋棄,跟不上節(jié)奏落伍的風險將會加大。
1)從技術演進角度來說,LLM可能使NLP形成“大一統(tǒng)”之勢。如果說BERT讓大部分中間任務基本消亡,NLP傳統(tǒng)技藝逐漸被替代,那么LLM則會讓很多NLP子領域不再具備獨立研究價值,它們均會被納入LLM技術體系;這對于相關長期從事某些子領域的研究者和從業(yè)者是一件可怕的事,累積了一定時間的子領域專家經(jīng)驗/技巧trick,一夜即被“暴力”的LLM擊敗,對相關業(yè)務和從業(yè)者挑戰(zhàn)巨大;但另一個角度來說,當NLP整體能力到達一定階段時,“大一統(tǒng)”是必然結果,之前劃分較多子領域是因為沒有強能力模型而需要分而治之,積極利用LLM拓展自身業(yè)務的可能性是機遇所在。
2)從LLM應用角度來說,LLM-as-a-Service 會越來越普遍,OpenAI 提供的 LLMaaS 服務已經(jīng)具備較高的速度,并開始逐步探索行之有效的盈利模式,這也是下游產(chǎn)品的機遇。截止2021年7月,全球有300多個app在使用GPT3技術,結合gpt3demo網(wǎng)站的數(shù)據(jù),其收錄了158個基于GPT-3的應用;LLM使得業(yè)界能力下限提升,行業(yè)門檻下降,業(yè)務優(yōu)勢會聚焦在垂直領域的數(shù)據(jù)積累資源。但LLMaaS的盈利模式并不成熟,尚待檢驗,合理的模式應該需要涉及用戶分層,而非全量用戶的鋪展,這些均增添了較多不確定性,此為應用層面的挑戰(zhàn)。
3)從推理成本來說,配合LLM的模型壓縮、前向加速等手段均可以降低推理成本,雖然下游產(chǎn)品推理的服務成本尚高,但其實作為百億模型,完成大量高智能任務具備初步可行性,此為機遇;但在降本增效的大環(huán)境下,真正將LLM投入生產(chǎn)的挑戰(zhàn)性極大,對于LLM短期在生產(chǎn)環(huán)境下最實際的用途主要聚焦在線下,主要圍繞數(shù)據(jù)擴增、減少標注成本和數(shù)據(jù)生產(chǎn)。
4) 從訓練投入成本來說,作為最限制LLM發(fā)展的因素,它也在不斷進步,除去本身模硬件升級、模型蒸餾、加速訓練技術之外,LLM的稀疏化也會持續(xù)發(fā)展,SparseGPT應該是其中有代表性的工作之一,此為機遇;當然這樣的進步相比高額的投入并不夠,所以在第三節(jié)中提到的對于LLM的投入,是和相關組織的技術戰(zhàn)略相關的。在LM基建層面,目標成為何Level的公司,會影響相關的投入,但LLM絕對是具備高戰(zhàn)略價值的投入。
5) 從國內(nèi)產(chǎn)研角度來說,這一點其實是比較讓人憂慮的;因為LLM過于高昂的成本和苛刻的使用條件,這兩年國內(nèi)對于LLM的研究成果較少(累積參數(shù)的大模型有,但實際有影響的成果不多),與國外差距在增大。表1可以看到,GPT3后已經(jīng)更新了5~6代,而國內(nèi)甚至還沒有真正意義上可以匹敵GPT3的基建模型,甚至60億~130億的 InstructGPT能力已經(jīng)超過國內(nèi)大部分的所謂大模型(當然OpenAI領先太多,其也超出Google的一般大模型)。
當LLM逐漸成為壟斷能力,當OpenAI、Google、DeepMind逐漸閉源時,基建模型又會成為“卡脖子”的能力,ChatGPT只是這一階段的開始。 所以筆者認為對于LLM的態(tài)度,僅從個人來說,國內(nèi)大廠戰(zhàn)略上務必重視它,積極應對挑戰(zhàn),不用過分悲觀,尋求并抓住LLM帶來的機遇;基于以上方法利用好可用的LLM,可控成本下優(yōu)化自身業(yè)務,同時緊跟業(yè)界研究方向,“借好”LLM帶來的新東風。
最后附上相關大語言模型進化表:
模型參數(shù)量訓練數(shù)據(jù)量方法和結論文獻GPT30.1B~175B約500B tokensTransformer DecoderLanguage Models are Few-Shot LearnersLaMDA137B1.56T wordsTransformer Decoder三大目標:質量、安全和根基性(事實正確性)。質量分為合理性、特異性和趣味性;主要根據(jù)以上評測指標來約束生成,將生成和排序融合到一起,同時增加了兩個任務來融入知識(輸入對話上下文,輸出知識查詢語句;輸入知識查詢語句,輸出生成的最終結果)LaMDA: Language Models for Dialog ApplicationsWebGPT760M、13B、175BDemonstraions: 6209Comprisons:21548其核心思想是使用GPT3模型強大的生成能力,學習人類使用搜索引擎的一系列行為,通過訓練獎勵模型來預測人類的偏好,使WebGPT可以自己搜索網(wǎng)頁來回答開放域的問題,而產(chǎn)生的答案盡可能滿足人類的喜好。WebGPT: Browser-assisted question-answering with human feedbackFLAN-T5540B1800個任務任務的指令 與數(shù)據(jù)進行拼接。統(tǒng)一的輸入輸出格式(4種類型),引入chain-of-thought,大幅提高任務數(shù)量,大幅提高模型體積;Scaling Instruction-Finetuned Language ModelsSparrow(Chinchilla)70B/核心為從人類反饋中學習,創(chuàng)造更安全的對話助手。Improving alignment of dialogue agents via targeted human judgementsGopher44M~ 280B10.5TB堆參數(shù)的大模型Scaling Language Models: Methods, Analysis & Insights from Training GopherRETRO(Retrieval Transformer)172M~7.5B/以 Gopher為基礎改進語言模型架構,降低了訓練資源成本,并檢索增強。在只使用4%的參數(shù)量的基礎上,RETRO模型獲得了與Gopher和 Jurassic-1 模型相當?shù)男阅?,在大多?shù)測試集上表現(xiàn)優(yōu)異。Improving language models by retrieving from trillions of tokensPaLM8B、62B、540B780B tokens 包括網(wǎng)頁、書籍、維基百科、代碼、社交對話Transformer DecoderPaLM: Scaling Language Modeling with PathwaysInstructGPT1.3B、6B、175B微調(diào)數(shù)據(jù)1w+,Reward Model 4w+,PPO無標注數(shù)據(jù)4w+GPT3.5 Finetune+RLHF指令微調(diào)Training language models to follow instructions with human feedbackChatGPT/推測和InstructGPT差不多GPT3.5 (codex基礎上)Finetune+RLHF+解決對齊問題/
申明:本文參考了較多網(wǎng)絡資料,屬于資料整合類,如有侵權請聯(lián)系作者添加引用或者刪除。
聯(lián)系客服