分類目錄:《深入理解深度學(xué)習(xí)》總目錄
相關(guān)文章:
· GPT(Generative Pre-Trained Transformer):基礎(chǔ)知識
· GPT(Generative Pre-Trained Transformer):在不同任務(wù)中使用GPT
· GPT(Generative Pre-Trained Transformer):GPT-2與Zero-shot Learning
· GPT(Generative Pre-Trained Transformer):GPT-3與Few-shot Learning
N-shot Learning
在介紹GPT的第二代模型GPT-2之前,先來介紹機(jī)器學(xué)習(xí)中的三個概念:Zero-shot Learning(零樣本學(xué)習(xí))、One-shot Learning(單樣本學(xué)習(xí))和Few-shot Learning(少樣本學(xué)習(xí))。深度學(xué)習(xí)技術(shù)的迅速發(fā)展離不開大量高質(zhì)量的數(shù)據(jù),但在很多實(shí)際應(yīng)用場景中,獲取大量的高質(zhì)量數(shù)據(jù)非常困難,所以模型能從少量樣本中學(xué)習(xí)規(guī)律并具備推理能力是至關(guān)重要的。人類具有極其良好的小樣本學(xué)習(xí)能力,能從少量數(shù)據(jù)中提煉出抽象概念并推理應(yīng)用,這也是機(jī)器學(xué)習(xí)未來最主要的發(fā)展方向,這個研究方向就是N-shot Learning,其中字母N表示樣本數(shù)量較少。具體而言,N-shot Learning又分為Zero-shot Learning、One-shot Learning和Few-shot Learning,三者所使用的樣本量依次遞增。
Zero-shot Learning是指在沒有任何訓(xùn)練樣本進(jìn)行微調(diào)訓(xùn)練的情況下,預(yù)訓(xùn)練語言模型就可以完成特定的任務(wù)。用一個形象的例子解釋:爸爸拿了一堆動物卡片教小維認(rèn)識卡片中的動物,小維拿起一張畫著馬的卡片,爸爸告訴他,這就是馬。之后,小維又拿起了畫著老虎的卡片,爸爸告訴他:“看,這種身上有條紋的動物就是老虎?!卑职帜闷鹆水嬘行茇埖目ㄆ瑢π【S說:“你看熊貓是黑白色的?!比缓?,爸爸給小維安排了一個任務(wù),讓他在卡片里找一種他從沒見過的動物——斑馬,并告訴小維有關(guān)于斑馬的信息:“斑馬有著馬的輪廓,身上有像老虎一樣的條紋,而且它像熊貓一樣是黑白色的?!弊詈螅【S根據(jù)爸爸的提示,找到了畫有斑馬的卡片。One-shot Learning是指在僅有一個訓(xùn)練樣本進(jìn)行微調(diào)訓(xùn)練的情況下,預(yù)訓(xùn)練語言模型就可以完成特定的任務(wù)。用一個形象的例子解釋:爸爸拿了一張柴犬的卡片給小維,告訴他:“這是柴犬,是犬類的一種。”然后爸爸給了小維三張卡片,卡片上分別畫有橘貓、東北虎和金毛,讓小維指出哪張卡片上的動物屬于犬類,小維根據(jù)柴犬的特征,指向畫有金毛的卡片。Few-shot Learning是指在僅有少量訓(xùn)練樣本進(jìn)行微調(diào)訓(xùn)練的情況下,預(yù)訓(xùn)練語言模型就可以完成特定的任務(wù)。同樣用一個形象的例子解釋:爸爸拿了五張分別畫有柴犬、柯基、邊牧、哈士奇和阿拉斯加的卡片,告訴小維,這些都屬于犬類,然后給了小維三張卡片,分別畫有橘貓、東北虎和金毛,讓小維指出哪張卡片上的動物屬于犬類,小維根據(jù)已有的五張犬類卡片的特征,指向畫有金毛的卡片。近年來,面向N-shot Learning的研究發(fā)展極為迅速,出現(xiàn)了基于度量的元學(xué)習(xí)、圖網(wǎng)絡(luò)等方法。本文和后續(xù)的文章就借助Zero-shot Learn-ing、One-shot Learning、Few-shot Learning的概念來呈現(xiàn)GPT系列模型的一些特性。
GPT-2的核心思想
GPT-2的核心思想并不是通過二階段訓(xùn)練模式(預(yù)訓(xùn)練+微調(diào))獲得特定自然語言處理任務(wù)中更好的性能,而是徹底放棄了微調(diào)階段,僅通過大規(guī)模多領(lǐng)域的數(shù)據(jù)預(yù)訓(xùn)練,讓模型在Zero-shot Learning的設(shè)置下自己學(xué)會解決多任務(wù)的問題。與之相對的是,在特定領(lǐng)域進(jìn)行監(jiān)督微調(diào)得到的專家模型并不具備多任務(wù)場景下的普適性。GPT-2的驚艷之處在于,它展示了語言模型在Zero-shot Learning設(shè)置下依然能夠很好地執(zhí)行各種任務(wù)的能力與潛力,證明了自然語言處理領(lǐng)域通用模型的可能性。GPT-2在多個特定領(lǐng)域的語言建模任務(wù)(給定詞序列,預(yù)測下一個詞)上均超越了當(dāng)前最佳的模型的性能,而在此之前,這些任務(wù)的最佳表現(xiàn)均來自特定領(lǐng)域數(shù)據(jù)集上微調(diào)訓(xùn)練得到的專家模型。GPT-2并沒有使用任務(wù)提供的特定領(lǐng)域的訓(xùn)練集進(jìn)行訓(xùn)練甚至微調(diào),而是直接在這些任務(wù)的測試集上進(jìn)行評估。讓人驚訝的是,GPT-2在這些語言建模任務(wù)上的表現(xiàn)優(yōu)于以往的專家模型的表現(xiàn),在某些任務(wù)上的性能提升非常顯著。
在問答、閱讀理解及自動摘要等具有不同輸入和輸出格式的語言任務(wù)中,GPT-2直接采用與GPT一致的輸入數(shù)據(jù)轉(zhuǎn)換方式,得到了令人驚艷的結(jié)果。雖然性能無法與專家模型相比,但是從論文給出的模型參數(shù)與任務(wù)性能趨勢圖來看,現(xiàn)有的GPT-2模型存在巨大的上升空間。如下圖所示,從左至右分別是GPT-2在Zero-shot Learning設(shè)置下在閱讀理解、機(jī)器翻譯、摘要生成及開放式問答這4個任務(wù)上的表現(xiàn)。雖然GPT-2在Zero-shot Learning設(shè)置下的表現(xiàn)遠(yuǎn)不如SOTA模型,但基本超越了簡單模型。除了摘要生成任務(wù),GPT-2在其余三個任務(wù)上都表現(xiàn)出了性能隨模型規(guī)模的增大而提升的趨勢,且提升十分明顯。這意味著若繼續(xù)擴(kuò)大GPT-2的規(guī)模,其性能還能提升。
GPT-2模型結(jié)構(gòu)
與第一代GPT模型相比,GPT-2在模型結(jié)構(gòu)上的改動極小。在復(fù)用GPT的基礎(chǔ)上,GPT-2做了以下修改:
- LN層被放置在Self-Attention層和Feed Forward層前,而不是像原來那樣后置
- 在最后一層Transformer Block后新增LN層
- 修改初始化的殘差層權(quán)重,縮放為原來的 1 N \frac{1}{\sqrt{N}} N?1?。其中, N N N是殘差層的數(shù)量
- 特征向量維數(shù)從768擴(kuò)大到1600,詞表擴(kuò)大到50257
- Transformer Block的層數(shù)從12擴(kuò)大到48。GPT-2有4個不同大小的模型,它們的參數(shù)設(shè)置如下表所示
總參數(shù)量 | 層數(shù) | 特征向量維數(shù) |
---|---|---|
117M | 12 | 768 |
345M | 24 | 1024 |
762M | 36 | 1280 |
1542M | 48 | 1600 |
其中最小的模型其實(shí)就是第一代GPT,參數(shù)量也達(dá)到了1.17億;而參數(shù)量高達(dá)15億的最大模型,一般被稱為GPT-2。模型擴(kuò)大了10多倍,意味著需要增加足夠的數(shù)據(jù)量,否則會出現(xiàn)欠擬合現(xiàn)象。第一代GPT使用的訓(xùn)練語料是BookCorpus數(shù)據(jù)集,包含超過7000本未出版的書籍。GPT-2使用的訓(xùn)練語料是從800多萬個網(wǎng)頁中爬取到的單語數(shù)據(jù),數(shù)據(jù)量是第一代GPT所使用數(shù)據(jù)量的10多倍,而來自眾多網(wǎng)頁的語料,涵蓋了各個領(lǐng)域、各種格式的文本信息,在一定程度上提升了GPT-2在Zero-shot Learning設(shè)置下處理特定任務(wù)的能力。GPT-2的不俗表現(xiàn),證明它是一個極其優(yōu)秀的預(yù)訓(xùn)練語言模型,雖然OpenAI并沒有給出GPT-2微調(diào)后在各下游任務(wù)中的表現(xiàn),但可以預(yù)期的是,其效果一定很好,在監(jiān)督微調(diào)階段的訓(xùn)練方式與第一代GPT并無差別。文章來源:http://www.zghlxwxcb.cn/news/detail-496421.html
參考文獻(xiàn):
[1] Lecun Y, Bengio Y, Hinton G. Deep learning[J]. Nature, 2015
[2] Aston Zhang, Zack C. Lipton, Mu Li, Alex J. Smola. Dive Into Deep Learning[J]. arXiv preprint arXiv:2106.11342, 2021.
[3] 車萬翔, 崔一鳴, 郭江. 自然語言處理:基于預(yù)訓(xùn)練模型的方法[M]. 電子工業(yè)出版社, 2021.
[4] 邵浩, 劉一烽. 預(yù)訓(xùn)練語言模型[M]. 電子工業(yè)出版社, 2021.
[5] 何晗. 自然語言處理入門[M]. 人民郵電出版社, 2019
[6] Sudharsan Ravichandiran. BERT基礎(chǔ)教程:Transformer大模型實(shí)戰(zhàn)[M]. 人民郵電出版社, 2023
[7] 吳茂貴, 王紅星. 深入淺出Embedding:原理解析與應(yīng)用實(shí)戰(zhàn)[M]. 機(jī)械工業(yè)出版社, 2021.文章來源地址http://www.zghlxwxcb.cn/news/detail-496421.html
到了這里,關(guān)于深入理解深度學(xué)習(xí)——GPT(Generative Pre-Trained Transformer):GPT-2與Zero-shot Learning的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!