「論文」: Scaling Instruction-Finetuned Language Models
「地址」: https://arxiv.org/abs/2210.11416
「模型」: https://huggingface.co/google/flan-t5-xxl
1. Flan-T5是什么
「Flan-T5」是Google最新的一篇工作,通過(guò)在超大規(guī)模的任務(wù)上進(jìn)行微調(diào),讓語(yǔ)言模型具備了極強(qiáng)的泛化性能,做到單個(gè)模型就可以在1800多個(gè)NLP任務(wù)上都能有很好的表現(xiàn)。這意味著模型一旦訓(xùn)練完畢,可以直接在幾乎全部的NLP任務(wù)上直接使用,實(shí)現(xiàn)「One model for ALL tasks」,這就非常有誘惑力!
這里的Flan指的是(Instruction finetuning),即"基于指令的微調(diào)";T5是2019年Google發(fā)布的一個(gè)語(yǔ)言模型了。注意這里的語(yǔ)言模型可以進(jìn)行任意的替換(需要有Decoder部分,所以「不包括BERT這類純Encoder語(yǔ)言模型」),論文的核心貢獻(xiàn)是提出一套多任務(wù)的微調(diào)方案(Flan),來(lái)極大提升語(yǔ)言模型的泛化性。
例如下面文章中的例子,模型訓(xùn)練好之后,可直接讓模型做問(wèn)答:
「模型輸入」是:"Geoffrey Hinton和George Washington這兩個(gè)人有沒(méi)有交談過(guò)?在回答之前想一想原因?!?/p>
「模型返回」是:Geoffrey Hinton是一個(gè)計(jì)算機(jī)科學(xué)家,出生在1947年;而George Washington在1799年去世。所以這兩個(gè)不可能有過(guò)交談。所以答案時(shí)“沒(méi)有”。
2. 怎么做的
(1) 「任務(wù)收集」:工作的第一步是收集一系列監(jiān)督的數(shù)據(jù),這里一個(gè)任務(wù)可以被定義成<數(shù)據(jù)集,任務(wù)類型的形式>,比如“基于SQuAD數(shù)據(jù)集的問(wèn)題生成任務(wù)”。需要注意的是這里有9個(gè)任務(wù)是需要進(jìn)行推理的任務(wù),即Chain-of-thought (CoT)任務(wù)。
(2) 「形式改寫(xiě)」:因?yàn)樾枰脝蝹€(gè)語(yǔ)言模型來(lái)完成超過(guò)1800+種不同的任務(wù),所以需要將任務(wù)都轉(zhuǎn)換成相同的“輸入格式”喂給模型訓(xùn)練,同時(shí)這些任務(wù)的輸出也需要是統(tǒng)一的“輸出格式”。
如上圖所示,根據(jù) “是否需要進(jìn)行推理 (CoT)” 以及 “是否需要提供示例(Few-shot)” 可將輸入輸出劃分成四種類型:
-
chain-of-thought : and few-shot: (圖中左上)
- 輸入:指令 + 問(wèn)題
- 輸出:答案
-
chain-of-thought : and few-shot: (圖中右上)
- 輸入:指令 + CoT引導(dǎo)(by reasoning step by step) + 問(wèn)題
- 輸出:理由 + 答案
-
chain-of-thought: and few-shot: (圖中左下)
- 輸入:指令 + 示例問(wèn)題 + 示例問(wèn)題回答 + 指令 + 問(wèn)題
- 輸出:答案
-
chain-of-thought: and few-shot: (圖中右下)
- 輸入:指令 + CoT引導(dǎo) + 示例問(wèn)題 + 示例問(wèn)題理由 + 示例問(wèn)題回答 + 指令 + CoT引導(dǎo) + 問(wèn)題
- 輸出:理由 + 答案
(3) 「訓(xùn)練過(guò)程」:采用恒定的學(xué)習(xí)率以及Adafactor優(yōu)化器進(jìn)行訓(xùn)練;同時(shí)會(huì)將多個(gè)訓(xùn)練樣本“打包”成一個(gè)訓(xùn)練樣本,這些訓(xùn)練樣本直接會(huì)通過(guò)一個(gè)特殊的“結(jié)束token”進(jìn)行分割。訓(xùn)練時(shí)候在每個(gè)指定的步數(shù)會(huì)在“保留任務(wù)”上進(jìn)行模型評(píng)估,保存最佳的checkpoint。
盡管微調(diào)的任務(wù)數(shù)量很多,但是相比于語(yǔ)言模型本身的預(yù)訓(xùn)練過(guò)程,計(jì)算量小了非常多,只有0.2%。所以通過(guò)這個(gè)方案,大公司訓(xùn)練好的語(yǔ)言模型可以被再次有效的利用,我們只需要做好“微調(diào)”即可,不用重復(fù)耗費(fèi)大量計(jì)算資源再去訓(xùn)一個(gè)語(yǔ)言模型。
3. 一些結(jié)論
(1) 微調(diào)很重要
與不微調(diào)相比,通過(guò)基于指令的微調(diào)(flan)可以大幅度提高語(yǔ)言模型的效果。
(2) 模型越大效果越好
伴隨模型體積的增加(上圖左), 尤其是指數(shù)級(jí)的增加,比如從8B->62B,再?gòu)?2B->540B,不論是否微調(diào),效果都有非常顯著的提升,而且還沒(méi)有看到收斂的信號(hào),可能如果有了 “萬(wàn)億”參數(shù)的模型,效果還能繼續(xù)提升。
(3) 任務(wù)越多效果越好
伴隨任務(wù)數(shù)量的增加(上圖右),模型的性能也會(huì)跟著增加,但是當(dāng)任務(wù)數(shù)量超過(guò)282個(gè)之后,提升就不是很明顯了。因?yàn)槔^續(xù)增加新的任務(wù),尤其任務(wù)形式跟之前一樣,不會(huì)給模型帶來(lái)新的知識(shí);多任務(wù)微調(diào)的本質(zhì)是模型能夠更好的把從預(yù)訓(xùn)練學(xué)到的知識(shí)進(jìn)行表達(dá),超過(guò)一定任務(wù)之后,繼續(xù)新增相似的任務(wù),知識(shí)的表達(dá)能力不會(huì)繼續(xù)有很大的收益。進(jìn)一步統(tǒng)計(jì)全部微調(diào)數(shù)據(jù)集的token數(shù),發(fā)現(xiàn)只占到了預(yù)訓(xùn)練數(shù)據(jù)token數(shù)的0.2%,這表明還是有很多的知識(shí)沒(méi)有在微調(diào)階段重新被激發(fā)。
(4) 混雜CoT相關(guān)的任務(wù)很重要
盡管在1800多個(gè)任務(wù)中只有9個(gè)需要推理再給出回答的任務(wù)(CoT任務(wù)),但是混雜了這9個(gè)任務(wù)之后對(duì)整個(gè)模型的提升很大。在針對(duì)CoT相關(guān)任務(wù)的預(yù)測(cè)上,如果在微調(diào)中混淆CoT任務(wù)能帶來(lái)明顯的提升(左圖中藍(lán)色和綠色線);在針對(duì)非CoT相關(guān)任務(wù)的預(yù)測(cè)上,如果在微調(diào)中混淆了CoT任務(wù)也不會(huì)對(duì)模型帶來(lái)傷害(右圖中藍(lán)色和綠色線)。
(5) 整合起來(lái)
最終在多個(gè)不同尺寸的模型上進(jìn)行實(shí)驗(yàn),都可以獲得一致性的結(jié)論:引入Flan微調(diào)方案,可以很好提高語(yǔ)言模型在超大規(guī)模任務(wù)上的整體效果。
總結(jié)一下,這篇工作提出了Flan的微調(diào)框架,核心有四點(diǎn):統(tǒng)一的輸入輸出格式(4種類型),引入chain-of-thought,大幅提高任務(wù)數(shù)量,大幅提高模型體積;實(shí)現(xiàn)了用一個(gè)模型來(lái)解決超過(guò)1800種幾乎全部的NLP任務(wù),通過(guò)較低的成本,極大發(fā)掘了現(xiàn)有語(yǔ)言模型的泛化性能,讓大家看到了通用模型的希望,即「One Model for ALL Tasks」。
審核編輯 :李倩
-
Google
+關(guān)注
關(guān)注
5文章
1772瀏覽量
57837 -
模型
+關(guān)注
關(guān)注
1文章
3342瀏覽量
49270 -
nlp
+關(guān)注
關(guān)注
1文章
489瀏覽量
22117
原文標(biāo)題:谷歌提出Flan-T5,一個(gè)模型解決所有NLP任務(wù)
文章出處:【微信號(hào):zenRRan,微信公眾號(hào):深度學(xué)習(xí)自然語(yǔ)言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
Transformer語(yǔ)言模型簡(jiǎn)介與實(shí)現(xiàn)過(guò)程
nlp邏輯層次模型的特點(diǎn)
nlp自然語(yǔ)言處理的主要任務(wù)及技術(shù)方法
llm模型有哪些格式
nlp自然語(yǔ)言處理模型怎么做
nlp自然語(yǔ)言處理模型有哪些
NLP模型中RNN與CNN的選擇
谷歌提出大規(guī)模ICL方法
【大語(yǔ)言模型:原理與工程實(shí)踐】大語(yǔ)言模型的基礎(chǔ)技術(shù)
谷歌模型框架是什么軟件?谷歌模型框架怎么用?
谷歌模型怎么用手機(jī)打開(kāi)
谷歌模型框架是什么?有哪些功能和應(yīng)用?
![](https://file1.elecfans.com/web2/M00/C1/B0/wKgZomXeiCiASJYaAAUIuEQwIYo299.png)
谷歌大型模型終于開(kāi)放源代碼,遲到但重要的開(kāi)源戰(zhàn)略
![<b class='flag-5'>谷歌</b>大型<b class='flag-5'>模型</b>終于開(kāi)放源代碼,遲到但重要的開(kāi)源戰(zhàn)略](https://file1.elecfans.com/web2/M00/C1/91/wKgaomXXHzeAD75WAAAovhJaCuU492.png)
評(píng)論