ChatGPT是生成型預(yù)訓(xùn)練變換模型(GPT),在GPT-3.5之上用基于人類反饋的監(jiān)督學(xué)習(xí)和強(qiáng)化學(xué)習(xí)微調(diào)厚柳。這兩種方法都用人類教練來提高模型性能,以人類干預(yù)增強(qiáng)機(jī)器學(xué)習(xí)效果,獲得更逼真的結(jié)果实蔽。在監(jiān)督學(xué)習(xí)的情況下為模型提供這樣一些對(duì)話,在對(duì)話中教練充當(dāng)用戶和AI助理兩種角色谨读。在強(qiáng)化步驟中局装,人類教練首先為模型在先前對(duì)話中創(chuàng)建的響應(yīng)評(píng)級(jí)。這些級(jí)別用于創(chuàng)建“獎(jiǎng)勵(lì)模型”,使用近端策略優(yōu)化(PPO)的多次迭代來微調(diào)铐尚。這種策略優(yōu)化算法比信任域策略優(yōu)化(trust region policy optimization)算法更為高效拨脉。
OpenAI繼續(xù)從ChatGPT用戶那里收集數(shù)據(jù),這些數(shù)據(jù)可用于加強(qiáng)訓(xùn)練和微調(diào)ChatGPT,同時(shí)試圖減少有害和誤導(dǎo)回復(fù),訓(xùn)練數(shù)據(jù)經(jīng)過審核,減少潛在的種族主義或性別歧視等內(nèi)容.
典型的中間任務(wù)包括:中文分詞宣增、詞性標(biāo)注玫膀、NER、句法分析
按理說爹脾,“中間任務(wù)”就不應(yīng)該出現(xiàn)匆骗,而之所以會(huì)存在,這是NLP技術(shù)發(fā)展水平不夠高的一種體現(xiàn)誉简。
但是自從GPT出現(xiàn)之后碉就,其實(shí)就沒有必要做這些中間任務(wù)了,因?yàn)橥ㄟ^大量數(shù)據(jù)的預(yù)訓(xùn)練闷串,GPT已經(jīng)把這些中間任務(wù)作為語(yǔ)言學(xué)特征瓮钥,吸收到了Transformer的參數(shù)里,此時(shí)我們完全可以端到端地直接解決那些最終任務(wù)烹吵,而無須對(duì)這種中間過程專門建模碉熄。
“最終任務(wù)”分為兩大不同類型的任務(wù):自然語(yǔ)言理解類任務(wù)(分類)和自然語(yǔ)言生成類任務(wù)(輸出文本)。
NLP中不同的子領(lǐng)域肋拔,其特征抽取器都逐漸從LSTM/CNN統(tǒng)一到Transformer上
兩階段模式: 對(duì)于自然語(yǔ)言理解類任務(wù)锈津,其技術(shù)體系統(tǒng)一到了以Bert為代表的“雙向語(yǔ)言模型預(yù)訓(xùn)練+應(yīng)用Fine-tuning”模式,自然語(yǔ)言生成類任務(wù),其技術(shù)體系則統(tǒng)一到了以GPT 2.0為代表的“自回歸語(yǔ)言模型(即從左到右單向語(yǔ)言模型)+Zero /Few Shot Prompt”
人與人之間交流,下達(dá)一條指令,便能理解處理任務(wù),這個(gè)事zero shot prompt
目標(biāo)的LLM 模型能像人一樣完成任務(wù)推理和處理
于是使用few shot prompt, 示例來代表任務(wù)描述,理解任務(wù)內(nèi)容
few shot prompt 只是一種過渡時(shí)期的技術(shù),如果LLM可以推理那么久不需要這個(gè)技術(shù)
模型里存在的先驗(yàn)知識(shí)就包含在幾萬(wàn)人工標(biāo)注數(shù)據(jù)里凉蜂,不過注入的不是世界知識(shí)琼梆,而是人類偏好知識(shí)。包括了人類對(duì)于事物的評(píng)判標(biāo)準(zhǔn).
你只要把這個(gè)領(lǐng)域更多的數(shù)據(jù)交給LLM窿吩,讓它自己學(xué)習(xí)更多知識(shí)即可茎杂。解決了數(shù)據(jù)加工問題和人工調(diào)參數(shù)問題
理想LLM模型所示,相關(guān)的技術(shù)其實(shí)可以分為兩大類纫雁;
一類是關(guān)于LLM模型如何從數(shù)據(jù)中吸收知識(shí)煌往,也包括模型規(guī)模增長(zhǎng)對(duì)LLM吸收知識(shí)能力帶來的影響;
第二類是關(guān)于人如何使用LLM內(nèi)在能力來解決任務(wù)的人機(jī)接口轧邪,內(nèi)容理解和指令,LLM推理技術(shù)
LLM從海量自由文本中學(xué)習(xí)了語(yǔ)言和世界知識(shí),你把LLM看作是一種以模型參數(shù)體現(xiàn)的隱式知識(shí)圖譜刽脖,如果這么理解,我認(rèn)為是一點(diǎn)問題也沒有的忌愚。、
如何修正模型參數(shù)菜循,來實(shí)現(xiàn)舊知識(shí)到新知識(shí)的修正,需要更深入理解LLM的內(nèi)部運(yùn)作機(jī)制
Fine-tuning拿這些例子當(dāng)作訓(xùn)練數(shù)據(jù)昧穿,利用反向傳播去修正LLM的模型參數(shù),來修正知識(shí),重復(fù)多次,LLM記住新的知識(shí),遺忘舊的知識(shí)
預(yù)訓(xùn)練模型: 預(yù)訓(xùn)練階段,其優(yōu)化目標(biāo)是交叉熵,對(duì)GPT這種自回歸語(yǔ)言模型來說,也就是看LLM是否正確預(yù)測(cè)到了下一個(gè)單詞薯酝;一般我們的直覺是:如果LLM模型在預(yù)訓(xùn)練階段的指標(biāo)越好吴菠,自然它解決下游任務(wù)的能力就越強(qiáng)心墅。
OpenAI選擇了同時(shí)增加訓(xùn)練數(shù)據(jù)量和模型參數(shù),而很多大模型在做預(yù)訓(xùn)練的時(shí)候,并沒有考慮這一點(diǎn),很多LLM大模型只是單調(diào)增加模型參數(shù),而固定住了訓(xùn)練數(shù)據(jù)量,這個(gè)做法其實(shí)是不對(duì)的,限制了LLM模型的潛力竣付。
in-context learning,它不能真正建模輸入和輸出之間的關(guān)系筛璧,因此在一些輸入輸出之間的關(guān)系必然沒有被無監(jiān)督預(yù)訓(xùn)練任務(wù)所建模的下游任務(wù)而言,in-context learning很可能失效颊乘。
通過給in-context的訓(xùn)練樣本賦予隨機(jī)標(biāo)簽采蚀,可以構(gòu)建隨機(jī)標(biāo)注的設(shè)置
揭開AGI真正的鑰匙就是:超大規(guī)模及足夠多樣性的數(shù)據(jù)疲牵、超大規(guī)模的模型,以及充分的訓(xùn)練過程榆鼠。對(duì)于知識(shí)密集型的任務(wù)纲爸,隨著模型規(guī)模越大,各種任務(wù)的效果會(huì)越來越好妆够;而對(duì)很多推理類型的有難度的任務(wù)
人機(jī)交互接口,自然語(yǔ)言描述任務(wù),高質(zhì)量數(shù)據(jù)工程,
監(jiān)督訓(xùn)練模型,評(píng)價(jià)模型,生成模型
1. 基于現(xiàn)有數(shù)據(jù)识啦,訓(xùn)練得到GPT-3;然后利用已經(jīng)開放的API中收集到的prompt data中的一部分神妹,加上人工生成想要的輸出結(jié)果颓哮,對(duì)GPT3進(jìn)行finetune。
2. 讓模型基于給定的prompt輸出一堆結(jié)果鸵荠,讓人類對(duì)結(jié)果進(jìn)行排序冕茅,然后訓(xùn)練一個(gè)reward model,學(xué)習(xí)知道什么樣的結(jié)果是好的蛹找。其作用是對(duì)prompt和output這樣的組合進(jìn)行打分姨伤,找到和prompt最契合的結(jié)果。
3. 最后庸疾,繼續(xù)利用prompt中的數(shù)據(jù)乍楚,讓GPT3生成答案,對(duì)應(yīng)讓RM進(jìn)行打分届慈,接著基于PPO對(duì)GPT3進(jìn)行優(yōu)化徒溪。