HOME 首頁
SERVICE 服務(wù)產(chǎn)品
XINMEITI 新媒體代運(yùn)營
CASE 服務(wù)案例
NEWS 熱點(diǎn)資訊
ABOUT 關(guān)于我們
CONTACT 聯(lián)系我們
創(chuàng)意嶺
讓品牌有溫度、有情感
專注品牌策劃15年

    gpt模型開源嗎知乎

    發(fā)布時(shí)間:2023-03-12 14:49:55     稿源: 創(chuàng)意嶺    閱讀: 58        問大家

    大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于gpt模型開源嗎知乎的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。

    ChatGPT國內(nèi)免費(fèi)在線使用,能給你生成想要的原創(chuàng)文章、方案、文案、工作計(jì)劃、工作報(bào)告、論文、代碼、作文、做題和對話答疑等等

    你只需要給出你的關(guān)鍵詞,它就能返回你想要的內(nèi)容,越精準(zhǔn),寫出的就越詳細(xì),有微信小程序端、在線網(wǎng)頁版、PC客戶端,官網(wǎng):https://ai.de1919.com

    本文目錄:

    gpt模型開源嗎知乎

    一、chatgpt數(shù)據(jù)哪里來的

    ChatGPT使用了大量的自然語言文本數(shù)據(jù)來訓(xùn)練模型,這些文本數(shù)據(jù)包括各種來源,例如維基百科、新聞報(bào)道、社交媒體、電子書籍、論壇帖子等等。

    ChatGPT模型的訓(xùn)練數(shù)據(jù)來源于大量的公共語料庫,如維基百科、新聞報(bào)道、社交媒體等,并通過多層的Transformer模型進(jìn)行預(yù)訓(xùn)練。在預(yù)訓(xùn)練階段,模型通過學(xué)習(xí)上下文之間的關(guān)系,學(xué)會了語言的基本語法、語義和知識,從而可以生成連貫、合理、自然的文本。

    ChatGPT模型是一種無監(jiān)督學(xué)習(xí)的模型,不需要對輸入數(shù)據(jù)進(jìn)行人工標(biāo)注和指導(dǎo),也不需要針對特定任務(wù)進(jìn)行有監(jiān)督學(xué)習(xí)。這種無監(jiān)督學(xué)習(xí)的特點(diǎn),使得ChatGPT模型可以應(yīng)用于各種自然語言處理任務(wù),如對話系統(tǒng)、文本生成、語言翻譯等,并且具有很高的靈活性和擴(kuò)展性。

    總之,ChatGPT的GPT全文是一種基于自注意力機(jī)制的預(yù)訓(xùn)練語言模型,它通過學(xué)習(xí)大量的公共語料庫,可以生成具有語言邏輯性和語義的自然文本。

    ChatGPT簡介

    ChatGPT是美國人工智能研究實(shí)驗(yàn)室OpenAI新推出的一種人工智能技術(shù)驅(qū)動的自然語言處理工具,使用了Transformer神經(jīng)網(wǎng)絡(luò)架構(gòu),也是GPT-3.5架構(gòu),這是一種用于處理序列數(shù)據(jù)的模型,擁有語言理解和文本生成能力,尤其是它會通過連接大量的語料庫來訓(xùn)練模型。

    這些語料庫包含了真實(shí)世界中的對話,使得ChatGPT具備上知天文下知地理,還能根據(jù)聊天的上下文進(jìn)行互動的能力,做到與真正人類幾乎無異的聊天場景進(jìn)行交流。ChatGPT不單是聊天機(jī)器人,還能進(jìn)行撰寫郵件、視頻腳本、文案、翻譯、代碼等任務(wù)。

    二、gpt2模型文本分類

    GPT-2 模型可以用于文本分類任務(wù),但需要對模型進(jìn)行微調(diào),以適應(yīng)不同的分類任務(wù)。以下是使用 GPT-2 模型進(jìn)行文本分類的基本步驟:

    準(zhǔn)備數(shù)據(jù)集:首先需要準(zhǔn)備一個(gè)文本分類的數(shù)據(jù)集,其中包含帶有標(biāo)簽的文本數(shù)據(jù)??梢允褂霉_的數(shù)據(jù)集,例如 IMDb 電影評論數(shù)據(jù)集、20 Newsgroups 新聞數(shù)據(jù)集等,也可以自己收集和標(biāo)注數(shù)據(jù)。

    加載模型:使用 Python 編程語言和相應(yīng)的深度學(xué)習(xí)框架(例如 PyTorch、TensorFlow 等)加載 GPT-2 模型??梢允褂妙A(yù)訓(xùn)練的模型,也可以從頭開始訓(xùn)練一個(gè)新的模型。

    準(zhǔn)備數(shù)據(jù):將數(shù)據(jù)集中的文本轉(zhuǎn)換為模型可以處理的格式??梢允褂靡恍╊A(yù)處理技術(shù),例如分詞、詞向量化、序列填充等。

    定義模型結(jié)構(gòu):在加載預(yù)訓(xùn)練模型的基礎(chǔ)上,需要添加一個(gè)分類層,以輸出分類結(jié)果??梢赃x擇不同的分類層結(jié)構(gòu),例如全連接層、卷積神經(jīng)網(wǎng)絡(luò)等。

    訓(xùn)練模型:使用準(zhǔn)備好的數(shù)據(jù)集和定義好的模型結(jié)構(gòu),對模型進(jìn)行微調(diào),以適應(yīng)特定的分類任務(wù)??梢允褂靡恍﹥?yōu)化算法和訓(xùn)練技巧,例如隨機(jī)梯度下降、學(xué)習(xí)率調(diào)整、正則化等。

    測試模型:在訓(xùn)練完成后,使用測試集對模型進(jìn)行評估,計(jì)算模型的準(zhǔn)確率、召回率、F1 值等指標(biāo),以確定模型的性能。

    預(yù)測新數(shù)據(jù):使用訓(xùn)練好的模型對新的文本數(shù)據(jù)進(jìn)行分類,輸出相應(yīng)的標(biāo)簽。

    需要注意的是,GPT-2 模型通常用于生成文本任務(wù),其主要優(yōu)勢在于生成高質(zhì)量、連貫的語言模型。在文本分類任務(wù)中,如果數(shù)據(jù)集較小,可能無法發(fā)揮 GPT-2 模型的優(yōu)勢,因此可以考慮使用更簡單、更輕量級的模型,例如卷積神經(jīng)網(wǎng)絡(luò)、循環(huán)神經(jīng)網(wǎng)絡(luò)等。

    三、只需要十分之一數(shù)據(jù),就能通關(guān)四大視覺任務(wù),居然還開源了

    Github鏈接:https://github.com/opengvlab

    家人們,你們有沒有這種苦惱?

    搬一次家就換一次家具,那些又貴又重的家具既不好搬運(yùn),又不好全部帶走。

    下一次又重新購置一遍家具,浪費(fèi)錢不說,關(guān)鍵是來來回回都做一樣的事情!家具還沒用過幾次,利用率不高呀!

    這種搬家的苦惱,就好比AI領(lǐng)域,做幾個(gè)任務(wù)就需要開發(fā)幾個(gè)高度定制的模型,不僅所需的數(shù)據(jù)采集量非常大,每次還都得從頭標(biāo)注。既提不起數(shù)據(jù)的學(xué)習(xí)效率,又耗費(fèi)巨大的數(shù)據(jù)獲取成本。

    光是AI前端研究就耗費(fèi)如此巨大的精力,更別提應(yīng)用場景中數(shù)以萬計(jì)的長尾任務(wù)。

    那怎么辦?

    做一款通用的深度學(xué)習(xí)模型,才是關(guān)鍵。

    1 通用,才是技術(shù)根本

    目前,通用語言模型(GLM)已經(jīng)取得了令人矚目的進(jìn)展,比如BERT、T5和GPT-3,它們在應(yīng)對廣泛的語言下游任務(wù)時(shí)已經(jīng)游刃有余。

    相形之下,通用視覺模型(GVM)的研究遲遲未交出一份令人滿意的答卷。

    以往的大多數(shù) GVM 研究主要利用一種監(jiān)督信號來源,如 ViT-G/14 采用有標(biāo)簽監(jiān)督,SEER 采用樣本的不同增強(qiáng)之間的對比學(xué)習(xí),CLIP采用圖片文本對進(jìn)行監(jiān)督。如果是在單個(gè)監(jiān)督信號下進(jìn)行的預(yù)訓(xùn)練,這幾種范式確實(shí)能夠生成在固定場景下表現(xiàn)良好的模型。但如果用在場景多元、任務(wù)多樣的下游場景,這些模型就難以勝任了。

    比如現(xiàn)在最火的自動駕駛, 汽車 處于移動狀態(tài),既要看到路況,又要看到紅綠燈,還要注意行人,甚至在智能座艙興起后,還要和語言技術(shù)、LBS場景服務(wù)協(xié)同,這么多的感知數(shù)據(jù)與協(xié)同任務(wù),這么多隨機(jī)的新任務(wù),無論在體量還是維度方面,都對視覺模型的要求極大提高。

    這時(shí),打造一款通用視覺模型,降低研發(fā)門檻,尤其是學(xué)術(shù)界的時(shí)間成本、資金成本,才能暢享下游的極致場景體驗(yàn)。

    去年11月,上海人工智能實(shí)驗(yàn)室聯(lián)合商湯 科技 、香港中文大學(xué)、上海交通大學(xué)發(fā)布通用視覺技術(shù)體系“書生”(INTERN),一套持續(xù)學(xué)習(xí)框架,用于系統(tǒng)化解決當(dāng)下人工智能視覺領(lǐng)域中存在的任務(wù)通用、場景泛化和數(shù)據(jù)效率等一系列瓶頸問題。

    前不久,上海人工智能實(shí)驗(yàn)室聯(lián)合商湯 科技 發(fā)布通用視覺開源平臺OpenGVLab,面向?qū)W術(shù)界和產(chǎn)業(yè)界開放其超高效預(yù)訓(xùn)練模型、超大規(guī)模公開數(shù)據(jù)集,以及業(yè)內(nèi)首個(gè)針對通用視覺模型的評測基準(zhǔn)。

    這些開源技術(shù),究竟有何魔力?

    2 大力出奇跡,打造通用視覺模型

    “書生” (INTERN),就是練就通用視覺能力的底層技術(shù)。

    從技術(shù)實(shí)現(xiàn)上講,“書生”技術(shù)體系由由七大模塊組成,包括三個(gè)基礎(chǔ)設(shè)施模塊和四個(gè)訓(xùn)練階段構(gòu)成。

    書生(INTERN)結(jié)構(gòu)圖

    首先,通用視覺數(shù)據(jù)系統(tǒng)。

    這是一個(gè)超大規(guī)模的精標(biāo)數(shù)據(jù)集,擁有100億個(gè)樣本和各種監(jiān)督信號,并依照四大視覺任務(wù)分別設(shè)置了四個(gè)數(shù)據(jù)子集:多模態(tài)數(shù)據(jù)GV-D- 10B分類標(biāo)注的GV-Dc-36M、檢測標(biāo)注的GV-Dd-3M、分割標(biāo)注的GV-Ds-143K。

    另外,這一數(shù)據(jù)集還包含11.9萬的標(biāo)簽系統(tǒng),不僅涵蓋了自然界的眾多領(lǐng)域和目前計(jì)算機(jī)視覺研究中的幾乎所有標(biāo)簽,還擴(kuò)充了大量細(xì)粒度標(biāo)簽,涵蓋各類圖像中的屬性、狀態(tài)等。

    而這,就是書生“大力出奇跡”的一大注腳。

    其次,通用視覺模型結(jié)構(gòu)。

    它是由一個(gè)具有CNN和Transformer的統(tǒng)一搜索空間構(gòu)建而成。

    為何要建立這樣的混合結(jié)構(gòu)?要知道,多年來,卷積神經(jīng)網(wǎng)絡(luò)(CNN)一直主導(dǎo)著視覺表征學(xué)習(xí),并在圖像分類、目標(biāo)檢測和語義分割等下游任務(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ì)算成本相對于輸入的數(shù)量是平方的,限制了對高輸入分辨率的應(yīng)用。因此,將CNN和Transformer和MLP結(jié)合起來,平衡效率和有效性兩個(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ù)和步幅。

    具體來看,MetaNet不僅基于強(qiáng)化學(xué)習(xí) 的PPO算法提出了統(tǒng)一搜索架構(gòu),并且,為了避免傳統(tǒng)的下采樣模塊會成為模型性能的瓶頸,“書生“結(jié)合了包含 local-global-DSM (LG_DSM) 和 global-DSM (G-DSM)的context-aware down-sampling modules (DSM),用來代替原本的下采樣模塊。

    因此,在淺層,模型依然使用卷積來提取特征,但在深層,模型卻能將Transformer模塊和LG-DSM結(jié)合使用,以便于更好地提取全局信息。

    同時(shí),書生還基于最大的MetaNet-B15蒸餾出了多達(dá)13種不同的模型結(jié)構(gòu),共24種不同的模型權(quán)重,現(xiàn)已全部開源。

    這些模型結(jié)構(gòu)基本涵蓋了現(xiàn)有市面上大部分的主流backbone,不僅能夠很輕易地遷移到所需要的算法框架作為新網(wǎng)絡(luò)預(yù)訓(xùn)練的初始化,而且只需要更短的訓(xùn)練時(shí)間就可以達(dá)到比原來更好的訓(xùn)練效果。

    MetaNet 模型與其他模型結(jié)構(gòu)比較,結(jié)果如下:

    基于卷積、Transformer和兩者混合的結(jié)構(gòu),分別用C,T和H表示,可以看出,在圖像分類性能上,MetaNet系列的MN-B1,MN-B4和MN-B7,和其他的SOTA模型相比,不僅有更高的精度,還有更低的FLOPS和參數(shù)量。

    除了分類任務(wù),把MetaNet做為檢測和分割的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)行了語義分割任務(wù),MN-B4的mIoU指標(biāo)比Swin-T高出5個(gè)點(diǎn)之多。

    上述兩個(gè)實(shí)驗(yàn)結(jié)果表明,MetaNet系列模型結(jié)構(gòu),在模型精度與計(jì)算量之間,都達(dá)到了新的SOTA!

    最后,通用視覺評測基準(zhǔn)。

    視覺評測基準(zhǔn)GV-B ,就像是一個(gè)「擂臺」。

    如下表所示,測評基準(zhǔn)收集了 26 個(gè)下游任務(wù)數(shù)據(jù)集,囊括了 4 種視覺任務(wù)類型:分類,檢測,分割和深度估計(jì)。

    在設(shè)置上,該基準(zhǔn)引入了百分比樣本(percentage-shot),只需要選取整個(gè)數(shù)據(jù)集的一部分,例如 10%、20% ,對比縮小下游任務(wù)的訓(xùn)練數(shù)據(jù)量后的模型性能。

    與傳統(tǒng)的少樣本設(shè)置相比,這種百分比樣本設(shè)置可以很好地保留原始數(shù)據(jù)集的長尾分布等屬性,并減輕對樣本選擇的敏感性。因?yàn)橛幸恍?shù)據(jù)集樣本類別分布不平衡,比如下表中的VOC07+12,百分比數(shù)據(jù)的劃分方式卻會繼承這種分布情況。

    右側(cè)三列avg,min和max,分別表示在10%的數(shù)據(jù)中,不同類別樣本數(shù)量的平均值,最小值和最大值。

    結(jié)合上述數(shù)據(jù)集和任務(wù)類型,論文選取了一些具有代表性的模型來做評測對比。為了比較公平性,該對比使用了這些模型的官方預(yù)訓(xùn)練權(quán)重。這些模型包括:

    有了超大精標(biāo)數(shù)據(jù)集、模型結(jié)構(gòu),以及評測基準(zhǔn)后,已經(jīng)是萬事俱備,只欠訓(xùn)練。

    書生作為中國古代讀書人的經(jīng)典形象,代表著一個(gè)通過不斷學(xué)習(xí)、不斷成長進(jìn)而擁有各方面才能的人格化角色:從基礎(chǔ)的知識技能學(xué)習(xí)開始,到對多種專業(yè)知識觸類旁通,進(jìn)而成長為擁有通用知識的通才。借此意象,“書生”(INTERN)系統(tǒng)可通過持續(xù)學(xué)習(xí),舉一反三,逐步實(shí)現(xiàn)通用視覺領(lǐng)域的融會貫通,最終實(shí)現(xiàn)靈活高效的模型部署。

    下面就來看看,這套系統(tǒng)是如何通過訓(xùn)練,一步步從生手變成專家再到多面手,最終在各種任務(wù)中大顯身手。

    第一階段,訓(xùn)練的是基礎(chǔ)能力,被稱為“基礎(chǔ)模型”(Amateur)。

    然而CLIP需要400M的圖像-文本對進(jìn)行前訓(xùn)練,囿于極大的數(shù)據(jù)量,CLIP很難進(jìn)一步發(fā)展。但“書生”提出了一種新的訓(xùn)練范式,DeCLIP(Data efficient CLIP ),能夠同時(shí)使用來自圖像-文本、圖像-圖像和文本-文本對的監(jiān)督信號進(jìn)行模型預(yù)訓(xùn)練,從而更有效地實(shí)現(xiàn)通用性。

    此外,為了充分利用大規(guī)模多模態(tài)數(shù)據(jù)獲取基礎(chǔ)模型的優(yōu)勢,這一階段提出了Upstream-Amateur (Up-A)視覺語言預(yù)訓(xùn)練框架,同時(shí)挖掘模態(tài)內(nèi)和跨模態(tài)知識。

    這一訓(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í)方法,對訓(xùn)練好的視覺-語言模型進(jìn)行調(diào)整,從而提高自身在密集預(yù)測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è)視覺數(shù)據(jù)集中有8個(gè)優(yōu)于CLIP。

    更關(guān)鍵的是,訓(xùn)練完成的Upstream-Amateur為后續(xù)的訓(xùn)練階段提供了一個(gè)很高的起點(diǎn)。

    第二階段,訓(xùn)練的是專業(yè)能力,被稱為“專家模型”(Expert)。

    Up-A階段得到的基礎(chǔ)模型,在一般的視覺識別問題上顯示出優(yōu)異的性能。但要完全掌握檢測、分割等更具體的任務(wù),還需要在每個(gè)任務(wù)中進(jìn)行更專業(yè)的預(yù)訓(xùn)練,這就促成了第二個(gè)階段的到來,專家模型。

    對于每個(gè)專家,“書生”采用了一種簡單的多頭設(shè)計(jì),每個(gè)頭是一個(gè)特定數(shù)據(jù)集的子網(wǎng)絡(luò),從一個(gè)公共的、共享的“主干”分支出來。比如Up-E (C)、Up-E (D)和Up-E (S),分別用于圖像分類、對象檢測和語義分割。

    第三階段,訓(xùn)練的是組合能力,被稱為“通才模型”(Generalist)。

    上述的多任務(wù)是指不同數(shù)據(jù)集(如ImageNet和CIFAR)的一個(gè)視覺問題(如分類),或一個(gè)數(shù)據(jù)集的多個(gè)視覺問題(如分類和檢測)。但關(guān)鍵是,如何將專家整合到一個(gè)統(tǒng)一的模型中,獲得一個(gè)更加通用的視覺模型。因此,在預(yù)訓(xùn)練“專家”階段之后,又將“通才”作為第三個(gè)預(yù)訓(xùn)練階段,以進(jìn)一步統(tǒng)一特征表示。

    “書生”提出了一個(gè)新的范式,名為“混合參數(shù)共享”,從而開發(fā)一個(gè)名為“多面手”的通才模型。

    具體來說,由于專家捕獲的知識是相互關(guān)聯(lián)的,當(dāng)專家的特征融合為一個(gè)共享的表示形式時(shí),再利用基于軟共享的跨任務(wù)知識轉(zhuǎn)移和基于硬共享的通用表示學(xué)習(xí)的方法,在不引入任務(wù)沖突的情況下在專家之間傳遞信息(特征轉(zhuǎn)移),從而進(jìn)一步提高了多任務(wù)訓(xùn)練的模型(專家)性能,即“通才”能力。

    在結(jié)構(gòu)上,通才模型是所有專家的一個(gè)相互關(guān)聯(lián)的版本,因此可以把每個(gè)“專家主干”稱為“通才分支”。此外,我們還可以根據(jù)訓(xùn)練相應(yīng)專家的任務(wù)將通才中的每個(gè)分支分為圖像、補(bǔ)丁和像素。但無論是軟共享還是硬共享,都意味著從專家模型到通才模型的一次躍升。

    在經(jīng)歷了前三個(gè)訓(xùn)練階段模塊后,終于來到最后的任務(wù)遷移階段 (Adaptation)。

    這個(gè)階段屬于技術(shù)鏈條的下游,用來解決各式各樣不同類型的任務(wù),而這也是最考驗(yàn)“書生”舉一反三能力的時(shí)刻。它需要在這個(gè)階段把之前學(xué)到的通用知識,融會貫通地應(yīng)用到不同特定任務(wù)中。

    在此之前,很多遷移學(xué)習(xí)方法確實(shí)取得了很多進(jìn)步,但問題是,這些方法既沒有利用上游預(yù)訓(xùn)練中的隱含信息,也沒有考慮到下游數(shù)據(jù)在少鏡頭場景中的不足。

    因此,“書生”提出了一種Multi-stage Fine-tuning (MF)方法,緩解在數(shù)據(jù)較少的情況下傳輸?shù)睦щy,再通過將上游數(shù)據(jù)編碼成生成模型,即VQ-GAN,可以將預(yù)訓(xùn)練的模型轉(zhuǎn)移到多個(gè)任務(wù)和領(lǐng)域,而無需每次都使用上游數(shù)據(jù),而這也使得“書生”更具通用性和可擴(kuò)展性。

    多級微調(diào)(MF)概述:VQ-GAN模型首先在第一階段使用上游數(shù)據(jù)進(jìn)行訓(xùn)練,然后在第二階段由它重構(gòu)下游數(shù)據(jù)。在此之后,第三階段只對新增任務(wù)的特定參數(shù)進(jìn)行重新表示的圖像訓(xùn)練,第四階段則通過下游數(shù)據(jù)對整個(gè)模型進(jìn)行微調(diào)。

    至此,一個(gè)具有持續(xù)學(xué)習(xí)能力的通用視覺模型終于出世。

    而具體有哪些提升,不如看一下更直觀的實(shí)驗(yàn)數(shù)據(jù)對比!

    3 一網(wǎng)打盡視覺領(lǐng)域四大任務(wù)

    視覺領(lǐng)域,任務(wù)繁多,主流任務(wù)包含分類、目標(biāo)檢測、語義分割、深度估計(jì)四大類型。

    在這四大任務(wù)中,最強(qiáng)大的視覺模型還是去年OpenAI發(fā)布的CLIP模型。但相比較而言,“書生”則在準(zhǔn)確率和數(shù)據(jù)使用效率上都有所提升。

    1、精度表現(xiàn)

    通過對“書生”訓(xùn)練出的模型在GV-B上的評測對比,發(fā)現(xiàn)經(jīng)過多階段預(yù)訓(xùn)練的MetaNet精度表現(xiàn)優(yōu)異。

    在ImageNet等26個(gè)最具代表性的下游場景中, “書生”在分類、目標(biāo)檢測、語義分割及深度估計(jì)等四大任務(wù)上,平均錯(cuò)誤率分別降低了40.2%、47.3%、34.8%和9.4%。

    書生(INTERN)與CLIP-R50x16在不同樣本量上的性能對比,正確率展示

    2、數(shù)據(jù)使用效率

    “書生”在數(shù)據(jù)效率方面的提升尤為矚目:只需要1/10的下游數(shù)據(jù),就能超過CLIP基于完整下游數(shù)據(jù)訓(xùn)練的準(zhǔn)確度。

    以CLIP-R50x16和Up-G MN-B15在GV-B的評測對比為例,分別在分類、目標(biāo)檢測、語義分割、深度估計(jì)四大類型的26個(gè)下游任務(wù)數(shù)據(jù)集上進(jìn)行了評測,僅使用了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)過多階段預(yù)訓(xùn)練的MetaNet具有極強(qiáng)的泛化能力,能夠在僅有少量的訓(xùn)練樣本情況下,達(dá)到SOTA的精度表現(xiàn)。

    在下游視覺場景中,小樣本訓(xùn)練帶來的是極高的訓(xùn)練速度,以及極低的訓(xùn)練成本。

    例如在花卉種類識別任務(wù)上,“書生“只需要每一類型的花卉提供兩個(gè)訓(xùn)練樣本,就能實(shí)現(xiàn)99.7%的準(zhǔn)確率。

    這個(gè)花卉數(shù)據(jù)集由102種英國常見的花組成,每個(gè)類別有40至258張圖片。其中包含有很大的比例、姿勢和光線變化。

    102個(gè)類別的花卉數(shù)據(jù)集:

    https://www.robots.ox.ac.uk/~vgg/data/flowers/102/index.html

    4 通用視覺平臺,已正式開源

    如此強(qiáng)大的通用視覺訓(xùn)練模型已經(jīng)正式開源!

    更關(guān)鍵的是,連同上述講到的標(biāo)簽數(shù)據(jù)集、網(wǎng)絡(luò)結(jié)構(gòu)以及評測基準(zhǔn),均在OpenGVLab被統(tǒng)一打包開源。

    其中的網(wǎng)絡(luò)結(jié)構(gòu)除了MetaNet,還包含大家普遍使用的ResNet, MobileNet, ViT, EfficientNet等,以滿足不同場景的應(yīng)用,賦能計(jì)算機(jī)視覺。

    然而,「書生」的布局不止于此。

    OpenGVLab將與上海人工智能實(shí)驗(yàn)室此前發(fā)布的OpenMMLab、OpenDILab一道,共同構(gòu)筑開源體系OpenXLab,持續(xù)推進(jìn)通用人工智能的技術(shù)突破和生態(tài)構(gòu)建。

    一位已經(jīng)使用過此次開源平臺的自動駕駛算法研究員表示:“書生系列模型充分覆蓋了從移動可部署的小模型,到超大規(guī)模自研結(jié)構(gòu),為行業(yè)帶來了希望,尤其是它的收斂速度,大幅節(jié)省了訓(xùn)練開銷,是技術(shù)落地的一大助推器?!?

    不僅是自動駕駛領(lǐng)域,智慧城市、智慧醫(yī)療、智慧交通,以及千千萬萬其他的智能化領(lǐng)域,都將獲得通用視覺模型帶來的技術(shù)紅利。

    一位騰訊研究員大贊OpenGVLab:“能把這么大的工作開源出來真的是業(yè)界良心。簡單用了一下,確實(shí)比CLIP要更fine-grained(細(xì)粒度更高)。”

    而來自學(xué)界的師生也對此感慨有加:“OpenGVLab集成了大量各種量級的state-of-the-art(先進(jìn))模型,使用起來更得心應(yīng)手,省去了對不同codebase、不同模型繁瑣調(diào)研的煩惱。”

    換句話說,當(dāng)那些代碼和公式脫去了枯燥乏味的外衣,人們才發(fā)現(xiàn)了真正的創(chuàng)造力。而這,也是技術(shù)創(chuàng)新與平臺開源的魅力所在。

    往近了說,用這款通用視覺模型打比賽,怕不是獎金多到飛起!在技術(shù)生產(chǎn)力的道路上,又誕生了一個(gè)致富小妙招!

    目前,“書生”技術(shù)報(bào)告《INTERN: A New Learning Paradigm Towards General Vision》已在arXiv平臺發(fā)布。

    論文地址:arxiv.org/abs/2111.08687

    四、BERT詳解(附帶ELMo、GPT 介紹)

    首先我會詳細(xì)闡述 BERT 原理,然后簡單介紹一下 ELMO 以及 GPT

    BERT 全稱為 B idirectional E ncoder R epresentation from T ransformer,是 Google 以 無監(jiān)督的方式利用大量無標(biāo)注文本 「煉成」的語言模型,其架構(gòu)為 Transformer 中的 Encoder(BERT=Encoder of Transformer)

    我在 Transformer 詳解 中已經(jīng)詳細(xì)的解釋了所有 Transformer 的相關(guān)概念,這里就不再贅述

    以往為了解決不同的 NLP 任務(wù),我們會為該任務(wù)設(shè)計(jì)一個(gè)最合適的神經(jīng)網(wǎng)絡(luò)架構(gòu)并做訓(xùn)練,以下是一些簡單的例子

    不同的 NLP 任務(wù)通常需要不同的模型,而設(shè)計(jì)這些模型并測試其 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ù)測

    對正常人來說,要完成這兩個(gè)任務(wù)非常簡單。只要稍微看一下前后文就知道完形填空任務(wù)中 [MASK] 里應(yīng)該填 退了 ;而 醒醒吧 后面接 你沒有妹妹 也十分合理(?)

    接下來我會分別詳細(xì)介紹論文中這兩個(gè)任務(wù)的設(shè)計(jì)細(xì)節(jié)

    在 BERT 中,Masked LM(Masked Language Model)構(gòu)建了語言模型,簡單來說,就是 隨機(jī)遮蓋或替換 一句話里面的任意字或詞,然后讓模型通過上下文預(yù)測那一個(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 的語義而不是 apple 的語義

    我們首先拿到屬于上下文的一對句子,也就是兩個(gè)句子,之后我們要在這兩個(gè)句子中加一些特殊的 token: [CLS]上一句話[SEP]下一句話[SEP] 。也就是在句子開頭加一個(gè) [CLS] ,在兩句話之間和句末加 [SEP] ,具體地如下圖所示

    可以看到,上圖中的兩句話明顯是連續(xù)的。如果現(xiàn)在有這么一句話 [CLS] 我的狗很可愛 [SEP] 企鵝不擅長飛行 [SEP] ,可見這兩句話就 不是連續(xù)的 。在實(shí)際訓(xùn)練中,我們會讓這兩種情況出現(xiàn)的數(shù)量為** 1:1**

    Token Embedding 就是正常的詞向量,即 PyTorch 中的 nn.Embedding()

    Segment Embedding 的作用是用 embedding 的信息讓模型 分開上下句 ,我們給上句的 token 全 0,下句的 token 全 1,讓模型得以判斷上下句的起止位置,例如

    Position Embedding 和 Transformer 中的不一樣,不是三角函數(shù),而是 學(xué)習(xí)出來的

    BERT 預(yù)訓(xùn)練階段實(shí)際上是將上述兩個(gè)任務(wù)結(jié)合起來,同時(shí)進(jìn)行,然后將所有的 Loss 相加,例如

    BERT 的 Fine-Tuning 共分為 4 種類型,以下內(nèi)容、圖片均來自臺大李宏毅老師 Machine Learning 課程 (以下內(nèi)容 圖在上,解釋在下)

    為什么要用CLS?

    這里李宏毅老師有一點(diǎn)沒講到,就是為什么要用第一個(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 做分類,那么這個(gè) output 中實(shí)際上會更加看重 ,而 又是一個(gè)有實(shí)際意義的字或詞,這樣難免會影響到最終的結(jié)果。但是 [CLS] 是沒有任何實(shí)際意義的,只是一個(gè)占位符而已,所以就算 [CLS] 的 output 中自己的值占大頭也無所謂。當(dāng)然你 也可以將所有詞的 output 進(jìn)行 concat,作為最終的 output

    首先將問題和文章通過 [SEP] 分隔,送入 BERT 之后,得到上圖中黃色的輸出。此時(shí)我們還要訓(xùn)練兩個(gè) vector,即上圖中橙色和黃色的向量。首先將橙色和所有的黃色向量進(jìn)行 dot product,然后通過 softmax,看哪一個(gè)輸出的值最大,例如上圖中 對應(yīng)的輸出概率最大,那我們就認(rèn)為 s=2

    同樣地,我們用藍(lán)色的向量和所有黃色向量進(jìn)行 dot product,最終預(yù)測得 的概率最大,因此 e=3。最終,答案就是 s=2,e=3

    你可能會覺得這里面有個(gè)問題,假設(shè)最終的輸出 s>e 怎么辦,那不就矛盾了嗎?其實(shí)在某些訓(xùn)練集里,有的問題就是沒有答案的,因此此時(shí)的預(yù)測搞不好是對的,就是沒有答案

    以上就是 BERT 的詳細(xì)介紹,參考以下文章

    ELMo是Embedding from language Model的縮寫,它通過無監(jiān)督的方式對語言模型進(jìn)行預(yù)訓(xùn)練來學(xué)習(xí)單詞表示

    這篇論文的想法其實(shí)非常簡單,但是效果卻很好。它的思路是用 深度的雙向 Language Model 在大量未標(biāo)注數(shù)據(jù)上訓(xùn)練語言模型 ,如下圖所示

    在實(shí)際任務(wù)中,對于輸入的句子,我們使用上面的語言模型來處理它,得到輸出向量,因此這可以看作是一種 特征提取 。但是 ELMo 與普通的 Word2Vec 或 GloVe 不同,ELMo 得到的 Embedding 是 有上下文信息

    具體來說,給定一個(gè)長度為 N 的句子,假設(shè)為 ,語言模型會計(jì)算給定 的條件下出現(xiàn) 的概率:

    傳統(tǒng)的 N-gram 模型 不能考慮很長的歷史 ,因此現(xiàn)在的主流是使用 多層雙向 LSTM 。在時(shí)刻 ,LSTM 的第 層會輸出一個(gè)隱狀態(tài) ,其中 , 是 LSTM 的層數(shù)。最上層是 ,對它進(jìn)行 softmax 之后得到輸出詞的概率

    類似的,我們可以用 一個(gè)反向 來計(jì)算概率:

    通過這個(gè) LSTM,我們可以得到 。我們的損失函數(shù)是這兩個(gè) LSTM 的 加和 :

    這兩個(gè) LSTM 有各自的參數(shù) 和 ,而 Word Embedding 參數(shù) 和 Softmax 參數(shù) 是共享的

    為了用于下游(DownStream)的特定任務(wù),我們會把不同層的隱狀態(tài)組合起來,具體組合的參數(shù)是根據(jù)不同的特定任務(wù)學(xué)習(xí)出來的,公式如下:

    GPT 得到的語言模型參數(shù)不是固定的,它會根據(jù)特定的任務(wù)進(jìn)行調(diào)整(通常是微調(diào)),這樣的到的句子表示能更好的適配特定任務(wù)。它的思想也很簡單,使用 單向 Transformer 學(xué)習(xí)一個(gè)語言模型 ,對句子進(jìn)行無監(jiān)督的 Embedding,然后 根據(jù)具體任務(wù)對 Transformer 的參數(shù)進(jìn)行微調(diào) 。GPT 與 ELMo 有兩個(gè)主要的區(qū)別:

    這里解釋一下上面提到的 單向 Transformer 。在 Transformer 的文章中,提到了 Encoder 與 Decoder 使用的 Transformer Block 是不同的。在 Decoder Block 中,使用了 Masked Self-Attention ,即句子中的每個(gè)詞都只能對 包括自己在內(nèi)的前面所有詞進(jìn)行 Attention ,這就是單向 Transformer。GPT 使用的 Transformer 結(jié)構(gòu)就是將 Encoder 中的 Self-Attention 替換成了 Masked Self-Attention ,具體結(jié)構(gòu)如下圖所示

    訓(xùn)練的過程也非常簡單,就是將 n 個(gè)詞的詞嵌入 ( ) 加上位置嵌入 ( ),然后輸入到 Transformer 中,n 個(gè)輸出分別預(yù)測該位置的下一個(gè)詞

    這里的位置編碼沒有使用傳統(tǒng) Transformer 固定編碼的方式,而是動態(tài)學(xué)習(xí)的

    Pretraining 之后,我們還需要針對特定任務(wù)進(jìn)行 Fine-Tuning。假設(shè)監(jiān)督數(shù)據(jù)集合 的輸入 是一個(gè)詞序列 ,輸出是一個(gè)分類的標(biāo)簽 ,比如情感分類任務(wù)

    我們把 輸入 Transformer 模型,得到最上層最后一個(gè)時(shí)刻的輸出 ,將其通過我們新增的一個(gè) Softmax 層(參數(shù)為 )進(jìn)行分類,最后用 CrossEntropyLoss 計(jì)算損失,從而根據(jù)標(biāo)準(zhǔn)數(shù)據(jù)調(diào)整 Transformer 的參數(shù)以及 Softmax 的參數(shù) 。這等價(jià)于最大似然估計(jì):

    正常來說,我們應(yīng)該調(diào)整參數(shù)使得 最大,但是 為了提高訓(xùn)練速度和模型的泛化能力 ,我們使用 Multi-Task Learning,同時(shí)讓它最大似然 和

    這里使用的 還是之前語言模型的損失(似然),但是使用的數(shù)據(jù)不是前面無監(jiān)督的數(shù)據(jù) ,而是使用當(dāng)前任務(wù)的數(shù)據(jù) ,而且只使用其中的 ,而不需要標(biāo)簽

    針對不同任務(wù),需要簡單修改下輸入數(shù)據(jù)的格式,例如對于相似度計(jì)算或問答,輸入是兩個(gè)序列,為了能夠使用 GPT,我們需要一些特殊的技巧把兩個(gè)輸入序列變成一個(gè)輸入序列

    ELMo 和 GPT 最大的問題就是 傳統(tǒng)的語言模型是單向的 —— 我們根據(jù)之前的歷史來預(yù)測當(dāng)前詞。但是我們不能利用后面的信息。比如句子 The animal didn’t cross the street because it was too tired 。我們在編碼 it 的語義的時(shí)候需要同時(shí)利用前后的信息,因?yàn)樵谶@個(gè)句子中, it 可能指代 animal 也可能指代 street 。根據(jù) tired ,我們推斷它指代的是 animal 。但是如果把 tired 改成 wide ,那么 it 就是指代 street 了。傳統(tǒng)的語言模型,都 只能利用單方向的信息 。比如前向的 RNN,在編碼 it 的時(shí)候它看到了 animal 和 street ,但是它還沒有看到 tired ,因此它不能確定 it 到底指代什么。如果是后向的 RNN,在編碼的時(shí)候它看到了 tired ,但是它還根本沒看到 animal ,因此它也不能知道指代的是 animal 。 Transformer 的 Self-Attention 理論上是可以同時(shí)關(guān)注到這兩個(gè)詞的,但是根據(jù)前面的介紹,為了使用 Transformer 學(xué)習(xí)語言模型,必須 用 Mask 來讓它看不到未來的信息 ,所以它也不能解決這個(gè)問題的

    根據(jù)上文內(nèi)容預(yù)測下一個(gè)可能跟隨的單詞,就是常說的自左向右的語言模型任務(wù),或者反過來也行,就是根據(jù)下文預(yù)測前面的單詞,這種類型的LM被稱為自回歸語言模型。(GPT,ELMO)GPT 就是典型的自回歸語言模型。ELMO盡管看上去利用了上文,也利用了下文,但是本質(zhì)上仍然是自回歸LM,這個(gè)跟模型具體怎么實(shí)現(xiàn)有關(guān)系。ELMO是做了兩個(gè)方向(從左到右以及從右到左兩個(gè)方向的語言模型),但是是分別有兩個(gè)方向的自回歸LM,然后把LSTM的兩個(gè)方向的隱節(jié)點(diǎn)狀態(tài)拼接到一起,來體現(xiàn)雙向語言模型這個(gè)事情的。所以其實(shí)是兩個(gè)自回歸語言模型的拼接,本質(zhì)上仍然是自回歸語言模型。

    自回歸語言模型有優(yōu)點(diǎn)有缺點(diǎn),缺點(diǎn)是只能利用上文或者下文的信息,不能同時(shí)利用上文和下文的信息,當(dāng)然,貌似ELMO這種雙向都做,然后拼接看上去能夠解決這個(gè)問題,因?yàn)槿诤夏J竭^于簡單,所以效果其實(shí)并不是太好。它的優(yōu)點(diǎn),其實(shí)跟下游NLP任務(wù)有關(guān),比如生成類NLP任務(wù),比如文本摘要,機(jī)器翻譯等,在實(shí)際生成內(nèi)容的時(shí)候,就是從左向右的, 自回歸語言模型天然匹配這個(gè)過程 。而Bert這種DAE模式,在生成類NLP任務(wù)中,就面臨訓(xùn)練過程和應(yīng)用過程不一致的問題,導(dǎo)致 生成類的NLP任務(wù)到目前為止都做不太好 。

    自回歸語言模型只能根據(jù)上文預(yù)測下一個(gè)單詞,或者反過來,只能根據(jù)下文預(yù)測前面一個(gè)單詞。相比而言,Bert通過 在輸入X中隨機(jī)Mask掉一部分單詞 ,然后預(yù)訓(xùn)練過程的主要任務(wù)之一是根據(jù)上下文單詞來預(yù)測這些被Mask掉的單詞,如果你對Denoising Autoencoder比較熟悉的話,會看出,這確實(shí)是典型的DAE的思路。那些被Mask掉的單詞就是在輸入側(cè)加入的所謂噪音。類似Bert這種預(yù)訓(xùn)練模式,被稱為DAE LM。

    這種DAE LM的優(yōu)缺點(diǎn)正好和自回歸LM反過來,它能比較自然地融入雙向語言模型,同時(shí)看到被預(yù)測單詞的上文和下文,這是好處。缺點(diǎn)是啥呢? 主要在輸入側(cè)引入[Mask]標(biāo)記,導(dǎo)致預(yù)訓(xùn)練階段和Fine-tuning階段不一致的問題 ,因?yàn)镕ine-tuning階段是看不到[Mask]標(biāo)記的。DAE嗎,就要引入噪音,[Mask] 標(biāo)記就是引入噪音的手段,這個(gè)正常。

    XLNet的出發(fā)點(diǎn)就是:能否 融合自回歸LM和DAE LM兩者的優(yōu)點(diǎn) 。就是說如果站在自回歸LM的角度,如何引入和雙向語言模型等價(jià)的效果;如果站在DAE LM的角度看,它本身是融入雙向語言模型的,如何拋掉表面的那個(gè)[Mask]標(biāo)記,讓預(yù)訓(xùn)練和Fine-tuning保持一致。當(dāng)然,XLNet還講到了一個(gè)Bert被Mask單詞之間相互獨(dú)立的問題。

    以上就是關(guān)于gpt模型開源嗎知乎相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進(jìn)行咨詢,客服也會為您講解更多精彩的知識和內(nèi)容。


    推薦閱讀:

    chatGPT可以用來干嘛(chat功能)

    chatGPT的未來發(fā)展前景

    chatGPT用什么語言寫的

    三開間中式別墅效果圖(三開間中式別墅效果圖片大全)

    江西景觀設(shè)計(jì)公司(江西景觀設(shè)計(jì)公司有哪些)