-
當(dāng)前位置:首頁(yè) > 創(chuàng)意學(xué)院 > 技術(shù) > 專(zhuān)題列表 > 正文
gpt模型開(kāi)源嗎知乎
大家好!今天讓創(chuàng)意嶺的小編來(lái)大家介紹下關(guān)于gpt模型開(kāi)源嗎知乎的問(wèn)題,以下是小編對(duì)此問(wèn)題的歸納整理,讓我們一起來(lái)看看吧。
ChatGPT國(guó)內(nèi)免費(fèi)在線使用,能給你生成想要的原創(chuàng)文章、方案、文案、工作計(jì)劃、工作報(bào)告、論文、代碼、作文、做題和對(duì)話答疑等等
你只需要給出你的關(guān)鍵詞,它就能返回你想要的內(nèi)容,越精準(zhǔn),寫(xiě)出的就越詳細(xì),有微信小程序端、在線網(wǎng)頁(yè)版、PC客戶端,官網(wǎng):https://ai.de1919.com
本文目錄:
一、chatgpt數(shù)據(jù)哪里來(lái)的
ChatGPT使用了大量的自然語(yǔ)言文本數(shù)據(jù)來(lái)訓(xùn)練模型,這些文本數(shù)據(jù)包括各種來(lái)源,例如維基百科、新聞報(bào)道、社交媒體、電子書(shū)籍、論壇帖子等等。
ChatGPT模型的訓(xùn)練數(shù)據(jù)來(lái)源于大量的公共語(yǔ)料庫(kù),如維基百科、新聞報(bào)道、社交媒體等,并通過(guò)多層的Transformer模型進(jìn)行預(yù)訓(xùn)練。在預(yù)訓(xùn)練階段,模型通過(guò)學(xué)習(xí)上下文之間的關(guān)系,學(xué)會(huì)了語(yǔ)言的基本語(yǔ)法、語(yǔ)義和知識(shí),從而可以生成連貫、合理、自然的文本。
ChatGPT模型是一種無(wú)監(jiān)督學(xué)習(xí)的模型,不需要對(duì)輸入數(shù)據(jù)進(jìn)行人工標(biāo)注和指導(dǎo),也不需要針對(duì)特定任務(wù)進(jìn)行有監(jiān)督學(xué)習(xí)。這種無(wú)監(jiān)督學(xué)習(xí)的特點(diǎn),使得ChatGPT模型可以應(yīng)用于各種自然語(yǔ)言處理任務(wù),如對(duì)話系統(tǒng)、文本生成、語(yǔ)言翻譯等,并且具有很高的靈活性和擴(kuò)展性。
總之,ChatGPT的GPT全文是一種基于自注意力機(jī)制的預(yù)訓(xùn)練語(yǔ)言模型,它通過(guò)學(xué)習(xí)大量的公共語(yǔ)料庫(kù),可以生成具有語(yǔ)言邏輯性和語(yǔ)義的自然文本。
ChatGPT簡(jiǎn)介
ChatGPT是美國(guó)人工智能研究實(shí)驗(yàn)室OpenAI新推出的一種人工智能技術(shù)驅(qū)動(dòng)的自然語(yǔ)言處理工具,使用了Transformer神經(jīng)網(wǎng)絡(luò)架構(gòu),也是GPT-3.5架構(gòu),這是一種用于處理序列數(shù)據(jù)的模型,擁有語(yǔ)言理解和文本生成能力,尤其是它會(huì)通過(guò)連接大量的語(yǔ)料庫(kù)來(lái)訓(xùn)練模型。
這些語(yǔ)料庫(kù)包含了真實(shí)世界中的對(duì)話,使得ChatGPT具備上知天文下知地理,還能根據(jù)聊天的上下文進(jìn)行互動(dòng)的能力,做到與真正人類(lèi)幾乎無(wú)異的聊天場(chǎng)景進(jìn)行交流。ChatGPT不單是聊天機(jī)器人,還能進(jìn)行撰寫(xiě)郵件、視頻腳本、文案、翻譯、代碼等任務(wù)。
二、gpt2模型文本分類(lèi)
GPT-2 模型可以用于文本分類(lèi)任務(wù),但需要對(duì)模型進(jìn)行微調(diào),以適應(yīng)不同的分類(lèi)任務(wù)。以下是使用 GPT-2 模型進(jìn)行文本分類(lèi)的基本步驟:
準(zhǔn)備數(shù)據(jù)集:首先需要準(zhǔn)備一個(gè)文本分類(lèi)的數(shù)據(jù)集,其中包含帶有標(biāo)簽的文本數(shù)據(jù)??梢允褂霉_(kāi)的數(shù)據(jù)集,例如 IMDb 電影評(píng)論數(shù)據(jù)集、20 Newsgroups 新聞數(shù)據(jù)集等,也可以自己收集和標(biāo)注數(shù)據(jù)。
加載模型:使用 Python 編程語(yǔ)言和相應(yīng)的深度學(xué)習(xí)框架(例如 PyTorch、TensorFlow 等)加載 GPT-2 模型??梢允褂妙A(yù)訓(xùn)練的模型,也可以從頭開(kāi)始訓(xùn)練一個(gè)新的模型。
準(zhǔn)備數(shù)據(jù):將數(shù)據(jù)集中的文本轉(zhuǎn)換為模型可以處理的格式??梢允褂靡恍╊A(yù)處理技術(shù),例如分詞、詞向量化、序列填充等。
定義模型結(jié)構(gòu):在加載預(yù)訓(xùn)練模型的基礎(chǔ)上,需要添加一個(gè)分類(lèi)層,以輸出分類(lèi)結(jié)果??梢赃x擇不同的分類(lèi)層結(jié)構(gòu),例如全連接層、卷積神經(jīng)網(wǎng)絡(luò)等。
訓(xùn)練模型:使用準(zhǔn)備好的數(shù)據(jù)集和定義好的模型結(jié)構(gòu),對(duì)模型進(jìn)行微調(diào),以適應(yīng)特定的分類(lèi)任務(wù)??梢允褂靡恍﹥?yōu)化算法和訓(xùn)練技巧,例如隨機(jī)梯度下降、學(xué)習(xí)率調(diào)整、正則化等。
測(cè)試模型:在訓(xùn)練完成后,使用測(cè)試集對(duì)模型進(jìn)行評(píng)估,計(jì)算模型的準(zhǔn)確率、召回率、F1 值等指標(biāo),以確定模型的性能。
預(yù)測(cè)新數(shù)據(jù):使用訓(xùn)練好的模型對(duì)新的文本數(shù)據(jù)進(jìn)行分類(lèi),輸出相應(yīng)的標(biāo)簽。
需要注意的是,GPT-2 模型通常用于生成文本任務(wù),其主要優(yōu)勢(shì)在于生成高質(zhì)量、連貫的語(yǔ)言模型。在文本分類(lèi)任務(wù)中,如果數(shù)據(jù)集較小,可能無(wú)法發(fā)揮 GPT-2 模型的優(yōu)勢(shì),因此可以考慮使用更簡(jiǎn)單、更輕量級(jí)的模型,例如卷積神經(jīng)網(wǎng)絡(luò)、循環(huán)神經(jīng)網(wǎng)絡(luò)等。
三、只需要十分之一數(shù)據(jù),就能通關(guān)四大視覺(jué)任務(wù),居然還開(kāi)源了
Github鏈接:https://github.com/opengvlab
家人們,你們有沒(méi)有這種苦惱?
搬一次家就換一次家具,那些又貴又重的家具既不好搬運(yùn),又不好全部帶走。
下一次又重新購(gòu)置一遍家具,浪費(fèi)錢(qián)不說(shuō),關(guān)鍵是來(lái)來(lái)回回都做一樣的事情!家具還沒(méi)用過(guò)幾次,利用率不高呀!
這種搬家的苦惱,就好比AI領(lǐng)域,做幾個(gè)任務(wù)就需要開(kāi)發(fā)幾個(gè)高度定制的模型,不僅所需的數(shù)據(jù)采集量非常大,每次還都得從頭標(biāo)注。既提不起數(shù)據(jù)的學(xué)習(xí)效率,又耗費(fèi)巨大的數(shù)據(jù)獲取成本。
光是AI前端研究就耗費(fèi)如此巨大的精力,更別提應(yīng)用場(chǎng)景中數(shù)以萬(wàn)計(jì)的長(zhǎng)尾任務(wù)。
那怎么辦?
做一款通用的深度學(xué)習(xí)模型,才是關(guān)鍵。
1 通用,才是技術(shù)根本
目前,通用語(yǔ)言模型(GLM)已經(jīng)取得了令人矚目的進(jìn)展,比如BERT、T5和GPT-3,它們?cè)趹?yīng)對(duì)廣泛的語(yǔ)言下游任務(wù)時(shí)已經(jīng)游刃有余。
相形之下,通用視覺(jué)模型(GVM)的研究遲遲未交出一份令人滿意的答卷。
以往的大多數(shù) GVM 研究主要利用一種監(jiān)督信號(hào)來(lái)源,如 ViT-G/14 采用有標(biāo)簽監(jiān)督,SEER 采用樣本的不同增強(qiáng)之間的對(duì)比學(xué)習(xí),CLIP采用圖片文本對(duì)進(jìn)行監(jiān)督。如果是在單個(gè)監(jiān)督信號(hào)下進(jìn)行的預(yù)訓(xùn)練,這幾種范式確實(shí)能夠生成在固定場(chǎng)景下表現(xiàn)良好的模型。但如果用在場(chǎng)景多元、任務(wù)多樣的下游場(chǎng)景,這些模型就難以勝任了。
比如現(xiàn)在最火的自動(dòng)駕駛, 汽車(chē) 處于移動(dòng)狀態(tài),既要看到路況,又要看到紅綠燈,還要注意行人,甚至在智能座艙興起后,還要和語(yǔ)言技術(shù)、LBS場(chǎng)景服務(wù)協(xié)同,這么多的感知數(shù)據(jù)與協(xié)同任務(wù),這么多隨機(jī)的新任務(wù),無(wú)論在體量還是維度方面,都對(duì)視覺(jué)模型的要求極大提高。
這時(shí),打造一款通用視覺(jué)模型,降低研發(fā)門(mén)檻,尤其是學(xué)術(shù)界的時(shí)間成本、資金成本,才能暢享下游的極致場(chǎng)景體驗(yàn)。
去年11月,上海人工智能實(shí)驗(yàn)室聯(lián)合商湯 科技 、香港中文大學(xué)、上海交通大學(xué)發(fā)布通用視覺(jué)技術(shù)體系“書(shū)生”(INTERN),一套持續(xù)學(xué)習(xí)框架,用于系統(tǒng)化解決當(dāng)下人工智能視覺(jué)領(lǐng)域中存在的任務(wù)通用、場(chǎng)景泛化和數(shù)據(jù)效率等一系列瓶頸問(wèn)題。
前不久,上海人工智能實(shí)驗(yàn)室聯(lián)合商湯 科技 發(fā)布通用視覺(jué)開(kāi)源平臺(tái)OpenGVLab,面向?qū)W術(shù)界和產(chǎn)業(yè)界開(kāi)放其超高效預(yù)訓(xùn)練模型、超大規(guī)模公開(kāi)數(shù)據(jù)集,以及業(yè)內(nèi)首個(gè)針對(duì)通用視覺(jué)模型的評(píng)測(cè)基準(zhǔn)。
這些開(kāi)源技術(shù),究竟有何魔力?
2 大力出奇跡,打造通用視覺(jué)模型
“書(shū)生” (INTERN),就是練就通用視覺(jué)能力的底層技術(shù)。
從技術(shù)實(shí)現(xiàn)上講,“書(shū)生”技術(shù)體系由由七大模塊組成,包括三個(gè)基礎(chǔ)設(shè)施模塊和四個(gè)訓(xùn)練階段構(gòu)成。
書(shū)生(INTERN)結(jié)構(gòu)圖
首先,通用視覺(jué)數(shù)據(jù)系統(tǒng)。
這是一個(gè)超大規(guī)模的精標(biāo)數(shù)據(jù)集,擁有100億個(gè)樣本和各種監(jiān)督信號(hào),并依照四大視覺(jué)任務(wù)分別設(shè)置了四個(gè)數(shù)據(jù)子集:多模態(tài)數(shù)據(jù)GV-D- 10B分類(lèi)標(biāo)注的GV-Dc-36M、檢測(cè)標(biāo)注的GV-Dd-3M、分割標(biāo)注的GV-Ds-143K。
另外,這一數(shù)據(jù)集還包含11.9萬(wàn)的標(biāo)簽系統(tǒng),不僅涵蓋了自然界的眾多領(lǐng)域和目前計(jì)算機(jī)視覺(jué)研究中的幾乎所有標(biāo)簽,還擴(kuò)充了大量細(xì)粒度標(biāo)簽,涵蓋各類(lèi)圖像中的屬性、狀態(tài)等。
而這,就是書(shū)生“大力出奇跡”的一大注腳。
其次,通用視覺(jué)模型結(jié)構(gòu)。
它是由一個(gè)具有CNN和Transformer的統(tǒng)一搜索空間構(gòu)建而成。
為何要建立這樣的混合結(jié)構(gòu)?要知道,多年來(lái),卷積神經(jīng)網(wǎng)絡(luò)(CNN)一直主導(dǎo)著視覺(jué)表征學(xué)習(xí),并在圖像分類(lèi)、目標(biāo)檢測(cè)和語(yǔ)義分割等下游任務(wù)中表現(xiàn)出穩(wěn)定的可遷移性。但最近幾年,Vision Transformer (ViT)僅使用普通的Transformer結(jié)構(gòu)就能作為圖像編碼模型在ImageNet-1k上取得媲美 CNN 的性能,在大規(guī)模數(shù)據(jù)集上 ViT 更是展示出比 CNN 更大的潛力。
盡管ViT在性能上有優(yōu)點(diǎn),但純Transformer網(wǎng)絡(luò)相比卷積神經(jīng)網(wǎng)絡(luò)缺乏某些歸納偏置(inductive biases),因此需要更多的數(shù)據(jù)和計(jì)算資源。此外,自注意的計(jì)算成本相對(duì)于輸入的數(shù)量是平方的,限制了對(duì)高輸入分辨率的應(yīng)用。因此,將CNN和Transformer和MLP結(jié)合起來(lái),平衡效率和有效性兩個(gè)方面,才是模型通用的關(guān)鍵。
這種兼具更好的泛化能力和更高的模型容量的模型結(jié)構(gòu)名為MetaNet。在MetaNet網(wǎng)絡(luò)結(jié)構(gòu)族里面進(jìn)行網(wǎng)絡(luò)結(jié)構(gòu)搜索,從而得到最優(yōu)的一個(gè)模型訓(xùn)練結(jié)構(gòu)。
統(tǒng)一搜索的MetaNet架構(gòu):Conv和Trans分別表示卷積和Transformer。C和S為每一階輸出通道數(shù)和步幅。
具體來(lái)看,MetaNet不僅基于強(qiáng)化學(xué)習(xí) 的PPO算法提出了統(tǒng)一搜索架構(gòu),并且,為了避免傳統(tǒng)的下采樣模塊會(huì)成為模型性能的瓶頸,“書(shū)生“結(jié)合了包含 local-global-DSM (LG_DSM) 和 global-DSM (G-DSM)的context-aware down-sampling modules (DSM),用來(lái)代替原本的下采樣模塊。
因此,在淺層,模型依然使用卷積來(lái)提取特征,但在深層,模型卻能將Transformer模塊和LG-DSM結(jié)合使用,以便于更好地提取全局信息。
同時(shí),書(shū)生還基于最大的MetaNet-B15蒸餾出了多達(dá)13種不同的模型結(jié)構(gòu),共24種不同的模型權(quán)重,現(xiàn)已全部開(kāi)源。
這些模型結(jié)構(gòu)基本涵蓋了現(xiàn)有市面上大部分的主流backbone,不僅能夠很輕易地遷移到所需要的算法框架作為新網(wǎng)絡(luò)預(yù)訓(xùn)練的初始化,而且只需要更短的訓(xùn)練時(shí)間就可以達(dá)到比原來(lái)更好的訓(xùn)練效果。
MetaNet 模型與其他模型結(jié)構(gòu)比較,結(jié)果如下:
基于卷積、Transformer和兩者混合的結(jié)構(gòu),分別用C,T和H表示,可以看出,在圖像分類(lèi)性能上,MetaNet系列的MN-B1,MN-B4和MN-B7,和其他的SOTA模型相比,不僅有更高的精度,還有更低的FLOPS和參數(shù)量。
除了分類(lèi)任務(wù),把MetaNet做為檢測(cè)和分割的backbone,在COCO數(shù)據(jù)集上使用Mask R-CNN結(jié)構(gòu)訓(xùn)練,結(jié)果發(fā)現(xiàn):在模型參數(shù)量更小的前提下,MN-B4比Swin-T精度高出2到4個(gè)點(diǎn)。另外還在ADE20K數(shù)據(jù)集上進(jìn)行了語(yǔ)義分割任務(wù),MN-B4的mIoU指標(biāo)比Swin-T高出5個(gè)點(diǎn)之多。
上述兩個(gè)實(shí)驗(yàn)結(jié)果表明,MetaNet系列模型結(jié)構(gòu),在模型精度與計(jì)算量之間,都達(dá)到了新的SOTA!
最后,通用視覺(jué)評(píng)測(cè)基準(zhǔn)。
視覺(jué)評(píng)測(cè)基準(zhǔn)GV-B ,就像是一個(gè)「擂臺(tái)」。
如下表所示,測(cè)評(píng)基準(zhǔn)收集了 26 個(gè)下游任務(wù)數(shù)據(jù)集,囊括了 4 種視覺(jué)任務(wù)類(lèi)型:分類(lèi),檢測(cè),分割和深度估計(jì)。
在設(shè)置上,該基準(zhǔn)引入了百分比樣本(percentage-shot),只需要選取整個(gè)數(shù)據(jù)集的一部分,例如 10%、20% ,對(duì)比縮小下游任務(wù)的訓(xùn)練數(shù)據(jù)量后的模型性能。
與傳統(tǒng)的少樣本設(shè)置相比,這種百分比樣本設(shè)置可以很好地保留原始數(shù)據(jù)集的長(zhǎng)尾分布等屬性,并減輕對(duì)樣本選擇的敏感性。因?yàn)橛幸恍?shù)據(jù)集樣本類(lèi)別分布不平衡,比如下表中的VOC07+12,百分比數(shù)據(jù)的劃分方式卻會(huì)繼承這種分布情況。
右側(cè)三列avg,min和max,分別表示在10%的數(shù)據(jù)中,不同類(lèi)別樣本數(shù)量的平均值,最小值和最大值。
結(jié)合上述數(shù)據(jù)集和任務(wù)類(lèi)型,論文選取了一些具有代表性的模型來(lái)做評(píng)測(cè)對(duì)比。為了比較公平性,該對(duì)比使用了這些模型的官方預(yù)訓(xùn)練權(quán)重。這些模型包括:
有了超大精標(biāo)數(shù)據(jù)集、模型結(jié)構(gòu),以及評(píng)測(cè)基準(zhǔn)后,已經(jīng)是萬(wàn)事俱備,只欠訓(xùn)練。
書(shū)生作為中國(guó)古代讀書(shū)人的經(jīng)典形象,代表著一個(gè)通過(guò)不斷學(xué)習(xí)、不斷成長(zhǎng)進(jìn)而擁有各方面才能的人格化角色:從基礎(chǔ)的知識(shí)技能學(xué)習(xí)開(kāi)始,到對(duì)多種專(zhuān)業(yè)知識(shí)觸類(lèi)旁通,進(jìn)而成長(zhǎng)為擁有通用知識(shí)的通才。借此意象,“書(shū)生”(INTERN)系統(tǒng)可通過(guò)持續(xù)學(xué)習(xí),舉一反三,逐步實(shí)現(xiàn)通用視覺(jué)領(lǐng)域的融會(huì)貫通,最終實(shí)現(xiàn)靈活高效的模型部署。
下面就來(lái)看看,這套系統(tǒng)是如何通過(guò)訓(xùn)練,一步步從生手變成專(zhuān)家再到多面手,最終在各種任務(wù)中大顯身手。
第一階段,訓(xùn)練的是基礎(chǔ)能力,被稱為“基礎(chǔ)模型”(Amateur)。
然而CLIP需要400M的圖像-文本對(duì)進(jìn)行前訓(xùn)練,囿于極大的數(shù)據(jù)量,CLIP很難進(jìn)一步發(fā)展。但“書(shū)生”提出了一種新的訓(xùn)練范式,DeCLIP(Data efficient CLIP ),能夠同時(shí)使用來(lái)自圖像-文本、圖像-圖像和文本-文本對(duì)的監(jiān)督信號(hào)進(jìn)行模型預(yù)訓(xùn)練,從而更有效地實(shí)現(xiàn)通用性。
此外,為了充分利用大規(guī)模多模態(tài)數(shù)據(jù)獲取基礎(chǔ)模型的優(yōu)勢(shì),這一階段提出了Upstream-Amateur (Up-A)視覺(jué)語(yǔ)言預(yù)訓(xùn)練框架,同時(shí)挖掘模態(tài)內(nèi)和跨模態(tài)知識(shí)。
這一訓(xùn)練框架分為兩個(gè)預(yù)訓(xùn)練階段:Upstream-Amateur for Global Representation (Up-A-G)和Upstream-Amateur for Local Representation (Up-A-L)。
其中,Up-A-G(左)使用群體監(jiān)督功能,從更豐富的監(jiān)督中學(xué)習(xí)。Up-A-L(右)采用局部自我監(jiān)督學(xué)習(xí)方法,對(duì)訓(xùn)練好的視覺(jué)-語(yǔ)言模型進(jìn)行調(diào)整,從而提高自身在密集預(yù)測(cè)CV任務(wù)中的表現(xiàn)。
Upstream-Amateur的框架
得益于這些內(nèi)在的監(jiān)督,DeCLIP-ResNet50可以在ImageNet上實(shí)現(xiàn)60.4%的zero-shot 精度第一。這比CLIP-ResNet50高出0.8%,數(shù)據(jù)使用量少了81%。當(dāng)遷移到下游任務(wù)時(shí),DeCLIP-ResNet50在11個(gè)視覺(jué)數(shù)據(jù)集中有8個(gè)優(yōu)于CLIP。
更關(guān)鍵的是,訓(xùn)練完成的Upstream-Amateur為后續(xù)的訓(xùn)練階段提供了一個(gè)很高的起點(diǎn)。
第二階段,訓(xùn)練的是專(zhuān)業(yè)能力,被稱為“專(zhuān)家模型”(Expert)。
Up-A階段得到的基礎(chǔ)模型,在一般的視覺(jué)識(shí)別問(wèn)題上顯示出優(yōu)異的性能。但要完全掌握檢測(cè)、分割等更具體的任務(wù),還需要在每個(gè)任務(wù)中進(jìn)行更專(zhuān)業(yè)的預(yù)訓(xùn)練,這就促成了第二個(gè)階段的到來(lái),專(zhuān)家模型。
對(duì)于每個(gè)專(zhuān)家,“書(shū)生”采用了一種簡(jiǎn)單的多頭設(shè)計(jì),每個(gè)頭是一個(gè)特定數(shù)據(jù)集的子網(wǎng)絡(luò),從一個(gè)公共的、共享的“主干”分支出來(lái)。比如Up-E (C)、Up-E (D)和Up-E (S),分別用于圖像分類(lèi)、對(duì)象檢測(cè)和語(yǔ)義分割。
第三階段,訓(xùn)練的是組合能力,被稱為“通才模型”(Generalist)。
上述的多任務(wù)是指不同數(shù)據(jù)集(如ImageNet和CIFAR)的一個(gè)視覺(jué)問(wèn)題(如分類(lèi)),或一個(gè)數(shù)據(jù)集的多個(gè)視覺(jué)問(wèn)題(如分類(lèi)和檢測(cè))。但關(guān)鍵是,如何將專(zhuān)家整合到一個(gè)統(tǒng)一的模型中,獲得一個(gè)更加通用的視覺(jué)模型。因此,在預(yù)訓(xùn)練“專(zhuān)家”階段之后,又將“通才”作為第三個(gè)預(yù)訓(xùn)練階段,以進(jìn)一步統(tǒng)一特征表示。
“書(shū)生”提出了一個(gè)新的范式,名為“混合參數(shù)共享”,從而開(kāi)發(fā)一個(gè)名為“多面手”的通才模型。
具體來(lái)說(shuō),由于專(zhuān)家捕獲的知識(shí)是相互關(guān)聯(lián)的,當(dāng)專(zhuān)家的特征融合為一個(gè)共享的表示形式時(shí),再利用基于軟共享的跨任務(wù)知識(shí)轉(zhuǎn)移和基于硬共享的通用表示學(xué)習(xí)的方法,在不引入任務(wù)沖突的情況下在專(zhuān)家之間傳遞信息(特征轉(zhuǎn)移),從而進(jìn)一步提高了多任務(wù)訓(xùn)練的模型(專(zhuān)家)性能,即“通才”能力。
在結(jié)構(gòu)上,通才模型是所有專(zhuān)家的一個(gè)相互關(guān)聯(lián)的版本,因此可以把每個(gè)“專(zhuān)家主干”稱為“通才分支”。此外,我們還可以根據(jù)訓(xùn)練相應(yīng)專(zhuān)家的任務(wù)將通才中的每個(gè)分支分為圖像、補(bǔ)丁和像素。但無(wú)論是軟共享還是硬共享,都意味著從專(zhuān)家模型到通才模型的一次躍升。
在經(jīng)歷了前三個(gè)訓(xùn)練階段模塊后,終于來(lái)到最后的任務(wù)遷移階段 (Adaptation)。
這個(gè)階段屬于技術(shù)鏈條的下游,用來(lái)解決各式各樣不同類(lèi)型的任務(wù),而這也是最考驗(yàn)“書(shū)生”舉一反三能力的時(shí)刻。它需要在這個(gè)階段把之前學(xué)到的通用知識(shí),融會(huì)貫通地應(yīng)用到不同特定任務(wù)中。
在此之前,很多遷移學(xué)習(xí)方法確實(shí)取得了很多進(jìn)步,但問(wèn)題是,這些方法既沒(méi)有利用上游預(yù)訓(xùn)練中的隱含信息,也沒(méi)有考慮到下游數(shù)據(jù)在少鏡頭場(chǎng)景中的不足。
因此,“書(shū)生”提出了一種Multi-stage Fine-tuning (MF)方法,緩解在數(shù)據(jù)較少的情況下傳輸?shù)睦щy,再通過(guò)將上游數(shù)據(jù)編碼成生成模型,即VQ-GAN,可以將預(yù)訓(xùn)練的模型轉(zhuǎn)移到多個(gè)任務(wù)和領(lǐng)域,而無(wú)需每次都使用上游數(shù)據(jù),而這也使得“書(shū)生”更具通用性和可擴(kuò)展性。
多級(jí)微調(diào)(MF)概述:VQ-GAN模型首先在第一階段使用上游數(shù)據(jù)進(jìn)行訓(xùn)練,然后在第二階段由它重構(gòu)下游數(shù)據(jù)。在此之后,第三階段只對(duì)新增任務(wù)的特定參數(shù)進(jìn)行重新表示的圖像訓(xùn)練,第四階段則通過(guò)下游數(shù)據(jù)對(duì)整個(gè)模型進(jìn)行微調(diào)。
至此,一個(gè)具有持續(xù)學(xué)習(xí)能力的通用視覺(jué)模型終于出世。
而具體有哪些提升,不如看一下更直觀的實(shí)驗(yàn)數(shù)據(jù)對(duì)比!
3 一網(wǎng)打盡視覺(jué)領(lǐng)域四大任務(wù)
視覺(jué)領(lǐng)域,任務(wù)繁多,主流任務(wù)包含分類(lèi)、目標(biāo)檢測(cè)、語(yǔ)義分割、深度估計(jì)四大類(lèi)型。
在這四大任務(wù)中,最強(qiáng)大的視覺(jué)模型還是去年OpenAI發(fā)布的CLIP模型。但相比較而言,“書(shū)生”則在準(zhǔn)確率和數(shù)據(jù)使用效率上都有所提升。
1、精度表現(xiàn)
通過(guò)對(duì)“書(shū)生”訓(xùn)練出的模型在GV-B上的評(píng)測(cè)對(duì)比,發(fā)現(xiàn)經(jīng)過(guò)多階段預(yù)訓(xùn)練的MetaNet精度表現(xiàn)優(yōu)異。
在ImageNet等26個(gè)最具代表性的下游場(chǎng)景中, “書(shū)生”在分類(lèi)、目標(biāo)檢測(cè)、語(yǔ)義分割及深度估計(jì)等四大任務(wù)上,平均錯(cuò)誤率分別降低了40.2%、47.3%、34.8%和9.4%。
書(shū)生(INTERN)與CLIP-R50x16在不同樣本量上的性能對(duì)比,正確率展示
2、數(shù)據(jù)使用效率
“書(shū)生”在數(shù)據(jù)效率方面的提升尤為矚目:只需要1/10的下游數(shù)據(jù),就能超過(guò)CLIP基于完整下游數(shù)據(jù)訓(xùn)練的準(zhǔn)確度。
以CLIP-R50x16和Up-G MN-B15在GV-B的評(píng)測(cè)對(duì)比為例,分別在分類(lèi)、目標(biāo)檢測(cè)、語(yǔ)義分割、深度估計(jì)四大類(lèi)型的26個(gè)下游任務(wù)數(shù)據(jù)集上進(jìn)行了評(píng)測(cè),僅使用了10%數(shù)據(jù)進(jìn)行訓(xùn)練的Up-G MN-B15模型,在絕大部分?jǐn)?shù)據(jù)集上都能比使用了全部訓(xùn)練數(shù)據(jù)的CLIP-R50有更好的精度表現(xiàn)。這表明,經(jīng)過(guò)多階段預(yù)訓(xùn)練的MetaNet具有極強(qiáng)的泛化能力,能夠在僅有少量的訓(xùn)練樣本情況下,達(dá)到SOTA的精度表現(xiàn)。
在下游視覺(jué)場(chǎng)景中,小樣本訓(xùn)練帶來(lái)的是極高的訓(xùn)練速度,以及極低的訓(xùn)練成本。
例如在花卉種類(lèi)識(shí)別任務(wù)上,“書(shū)生“只需要每一類(lèi)型的花卉提供兩個(gè)訓(xùn)練樣本,就能實(shí)現(xiàn)99.7%的準(zhǔn)確率。
這個(gè)花卉數(shù)據(jù)集由102種英國(guó)常見(jiàn)的花組成,每個(gè)類(lèi)別有40至258張圖片。其中包含有很大的比例、姿勢(shì)和光線變化。
102個(gè)類(lèi)別的花卉數(shù)據(jù)集:
https://www.robots.ox.ac.uk/~vgg/data/flowers/102/index.html
4 通用視覺(jué)平臺(tái),已正式開(kāi)源
如此強(qiáng)大的通用視覺(jué)訓(xùn)練模型已經(jīng)正式開(kāi)源!
更關(guān)鍵的是,連同上述講到的標(biāo)簽數(shù)據(jù)集、網(wǎng)絡(luò)結(jié)構(gòu)以及評(píng)測(cè)基準(zhǔn),均在OpenGVLab被統(tǒng)一打包開(kāi)源。
其中的網(wǎng)絡(luò)結(jié)構(gòu)除了MetaNet,還包含大家普遍使用的ResNet, MobileNet, ViT, EfficientNet等,以滿足不同場(chǎng)景的應(yīng)用,賦能計(jì)算機(jī)視覺(jué)。
然而,「書(shū)生」的布局不止于此。
OpenGVLab將與上海人工智能實(shí)驗(yàn)室此前發(fā)布的OpenMMLab、OpenDILab一道,共同構(gòu)筑開(kāi)源體系OpenXLab,持續(xù)推進(jìn)通用人工智能的技術(shù)突破和生態(tài)構(gòu)建。
一位已經(jīng)使用過(guò)此次開(kāi)源平臺(tái)的自動(dòng)駕駛算法研究員表示:“書(shū)生系列模型充分覆蓋了從移動(dòng)可部署的小模型,到超大規(guī)模自研結(jié)構(gòu),為行業(yè)帶來(lái)了希望,尤其是它的收斂速度,大幅節(jié)省了訓(xùn)練開(kāi)銷(xiāo),是技術(shù)落地的一大助推器?!?
不僅是自動(dòng)駕駛領(lǐng)域,智慧城市、智慧醫(yī)療、智慧交通,以及千千萬(wàn)萬(wàn)其他的智能化領(lǐng)域,都將獲得通用視覺(jué)模型帶來(lái)的技術(shù)紅利。
一位騰訊研究員大贊OpenGVLab:“能把這么大的工作開(kāi)源出來(lái)真的是業(yè)界良心。簡(jiǎn)單用了一下,確實(shí)比CLIP要更fine-grained(細(xì)粒度更高)。”
而來(lái)自學(xué)界的師生也對(duì)此感慨有加:“OpenGVLab集成了大量各種量級(jí)的state-of-the-art(先進(jìn))模型,使用起來(lái)更得心應(yīng)手,省去了對(duì)不同codebase、不同模型繁瑣調(diào)研的煩惱?!?
換句話說(shuō),當(dāng)那些代碼和公式脫去了枯燥乏味的外衣,人們才發(fā)現(xiàn)了真正的創(chuàng)造力。而這,也是技術(shù)創(chuàng)新與平臺(tái)開(kāi)源的魅力所在。
往近了說(shuō),用這款通用視覺(jué)模型打比賽,怕不是獎(jiǎng)金多到飛起!在技術(shù)生產(chǎn)力的道路上,又誕生了一個(gè)致富小妙招!
目前,“書(shū)生”技術(shù)報(bào)告《INTERN: A New Learning Paradigm Towards General Vision》已在arXiv平臺(tái)發(fā)布。
論文地址:arxiv.org/abs/2111.08687
四、BERT詳解(附帶ELMo、GPT 介紹)
首先我會(huì)詳細(xì)闡述 BERT 原理,然后簡(jiǎn)單介紹一下 ELMO 以及 GPT
BERT 全稱為 B idirectional E ncoder R epresentation from T ransformer,是 Google 以 無(wú)監(jiān)督的方式利用大量無(wú)標(biāo)注文本 「煉成」的語(yǔ)言模型,其架構(gòu)為 Transformer 中的 Encoder(BERT=Encoder of Transformer)
我在 Transformer 詳解 中已經(jīng)詳細(xì)的解釋了所有 Transformer 的相關(guān)概念,這里就不再贅述
以往為了解決不同的 NLP 任務(wù),我們會(huì)為該任務(wù)設(shè)計(jì)一個(gè)最合適的神經(jīng)網(wǎng)絡(luò)架構(gòu)并做訓(xùn)練,以下是一些簡(jiǎn)單的例子
不同的 NLP 任務(wù)通常需要不同的模型,而設(shè)計(jì)這些模型并測(cè)試其 performance 是非常耗成本的(人力,時(shí)間,計(jì)算資源)。如果有一個(gè)能 直接處理各式 NLP 任務(wù)的通用架構(gòu) 該有多好?
隨著時(shí)代演進(jìn),不少人很自然地有了這樣子的想法,而 BERT 就是其中一個(gè)將此概念付諸實(shí)踐的例子
Google 在預(yù)訓(xùn)練 BERT 時(shí)讓它同時(shí)進(jìn)行兩個(gè)任務(wù):
1. 漏字填空
2. 下個(gè)句子預(yù)測(cè)
對(duì)正常人來(lái)說(shuō),要完成這兩個(gè)任務(wù)非常簡(jiǎn)單。只要稍微看一下前后文就知道完形填空任務(wù)中 [MASK] 里應(yīng)該填 退了 ;而 醒醒吧 后面接 你沒(méi)有妹妹 也十分合理(?)
接下來(lái)我會(huì)分別詳細(xì)介紹論文中這兩個(gè)任務(wù)的設(shè)計(jì)細(xì)節(jié)
在 BERT 中,Masked LM(Masked Language Model)構(gòu)建了語(yǔ)言模型,簡(jiǎn)單來(lái)說(shuō),就是 隨機(jī)遮蓋或替換 一句話里面的任意字或詞,然后讓模型通過(guò)上下文預(yù)測(cè)那一個(gè)被遮蓋或替換的部分,之后 做 Loss 的時(shí)候也只計(jì)算被遮蓋部分的 Loss ,這其實(shí)是一個(gè)很容易理解的任務(wù),實(shí)際操作如下:
這樣做的好處是,BERT 并不知道 [MASK] 替換的是哪一個(gè)詞,而且 任何一個(gè)詞都有可能是被替換掉的,比如它看到的 apple 可能是被替換的詞 。這樣強(qiáng)迫模型在編碼當(dāng)前時(shí)刻詞的時(shí)候 不能太依賴當(dāng)前的詞 ,而要考慮它的上下文,甚至根據(jù)上下文進(jìn)行 "糾錯(cuò)"。比如上面的例子中,模型在編碼 apple 時(shí),根據(jù)上下文 my dog is,應(yīng)該 把 apple 編碼成 hairy 的語(yǔ)義而不是 apple 的語(yǔ)義
我們首先拿到屬于上下文的一對(duì)句子,也就是兩個(gè)句子,之后我們要在這兩個(gè)句子中加一些特殊的 token: [CLS]上一句話[SEP]下一句話[SEP] 。也就是在句子開(kāi)頭加一個(gè) [CLS] ,在兩句話之間和句末加 [SEP] ,具體地如下圖所示
可以看到,上圖中的兩句話明顯是連續(xù)的。如果現(xiàn)在有這么一句話 [CLS] 我的狗很可愛(ài) [SEP] 企鵝不擅長(zhǎng)飛行 [SEP] ,可見(jiàn)這兩句話就 不是連續(xù)的 。在實(shí)際訓(xùn)練中,我們會(huì)讓這兩種情況出現(xiàn)的數(shù)量為** 1:1**
Token Embedding 就是正常的詞向量,即 PyTorch 中的 nn.Embedding()
Segment Embedding 的作用是用 embedding 的信息讓模型 分開(kāi)上下句 ,我們給上句的 token 全 0,下句的 token 全 1,讓模型得以判斷上下句的起止位置,例如
Position Embedding 和 Transformer 中的不一樣,不是三角函數(shù),而是 學(xué)習(xí)出來(lái)的
BERT 預(yù)訓(xùn)練階段實(shí)際上是將上述兩個(gè)任務(wù)結(jié)合起來(lái),同時(shí)進(jìn)行,然后將所有的 Loss 相加,例如
BERT 的 Fine-Tuning 共分為 4 種類(lèi)型,以下內(nèi)容、圖片均來(lái)自臺(tái)大李宏毅老師 Machine Learning 課程 (以下內(nèi)容 圖在上,解釋在下)
為什么要用CLS?
這里李宏毅老師有一點(diǎn)沒(méi)講到,就是為什么要用第一個(gè)位置,即 [CLS] 位置的 output。這里我看了網(wǎng)上的一些博客,結(jié)合自己的理解解釋一下。因?yàn)?BERT 內(nèi)部是 Transformer,而 Transformer 內(nèi)部又是 Self-Attention, 所以 [CLS] 的 output 里面肯定含有整句話的完整信息 ,這是毋庸置疑的。但是 Self-Attention 向量中,自己和自己的值其實(shí)是占大頭的,現(xiàn)在假設(shè)使用 的 output 做分類(lèi),那么這個(gè) output 中實(shí)際上會(huì)更加看重 ,而 又是一個(gè)有實(shí)際意義的字或詞,這樣難免會(huì)影響到最終的結(jié)果。但是 [CLS] 是沒(méi)有任何實(shí)際意義的,只是一個(gè)占位符而已,所以就算 [CLS] 的 output 中自己的值占大頭也無(wú)所謂。當(dāng)然你 也可以將所有詞的 output 進(jìn)行 concat,作為最終的 output
首先將問(wèn)題和文章通過(guò) [SEP] 分隔,送入 BERT 之后,得到上圖中黃色的輸出。此時(shí)我們還要訓(xùn)練兩個(gè) vector,即上圖中橙色和黃色的向量。首先將橙色和所有的黃色向量進(jìn)行 dot product,然后通過(guò) softmax,看哪一個(gè)輸出的值最大,例如上圖中 對(duì)應(yīng)的輸出概率最大,那我們就認(rèn)為 s=2
同樣地,我們用藍(lán)色的向量和所有黃色向量進(jìn)行 dot product,最終預(yù)測(cè)得 的概率最大,因此 e=3。最終,答案就是 s=2,e=3
你可能會(huì)覺(jué)得這里面有個(gè)問(wèn)題,假設(shè)最終的輸出 s>e 怎么辦,那不就矛盾了嗎?其實(shí)在某些訓(xùn)練集里,有的問(wèn)題就是沒(méi)有答案的,因此此時(shí)的預(yù)測(cè)搞不好是對(duì)的,就是沒(méi)有答案
以上就是 BERT 的詳細(xì)介紹,參考以下文章
ELMo是Embedding from language Model的縮寫(xiě),它通過(guò)無(wú)監(jiān)督的方式對(duì)語(yǔ)言模型進(jìn)行預(yù)訓(xùn)練來(lái)學(xué)習(xí)單詞表示
這篇論文的想法其實(shí)非常簡(jiǎn)單,但是效果卻很好。它的思路是用 深度的雙向 Language Model 在大量未標(biāo)注數(shù)據(jù)上訓(xùn)練語(yǔ)言模型 ,如下圖所示
在實(shí)際任務(wù)中,對(duì)于輸入的句子,我們使用上面的語(yǔ)言模型來(lái)處理它,得到輸出向量,因此這可以看作是一種 特征提取 。但是 ELMo 與普通的 Word2Vec 或 GloVe 不同,ELMo 得到的 Embedding 是 有上下文信息 的
具體來(lái)說(shuō),給定一個(gè)長(zhǎng)度為 N 的句子,假設(shè)為 ,語(yǔ)言模型會(huì)計(jì)算給定 的條件下出現(xiàn) 的概率:
傳統(tǒng)的 N-gram 模型 不能考慮很長(zhǎng)的歷史 ,因此現(xiàn)在的主流是使用 多層雙向 LSTM 。在時(shí)刻 ,LSTM 的第 層會(huì)輸出一個(gè)隱狀態(tài) ,其中 , 是 LSTM 的層數(shù)。最上層是 ,對(duì)它進(jìn)行 softmax 之后得到輸出詞的概率
類(lèi)似的,我們可以用 一個(gè)反向 來(lái)計(jì)算概率:
通過(guò)這個(gè) LSTM,我們可以得到 。我們的損失函數(shù)是這兩個(gè) LSTM 的 加和 :
這兩個(gè) LSTM 有各自的參數(shù) 和 ,而 Word Embedding 參數(shù) 和 Softmax 參數(shù) 是共享的
為了用于下游(DownStream)的特定任務(wù),我們會(huì)把不同層的隱狀態(tài)組合起來(lái),具體組合的參數(shù)是根據(jù)不同的特定任務(wù)學(xué)習(xí)出來(lái)的,公式如下:
GPT 得到的語(yǔ)言模型參數(shù)不是固定的,它會(huì)根據(jù)特定的任務(wù)進(jìn)行調(diào)整(通常是微調(diào)),這樣的到的句子表示能更好的適配特定任務(wù)。它的思想也很簡(jiǎn)單,使用 單向 Transformer 學(xué)習(xí)一個(gè)語(yǔ)言模型 ,對(duì)句子進(jìn)行無(wú)監(jiān)督的 Embedding,然后 根據(jù)具體任務(wù)對(duì) Transformer 的參數(shù)進(jìn)行微調(diào) 。GPT 與 ELMo 有兩個(gè)主要的區(qū)別:
這里解釋一下上面提到的 單向 Transformer 。在 Transformer 的文章中,提到了 Encoder 與 Decoder 使用的 Transformer Block 是不同的。在 Decoder Block 中,使用了 Masked Self-Attention ,即句子中的每個(gè)詞都只能對(duì) 包括自己在內(nèi)的前面所有詞進(jìn)行 Attention ,這就是單向 Transformer。GPT 使用的 Transformer 結(jié)構(gòu)就是將 Encoder 中的 Self-Attention 替換成了 Masked Self-Attention ,具體結(jié)構(gòu)如下圖所示
訓(xùn)練的過(guò)程也非常簡(jiǎn)單,就是將 n 個(gè)詞的詞嵌入 ( ) 加上位置嵌入 ( ),然后輸入到 Transformer 中,n 個(gè)輸出分別預(yù)測(cè)該位置的下一個(gè)詞
這里的位置編碼沒(méi)有使用傳統(tǒng) Transformer 固定編碼的方式,而是動(dòng)態(tài)學(xué)習(xí)的
Pretraining 之后,我們還需要針對(duì)特定任務(wù)進(jìn)行 Fine-Tuning。假設(shè)監(jiān)督數(shù)據(jù)集合 的輸入 是一個(gè)詞序列 ,輸出是一個(gè)分類(lèi)的標(biāo)簽 ,比如情感分類(lèi)任務(wù)
我們把 輸入 Transformer 模型,得到最上層最后一個(gè)時(shí)刻的輸出 ,將其通過(guò)我們新增的一個(gè) Softmax 層(參數(shù)為 )進(jìn)行分類(lèi),最后用 CrossEntropyLoss 計(jì)算損失,從而根據(jù)標(biāo)準(zhǔn)數(shù)據(jù)調(diào)整 Transformer 的參數(shù)以及 Softmax 的參數(shù) 。這等價(jià)于最大似然估計(jì):
正常來(lái)說(shuō),我們應(yīng)該調(diào)整參數(shù)使得 最大,但是 為了提高訓(xùn)練速度和模型的泛化能力 ,我們使用 Multi-Task Learning,同時(shí)讓它最大似然 和
這里使用的 還是之前語(yǔ)言模型的損失(似然),但是使用的數(shù)據(jù)不是前面無(wú)監(jiān)督的數(shù)據(jù) ,而是使用當(dāng)前任務(wù)的數(shù)據(jù) ,而且只使用其中的 ,而不需要標(biāo)簽
針對(duì)不同任務(wù),需要簡(jiǎn)單修改下輸入數(shù)據(jù)的格式,例如對(duì)于相似度計(jì)算或問(wèn)答,輸入是兩個(gè)序列,為了能夠使用 GPT,我們需要一些特殊的技巧把兩個(gè)輸入序列變成一個(gè)輸入序列
ELMo 和 GPT 最大的問(wèn)題就是 傳統(tǒng)的語(yǔ)言模型是單向的 —— 我們根據(jù)之前的歷史來(lái)預(yù)測(cè)當(dāng)前詞。但是我們不能利用后面的信息。比如句子 The animal didn’t cross the street because it was too tired 。我們?cè)诰幋a it 的語(yǔ)義的時(shí)候需要同時(shí)利用前后的信息,因?yàn)樵谶@個(gè)句子中, it 可能指代 animal 也可能指代 street 。根據(jù) tired ,我們推斷它指代的是 animal 。但是如果把 tired 改成 wide ,那么 it 就是指代 street 了。傳統(tǒng)的語(yǔ)言模型,都 只能利用單方向的信息 。比如前向的 RNN,在編碼 it 的時(shí)候它看到了 animal 和 street ,但是它還沒(méi)有看到 tired ,因此它不能確定 it 到底指代什么。如果是后向的 RNN,在編碼的時(shí)候它看到了 tired ,但是它還根本沒(méi)看到 animal ,因此它也不能知道指代的是 animal 。 Transformer 的 Self-Attention 理論上是可以同時(shí)關(guān)注到這兩個(gè)詞的,但是根據(jù)前面的介紹,為了使用 Transformer 學(xué)習(xí)語(yǔ)言模型,必須 用 Mask 來(lái)讓它看不到未來(lái)的信息 ,所以它也不能解決這個(gè)問(wèn)題的
根據(jù)上文內(nèi)容預(yù)測(cè)下一個(gè)可能跟隨的單詞,就是常說(shuō)的自左向右的語(yǔ)言模型任務(wù),或者反過(guò)來(lái)也行,就是根據(jù)下文預(yù)測(cè)前面的單詞,這種類(lèi)型的LM被稱為自回歸語(yǔ)言模型。(GPT,ELMO)GPT 就是典型的自回歸語(yǔ)言模型。ELMO盡管看上去利用了上文,也利用了下文,但是本質(zhì)上仍然是自回歸LM,這個(gè)跟模型具體怎么實(shí)現(xiàn)有關(guān)系。ELMO是做了兩個(gè)方向(從左到右以及從右到左兩個(gè)方向的語(yǔ)言模型),但是是分別有兩個(gè)方向的自回歸LM,然后把LSTM的兩個(gè)方向的隱節(jié)點(diǎn)狀態(tài)拼接到一起,來(lái)體現(xiàn)雙向語(yǔ)言模型這個(gè)事情的。所以其實(shí)是兩個(gè)自回歸語(yǔ)言模型的拼接,本質(zhì)上仍然是自回歸語(yǔ)言模型。
自回歸語(yǔ)言模型有優(yōu)點(diǎn)有缺點(diǎn),缺點(diǎn)是只能利用上文或者下文的信息,不能同時(shí)利用上文和下文的信息,當(dāng)然,貌似ELMO這種雙向都做,然后拼接看上去能夠解決這個(gè)問(wèn)題,因?yàn)槿诤夏J竭^(guò)于簡(jiǎn)單,所以效果其實(shí)并不是太好。它的優(yōu)點(diǎn),其實(shí)跟下游NLP任務(wù)有關(guān),比如生成類(lèi)NLP任務(wù),比如文本摘要,機(jī)器翻譯等,在實(shí)際生成內(nèi)容的時(shí)候,就是從左向右的, 自回歸語(yǔ)言模型天然匹配這個(gè)過(guò)程 。而B(niǎo)ert這種DAE模式,在生成類(lèi)NLP任務(wù)中,就面臨訓(xùn)練過(guò)程和應(yīng)用過(guò)程不一致的問(wèn)題,導(dǎo)致 生成類(lèi)的NLP任務(wù)到目前為止都做不太好 。
自回歸語(yǔ)言模型只能根據(jù)上文預(yù)測(cè)下一個(gè)單詞,或者反過(guò)來(lái),只能根據(jù)下文預(yù)測(cè)前面一個(gè)單詞。相比而言,Bert通過(guò) 在輸入X中隨機(jī)Mask掉一部分單詞 ,然后預(yù)訓(xùn)練過(guò)程的主要任務(wù)之一是根據(jù)上下文單詞來(lái)預(yù)測(cè)這些被Mask掉的單詞,如果你對(duì)Denoising Autoencoder比較熟悉的話,會(huì)看出,這確實(shí)是典型的DAE的思路。那些被Mask掉的單詞就是在輸入側(cè)加入的所謂噪音。類(lèi)似Bert這種預(yù)訓(xùn)練模式,被稱為DAE LM。
這種DAE LM的優(yōu)缺點(diǎn)正好和自回歸LM反過(guò)來(lái),它能比較自然地融入雙向語(yǔ)言模型,同時(shí)看到被預(yù)測(cè)單詞的上文和下文,這是好處。缺點(diǎn)是啥呢? 主要在輸入側(cè)引入[Mask]標(biāo)記,導(dǎo)致預(yù)訓(xùn)練階段和Fine-tuning階段不一致的問(wèn)題 ,因?yàn)镕ine-tuning階段是看不到[Mask]標(biāo)記的。DAE嗎,就要引入噪音,[Mask] 標(biāo)記就是引入噪音的手段,這個(gè)正常。
XLNet的出發(fā)點(diǎn)就是:能否 融合自回歸LM和DAE LM兩者的優(yōu)點(diǎn) 。就是說(shuō)如果站在自回歸LM的角度,如何引入和雙向語(yǔ)言模型等價(jià)的效果;如果站在DAE LM的角度看,它本身是融入雙向語(yǔ)言模型的,如何拋掉表面的那個(gè)[Mask]標(biāo)記,讓預(yù)訓(xùn)練和Fine-tuning保持一致。當(dāng)然,XLNet還講到了一個(gè)Bert被Mask單詞之間相互獨(dú)立的問(wèn)題。
以上就是關(guān)于gpt模型開(kāi)源嗎知乎相關(guān)問(wèn)題的回答。希望能幫到你,如有更多相關(guān)問(wèn)題,您也可以聯(lián)系我們的客服進(jìn)行咨詢,客服也會(huì)為您講解更多精彩的知識(shí)和內(nèi)容。
推薦閱讀:
三開(kāi)間中式別墅效果圖(三開(kāi)間中式別墅效果圖片大全)
江西景觀設(shè)計(jì)公司(江西景觀設(shè)計(jì)公司有哪些)