-
當前位置:首頁 > 創(chuàng)意學院 > 技術 > 專題列表 > 正文
gpt模型參數(shù)量
大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關于gpt模型參數(shù)量的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。
ChatGPT國內免費在線使用,一鍵生成原創(chuàng)文章、方案、文案、工作計劃、工作報告、論文、代碼、作文、做題和對話答疑等等
只需要輸入關鍵詞,就能返回你想要的內容,越精準,寫出的就越詳細,有微信小程序端、在線網(wǎng)頁版、PC客戶端
官網(wǎng):https://ai.de1919.com
本文目錄:
一、1億的數(shù)據(jù)大概需要多少硬件資源
1億的數(shù)據(jù)大概需要11.9mb硬件資源
1000000000÷8÷1024÷1024≈119.21MB
也就是存儲10億的數(shù)據(jù)只需要119MB左右的內存空間,這對于現(xiàn)在動輒16G、32G集群版的redis,完全沒有問題。
需要注意的是,如果你的數(shù)據(jù)量不大,那就不要把起始偏移量搞的很大,這樣也是占空間的,比如我們只需要存儲幾百條數(shù)據(jù),但是其中的偏移量卻很大,這就會造成了很大的內存空間浪費。
二、05-ELMo/BERT/GPT-NLP預訓練模型
這里可以參考CSDN上的文章-BERT原理和實踐: https://blog.csdn.net/jiaowoshouzi/article/category/9060488
在解釋BERT,ELMO這些預訓練模型之前,我們先看一下很久之前的計算機是如何讀懂文字的?
每個字都有自己的獨特的編碼。但是這樣是有弊端的,字和字之間的關聯(lián)關系是無法得知的,比如計算機無法知道dog和cat都是動物,它反而會覺得bag和dog是比較相近的。
所以后來就有了Word Class,將一系列的詞進行分類然后讓一類詞語和一類詞語之間更有關聯(lián),但是這樣的方法太過于粗糙,比如dog,cat,bird是一類,看不出哺乳動物鳥類的區(qū)別。
在這個基礎之上,我們有了Word Embedding,Word Embedding我們可以想象成是一種soft的word class,每個詞都用向量來表示,它的向量維度可能表示這個詞匯的某種意思,如圖中dog,cat,rabbit的距離相比其他更近。那么word embendding是如何訓練出來的,是根據(jù)每個詞匯的上下文所訓練的。
每個句子都有bank的詞匯,四個bank是不同的token,但是同樣的type。(注:token-詞例, type-詞型, class-詞類 or token是出現(xiàn)的總次數(shù)(還有種理解是token是具有一定的句法語義且獨立的最小文本成分。 ),type是出現(xiàn)的不同事物的個數(shù)。)
對于典型的Word Embedding認為,每個詞type有一個embedding,所以就算是不同的token只要是一樣的type那么word embedding就是一樣的,語義也就是一樣的。
而事實上并非如此,1,2句bank指的是銀行,3,4為水庫。所以我們希望讓機器給不同意思的token而且type還一致,給予不同的embedding。在這個問題上,之前的做法是從字典中去查找這個詞包含幾種意思,但是這樣的做法顯然跟不上現(xiàn)實中詞語的一些隱含的含義。比如bank有銀行的意思,與money一起是銀行的意思,而與blood一起卻是血庫的意思。
所以我們想讓機器今天進一步做到每一個word token都可以有自己的embedding(之前是每個type有一個embedding或者有固定的一個或多個embedding),那么怎么知道一個word應該有怎樣的embedding呢?我們可以取決于該詞的上下文,上下文越相近的token它們就會越相近的embedding。比如之前提到的bank,下面兩個句子它們的word token的embedding可能是相近的,而和上面的word token的embedding是相遠的。
所以我們想使用一種能夠基于上下文的Contextual word Embedding來解決一詞多義的問題。
這里使用ELMO可以做到這件事情,即每個word token擁有不同的word embedding。(右上角動物是芝麻街(美國公共廣播協(xié)會(PBS)制作播出的兒童教育電視節(jié)目)里的角色)。
它是基于RNN的預訓練模型,它只需要搜集大量語料(句子)且不需要做任何標注,就可以訓練這個基于RNN的語言模型,預測下一個token是什么,學習完了之后就得到了上下文的embedding。因為我們可以將RNN的隱藏層中的某一節(jié)點拿出來(圖中橙藍色節(jié)點),它就是輸入當前結點的詞匯的word embedding。
從當計算識別到<BOS>,模型訓練開始。首先輸入"潮水",然后當作輸入輸出"退了",退了當做輸入輸出"就"。
假設當前要得到”退了”這個詞的上下文embedding,首先,因為前邊的RNN只考慮到了前文而沒有考慮到后文,所以這里就使用了同前文一樣的反向的RNN。然后,它從句尾開始進行,比如給它喂”知道”,它就要預測”就”,給它喂”就”,它就要預測”退了”。這時候就不僅考慮每個詞匯的前文,還會考慮每個詞的后文。最后將正向和逆向得到的兩個不同的上下文embedding(因為方向不同訓練結果也不一樣)拼接起來。
現(xiàn)在我們訓練的程度都會越來越深度,當層數(shù)增加,這樣就會產(chǎn)生Deep的RNN,因為很多層,而且每一層都會產(chǎn)生上下文Embedding,那么我們到底應該使用哪一層?每一層這種深度LSTM中的每個層都可以生成潛在表示(方框處)。同一個詞在不同的層上會產(chǎn)生不同的Embedding,那么我們應該使用哪一層呢?ELMo的策略是每一層得到的上下文embedding都要。
在上下文embedding的訓練模型中,每個詞輸入進去都會有一個embedding輸出來。但是在ELMo中,每個詞匯輸入進去,都會得到不止一個embedding,因為每層的RNN都會給到一個embedding,ELMo將它們統(tǒng)統(tǒng)加起來一起使用。
以圖中為例,這里假設ELMo有兩層RNN,這里是將α1(黃色,第一層得到的embedding)和α2(綠色,第二層得到embedding)加起來得到藍色的embedding,并做為接下來要進行不同任務的輸入。
但是這里存在一些問題,α1和α2是學習得到的,而且它是根據(jù)當前要進行的任務(如QA,POS of tagging ),然后根據(jù)接下來要進行的這些任務一起被學習出來。所以就導致不同任務導向下的α1和α2也不一樣。
ELMo的論文中提到,在不同任務下(SRL,Coref,SNLI,SQuAD,SST-5)。藍色的上下文embedding在經(jīng)過token(這里為沒有經(jīng)過上下文的embedding),LSTM1,LSTM2后,它在不同階段需要的weight也不一樣。
BERT相當于是Transformer的Encoder部分,它只需要搜集大量的語料去從中學習而不經(jīng)過標注(不需要label),就可以將Encoder訓練完成。如果之前要訓練Encoder,我們需要通過一些任務來驅動學習(如機器翻譯)。
BERT就是句子給進去,每個句子給一個embedding。
這里可以回憶下,Transformer的Enoder中有self-attention layer,就是給進去一個sequence,輸出也得到一個sequence。
雖然圖中使用是用詞作為單元進行輸入,但是在使用BERT進行中文的訓練時,字會是一個更好的選擇。比如,我們在給BERT進行輸入時,用one-hot給詞進行編碼,但是詞在中文中數(shù)量龐大,會導致維度過高。但是,字的話相對會少很多,特別是中文(大約幾千個,可以窮舉)。這樣以字為單位進行輸入會占很大優(yōu)勢。
共有兩種方法,一種是Mask LM遮蓋語言模型,另一種是Next Sentence Prediction下一句預測。
下面用上圖的例子來理解BERT是怎么樣來進行填空的:
1)這里假設在所有句子中的詞匯的第2個位置上設置一個<MASK>;
2)接下來把所有的詞匯輸入BERT,然后每個輸入的token都會得到一個embedding;
3)接下來將設置為<MASK>的embedding輸入到Linear Multi-class Classifier中中,要求它預測被<MASK>的詞匯是哪個詞匯?
但是這個Linear Multi-class Classifier它僅僅是一個線性分類器,所以它的能力十分弱,這也就需要在之前的BERT模型中需要將它的層數(shù)等參數(shù)設計的相當好,然后得到非常出色的representation,便于線性分類器去訓練。
那么我們怎么知道最后得到的embedding是什么樣的呢?如果兩個<MASK>下的詞匯(輸入時設置的<MASK>和最后預測的<MASK>)都放回原來的位置而且沒有違和感(就是語句還算通順),那它們就有類似的embedding(比如退下和落下)。
如圖中,給定兩個句子1)醒醒吧 和 2)你沒有妹妹。其中特殊符號[SEP]是告訴BERT兩個句子的分隔點在哪里。
特殊符號[CLS]一般放在句子的開頭,它用來告訴BERT從這開始分類任務,[CLS]輸入BERT后得到embedding然后通過Linear Binary Classifier得出結果說明:經(jīng)過BERT預測后現(xiàn)在我們要預測的兩個句子是接在一起 or 不應該被接在一起。
這里可能會有疑問,為什么不將[CLS]放在句尾,等BERT訓練完兩個句子再輸出結果?
對于上圖中的任務,BERT現(xiàn)在要做的事情就是給定兩個句子,讓BERT輸出結果這兩個句子是不是應該接在一起?
所以在語料庫的大量句子中,我們是知道哪些句子是可以接在一起的,所以也需要我們告訴BERT哪些句子是接在一起的。
Linear Binary Classifier和BERT是一起被訓練的,通過預測下一句這個任務,我們就可以把將BERT部分的最優(yōu)參數(shù)訓練出來。
現(xiàn)在我們知道了任務一和任務二,在原論文中兩種任務是要同時進行的,這樣才能將BERT的性能發(fā)揮到最佳。
現(xiàn)在我們知道了BERT要做什么事情,那么我們要如何去使用它?共有四種方法。論文中是將【BERT模型和接下來你要進行的任務】結合在一起做訓練。
第一種,假設當前任務是Input一個sentence,out一個class,舉例來說輸入一句話來判斷分類。
訓練流程:1)將做要分類的句子丟給BERT;
2)需要在句子開始加上分類的特殊符號,這個特殊符號經(jīng)過BERT輸出的embedding經(jīng)過線性分類器,輸出結果為當前的句子屬于的類別是真還是假。BERT和Linear Classifier的參數(shù)一起進行學習;
3)這里的Linear Classifier是Trained from Scratch是白手起家從頭開始,即它的參數(shù)隨機初始化設置,然后開始訓練;
4)而BERT則是加上Fine-tune微調策略(一種遷移學習方式*),例如Generative Pre-trained Transformer(OpenAI GPT生成型預訓練變換器)(Radford等,2018),引入了最小的任務特定參數(shù),并通過簡單地微調預訓練參數(shù)在下游任務中進行訓練。
*這里不得不提一下遷移學習中的Fine-tune,這里可以參考csdn的一篇文章: https://blog.csdn.net/u013841196/article/details/80919857
( https://arxiv.org/abs/1805.12471 )
第二種,假設當前任務是input一個sentence,輸出這個句子中的每個詞匯屬于正例還是負例。舉例現(xiàn)在的任務是slot filling填槽任務(填槽指的是為了讓用戶意圖轉化為用戶明確的指令而補全信息的過程)(另一種解釋是從大規(guī)模的語料庫中抽取給定實體(query)的被明確定義的屬性(slot types)的值(slot fillers))(槽可以理解為實體已明確定義的屬性),輸入的句子是 arrive Taipei on November 2nd輸出的槽是other dest on time time
訓練流程:
1)將句子輸入BERT,句子中的每個詞匯都會映射出一個embedding;
2)每個詞匯的embedding輸入Linear Classifier,輸出結果;
3)Linear Classifier 白手起家和Bert微調的方式一起去做學習。
第三種,假設當前任務是input輸入兩個句子,輸出class。舉例現(xiàn)在要進行自然語言預測,讓機器根據(jù)premise前提,預測這個hypothesis假設是True還是False還是unknown不知道。實際上,我們可以把這個任務當成三分類問題。
訓練過程:
1)在一個sentence前設置特殊符號[CLS],然后在要輸入的兩個sentence中間設置[SEP]分隔符號;
2)將兩個sentence連同特殊符號一起輸入到BERT中;
3)將[CLS]輸入BERT后得到的embedding,再把它輸入linear Classifier中,得到class。
如圖所示,假設gravity的token序號是17,即 ,我們現(xiàn)在有一個問題通過QA Model后得到的s=17,e=17,那么答案就是 為gravity;
同理,假設within a cloud的序號順序是77到79,即 到 ,我們現(xiàn)在有一個問題通過QA Model后得到的s=77,e=79,那么答案就是 為within a cloud。
https://arxiv.org/abs/1905.05950
https://openreview.net/pdf?id=SJzSgnRcKX
這張圖顯示了BERT從0-24層的層數(shù)在針對不同的NLP任務上的表現(xiàn)。
https://d4mucfpksywv.cloudfront.net/better-language-models/language_models_are_unsupervised_multitask_learners.pdf
而所謂的GPT,它其實就是Transformer的Decoder。
我們簡單的描述下GPT的訓練過程:這里我們input<BOS>這個token和潮水,想要GPT預測輸出“退了”這個詞匯。
1)首先輸入[BOS](begin of sentence)和潮水,通過Word Embedding再乘上matrix W變成a 1到a 4,然后把它們丟進self-attention 層中,這時候每一個input都分別乘上3個不同的matrix產(chǎn)生3個不同的vector,分別把它們命名為q,k,v。
q代表的是query (to match others用來去匹配其它的向量)
k代表的是key (to be matched用來去被query匹配的向量)
v代表的是value(information to be extracted用來被抽取的信息的向量)
2)現(xiàn)在要做的工作就是用每個query q 去對每個 key k做attention(吃2個向量,輸出就是告訴你這2個向量有多么匹配或者可以說輸入兩個向量輸出一個分數(shù)alpha(而怎么去吃2個向量output一個分數(shù),有很多不同的做法))。這里要預測潮水的下一個詞,所以乘 , 乘上 , 乘上 再經(jīng)過soft-max分別得到 到 。
3)我們用 和每一個v相乘, 和 相乘加上 和 相乘。以此類推并相加,最終得到 。
4)然后經(jīng)過很多層的self-attention,預測得到”退了”這個詞匯。
同理,現(xiàn)在要預測”退了”的下一個詞匯,按照前面的流程可以得到 ,然后經(jīng)過很多層的self-attention層,得到”就”這個詞匯。
GPT的神奇之處在于它可以在完全沒有訓練數(shù)據(jù)的情況下,就可以做到閱讀理解,摘要,翻譯。折線圖中顯示了它在參數(shù)量上升的情況下,F(xiàn)1的值的效果。
1.Transformer的問題:
word Embedding 無上下文
監(jiān)督數(shù)據(jù)太少
解決方法:
Contextual Word Embedding
2.ELMo( E mbeddings from L anguages Mo del)
- 多層雙向的LSTM的NNLM
- RNN-based language models(trained from lots of sentences)
ELMo的問題:
Contextual Word Embedding作為特征
不適合特定任務
3.OpenAI GPT的改進
根據(jù)任務Fine-Tuning
使用Transformer替代RNN/LSTM
OpenAI GPT的問題:
單向信息流的問題
Pretraining(1)和Fine-Tuning(2)不匹配
解決辦法:
Masked LM
NSP Multi-task Learning
Encoder again
Tips:
- 使用中文模型
- max_seq_length可以小一點,提高效率
- 內存不夠,需要調整train_batch_size
- 有足夠多的領域數(shù)據(jù),可以嘗試Pretraining
三、全球十大數(shù)字創(chuàng)新技術出爐
點擊藍字
科技 創(chuàng)新世界潮。
全文共計2520字,預計閱讀時間7分鐘
來源 | 數(shù)據(jù)觀綜合(轉載請注明來源)
編輯 | 蒲蒲
“
日前,聯(lián)合國教科文組織2021年 Netexplo 創(chuàng)新論壇在網(wǎng)上舉行。由技術領域全球知名大學組成的 Netexplo 大學網(wǎng)絡歷時一年,在全球范圍內遴選出了10項極具突破性的數(shù)字創(chuàng)新技術,這些創(chuàng)新對 社會 具有深遠而持久的影響。
”
阿根廷交易平臺Abakus
受疫情影響,阿根廷經(jīng)濟遭受重創(chuàng),也使該國農業(yè)部門的動蕩加劇。鑒于此,阿根廷初創(chuàng)企業(yè)Abakus與瑞士區(qū)塊鏈基礎設施提供商CoreLedger推出了一個數(shù)字易貨平臺,旨在幫助農民克服金融波動帶來的影響,打造數(shù)字易貨經(jīng)濟。
Abakus系統(tǒng)基于一種以實物資產(chǎn)(例如大豆)為索引的加密貨幣,這種貨幣可能比本國不斷波動的貨幣更穩(wěn)定,而代幣可以兌換成貨物或比索。這兩家公司表示,代幣化農業(yè)資產(chǎn)將有助于農民對沖通貨膨脹,并在國內和國際上獲得流動性。
CoreLedger首席執(zhí)行官Johannes Schweifer表示:“ 在一個飽受通貨膨脹困擾的國家,獲得有形資產(chǎn)的能力可能是這些農民生存與發(fā)展之間的區(qū)別。 ”
Abakus首席執(zhí)行官Martin Furst表示:“ 由于國有公司的壟斷地位,阿根廷的農民們難以生存,這些壟斷者決定了農產(chǎn)品貿易的條件并大幅度削減了農產(chǎn)品。農業(yè)支持的代幣解決了現(xiàn)金和股票儲蓄計劃固有的波動性和流動性問題。 ”
英國人工智能AlphaFold 2
在國際象棋和圍棋領域取得巨大成功后,去年年底,人工智能再次大出風頭。在國際蛋白質結構預測賽中,AlphaFold 2摘得桂冠,并破解了一個困擾人類50年的難題:預測蛋白質如何折疊。
據(jù)DeepMind官方宣布,該算法能夠精確地基于氨基酸序列,預測蛋白質的3D結構,其準確性可以與使用冷凍電子顯微鏡(CryoEM)、核磁共振或X射線晶體學等實驗技術解析的3D結構相媲美。
在過去50年中,“蛋白質折疊問題”一直是生物學界的重大挑戰(zhàn)。此前,生物學家主要利用X射線晶體學或冷凍電鏡等實驗技術來破譯蛋白質的三維結構,但這類方法耗時長、成本高。而AlphaFold 2不僅預測準確且效率高,有望促進醫(yī)學領域不斷取得進步。
美國圖像生成系統(tǒng)Dall-E
美國人工智能非營利組織Open AI于今年1月份推出Dall—E,這是一個可以根據(jù)書面文字生成圖像的人工智能系統(tǒng)。取名DALL-E,是為了向藝術家薩爾瓦多-達利(Salvador Dali )和皮克斯的機器人WALL-E致敬。
DALL-E是OpenAI基于GPT-3開發(fā)的一種新型神經(jīng)網(wǎng)絡。它是GPT-3的一個小版本,使用了120億個參數(shù),而不是1750億個參數(shù)。但它已經(jīng)經(jīng)過專門訓練,可以從文本描述生成圖像,使用的是文本-圖像對的數(shù)據(jù)集,而不是像GPT-3這樣非常廣泛的數(shù)據(jù)集。它可以使用自然語言從文字說明中創(chuàng)建圖像,就像GPT-3創(chuàng)建網(wǎng)站和故事一樣。
德國文本AI模型GPT-Neo
OpenAI的GPT—3被認為是目前最好的人工智能文本生成器,其擁有1750億個參數(shù),現(xiàn)已被數(shù)萬開發(fā)者用于300多個不同的應用程序,每天輸出45億詞之多。
但它是收費的,這阻礙了更多開發(fā)人員的采用,也不利于文本AI的快速發(fā)展。有鑒于此,德國Eleuther人工智能公司于今年3月下旬推出開源的文本AI模型GPT—Neo,以彌補這方面的缺憾。研究人員稱,GPT—Neo的推出將會催生出一大批嶄新應用,也會以更為低廉的成本釋放人們對人工智能未來的想象力。
本質上,GPT-Neo有點像是GPT系列的“高仿”項目:GPT-Neo中的各種模型,設計原理接近GPT系列,但代碼并不一樣。作者們打算嘗試各種結構和注意力類型,最終擴展出GPT-3大小的大語言模型。為了實現(xiàn)這一目標,他們從復現(xiàn)GPT系列的模型開始,不斷嘗試各種模型架構、和各種注意力機制的實現(xiàn)方式。
中國量子計算機“九章”
“九章”是由中國科學技術大學潘建偉、陸朝陽等學者研制的76個光子的量子計算原型機。
實驗顯示,當求解5000萬個樣本的高斯玻色取樣時,“九章”需200秒,而目前世界最快的超級計算機“富岳”需6億年。等效來看,“九章”的計算速度比“懸鈴木”快100億倍,并彌補了“懸鈴木”依賴樣本數(shù)量的技術漏洞。
這一成果使得我國成功達到了量子計算研究的第一個里程碑:量子計算優(yōu)越性(國外也稱之為“量子霸權”),并牢固確立了我國在國際量子計算研究中的第一方陣地位,為未來實現(xiàn)可解決具有重大實用價值問題的規(guī)?;孔幽M機奠定了技術基礎。
對于“九章”的突破,《科學》雜志審稿人評價該工作是“一個最先進的實驗”(astate-of-the-artexperiment),“一個重大成就”(a major achievement)。
美國人工智能“神經(jīng)破譯”
“神經(jīng)破譯”是由MIT CSAIL和谷歌大腦的研究者攜手開發(fā)的一款人工智能軟件,基于語言進化原理,可以在不知道語言來源的情況下破譯古代語言,并揭示某種語言和其他語言之間的關聯(lián)。
研究者們利用同一語族內不同語言之間的聯(lián)系,用該人工智能破譯了兩種失傳的語言:烏加里特文和線性文字B,堪稱現(xiàn)代版的“羅塞塔石碑”?。≒S:羅塞塔石碑是一塊用3種語言寫了同一個內容的石碑,幫助語言學家們讀懂古文字。)
烏加里特文(Ugaritic),是一種楔形文字,屬于閃米特語族。從字面上來看,就知道它是一個叫做烏加里特(Ugarit)的文明使用的語言,這個文明位于當今地中海沿岸的敘利亞,在公元前6000年前后就初現(xiàn)蹤跡,在公元前1190年前后滅亡。
線性文字B(Linear B),由一種人類還沒有破譯出來的線性文字A演化而來,主要存活于公元前1500年到公元前1200年的克里特島和希臘南部,是希臘語的一種古代書寫形式。
未來,在這項研究起作用的情況下,或許可以像借助羅曼語族三種語言的數(shù)據(jù)庫一樣,直接用機器借助其他已知的人類語言,實現(xiàn)暴力破解。
印度區(qū)塊鏈應用程序Smashboard
Smashboard網(wǎng)站稱自己是一個“另類的社交媒體網(wǎng)絡,為性侵受害者提供獨特的功能,目的是通過減少報案帶來的心理創(chuàng)傷,讓他們的生活更輕松”。
借助區(qū)塊鏈技術,Smashboard允許用戶創(chuàng)建他們所遭受犯罪的私人和加密賬本,并將其安全地存儲在網(wǎng)上。例如,Smashboard為用戶提供了收集材料的選項,“這些材料可作為日記,也可作為加密個人空間中的時間戳證據(jù)”。更重要的是,該應用程序允許性虐待受害者找到法律顧問或律師,并與他們私下互動。受害者還可以與女權主義新聞工作者建立聯(lián)系,甚至可以給他們匿名舉報。
目前,Smashboard的另一個障礙是應用的覆蓋范圍。該應用程序目前只能使用三種語言-英語,法語和西班牙語。這意味著該應用無法覆蓋使用印度當?shù)卣Z言的性虐待受害者。
澳大利亞人工智能“蠕蟲大腦驅動器”
研究人員從蠕蟲微小的大腦中獲得靈感,開發(fā)出一種能夠控制自動駕駛 汽車 的人工智能系統(tǒng)“蠕蟲大腦驅動器”。與大多數(shù)網(wǎng)絡中使用數(shù)百萬個神經(jīng)元相比,該系統(tǒng)只需要幾個神經(jīng)元。
該系統(tǒng)只用了控制電路中的19個神經(jīng)元和7.5萬個參數(shù),就成功控制了一輛 汽車 。研究小組相信他們的新方法可減少訓練時間,并使人工智能在相對簡單的系統(tǒng)中實現(xiàn)成為可能。
四、只需要十分之一數(shù)據(jù),就能通關四大視覺任務,居然還開源了
Github鏈接:https://github.com/opengvlab
家人們,你們有沒有這種苦惱?
搬一次家就換一次家具,那些又貴又重的家具既不好搬運,又不好全部帶走。
下一次又重新購置一遍家具,浪費錢不說,關鍵是來來回回都做一樣的事情!家具還沒用過幾次,利用率不高呀!
這種搬家的苦惱,就好比AI領域,做幾個任務就需要開發(fā)幾個高度定制的模型,不僅所需的數(shù)據(jù)采集量非常大,每次還都得從頭標注。既提不起數(shù)據(jù)的學習效率,又耗費巨大的數(shù)據(jù)獲取成本。
光是AI前端研究就耗費如此巨大的精力,更別提應用場景中數(shù)以萬計的長尾任務。
那怎么辦?
做一款通用的深度學習模型,才是關鍵。
1 通用,才是技術根本
目前,通用語言模型(GLM)已經(jīng)取得了令人矚目的進展,比如BERT、T5和GPT-3,它們在應對廣泛的語言下游任務時已經(jīng)游刃有余。
相形之下,通用視覺模型(GVM)的研究遲遲未交出一份令人滿意的答卷。
以往的大多數(shù) GVM 研究主要利用一種監(jiān)督信號來源,如 ViT-G/14 采用有標簽監(jiān)督,SEER 采用樣本的不同增強之間的對比學習,CLIP采用圖片文本對進行監(jiān)督。如果是在單個監(jiān)督信號下進行的預訓練,這幾種范式確實能夠生成在固定場景下表現(xiàn)良好的模型。但如果用在場景多元、任務多樣的下游場景,這些模型就難以勝任了。
比如現(xiàn)在最火的自動駕駛, 汽車 處于移動狀態(tài),既要看到路況,又要看到紅綠燈,還要注意行人,甚至在智能座艙興起后,還要和語言技術、LBS場景服務協(xié)同,這么多的感知數(shù)據(jù)與協(xié)同任務,這么多隨機的新任務,無論在體量還是維度方面,都對視覺模型的要求極大提高。
這時,打造一款通用視覺模型,降低研發(fā)門檻,尤其是學術界的時間成本、資金成本,才能暢享下游的極致場景體驗。
去年11月,上海人工智能實驗室聯(lián)合商湯 科技 、香港中文大學、上海交通大學發(fā)布通用視覺技術體系“書生”(INTERN),一套持續(xù)學習框架,用于系統(tǒng)化解決當下人工智能視覺領域中存在的任務通用、場景泛化和數(shù)據(jù)效率等一系列瓶頸問題。
前不久,上海人工智能實驗室聯(lián)合商湯 科技 發(fā)布通用視覺開源平臺OpenGVLab,面向學術界和產(chǎn)業(yè)界開放其超高效預訓練模型、超大規(guī)模公開數(shù)據(jù)集,以及業(yè)內首個針對通用視覺模型的評測基準。
這些開源技術,究竟有何魔力?
2 大力出奇跡,打造通用視覺模型
“書生” (INTERN),就是練就通用視覺能力的底層技術。
從技術實現(xiàn)上講,“書生”技術體系由由七大模塊組成,包括三個基礎設施模塊和四個訓練階段構成。
書生(INTERN)結構圖
首先,通用視覺數(shù)據(jù)系統(tǒng)。
這是一個超大規(guī)模的精標數(shù)據(jù)集,擁有100億個樣本和各種監(jiān)督信號,并依照四大視覺任務分別設置了四個數(shù)據(jù)子集:多模態(tài)數(shù)據(jù)GV-D- 10B分類標注的GV-Dc-36M、檢測標注的GV-Dd-3M、分割標注的GV-Ds-143K。
另外,這一數(shù)據(jù)集還包含11.9萬的標簽系統(tǒng),不僅涵蓋了自然界的眾多領域和目前計算機視覺研究中的幾乎所有標簽,還擴充了大量細粒度標簽,涵蓋各類圖像中的屬性、狀態(tài)等。
而這,就是書生“大力出奇跡”的一大注腳。
其次,通用視覺模型結構。
它是由一個具有CNN和Transformer的統(tǒng)一搜索空間構建而成。
為何要建立這樣的混合結構?要知道,多年來,卷積神經(jīng)網(wǎng)絡(CNN)一直主導著視覺表征學習,并在圖像分類、目標檢測和語義分割等下游任務中表現(xiàn)出穩(wěn)定的可遷移性。但最近幾年,Vision Transformer (ViT)僅使用普通的Transformer結構就能作為圖像編碼模型在ImageNet-1k上取得媲美 CNN 的性能,在大規(guī)模數(shù)據(jù)集上 ViT 更是展示出比 CNN 更大的潛力。
盡管ViT在性能上有優(yōu)點,但純Transformer網(wǎng)絡相比卷積神經(jīng)網(wǎng)絡缺乏某些歸納偏置(inductive biases),因此需要更多的數(shù)據(jù)和計算資源。此外,自注意的計算成本相對于輸入的數(shù)量是平方的,限制了對高輸入分辨率的應用。因此,將CNN和Transformer和MLP結合起來,平衡效率和有效性兩個方面,才是模型通用的關鍵。
這種兼具更好的泛化能力和更高的模型容量的模型結構名為MetaNet。在MetaNet網(wǎng)絡結構族里面進行網(wǎng)絡結構搜索,從而得到最優(yōu)的一個模型訓練結構。
統(tǒng)一搜索的MetaNet架構:Conv和Trans分別表示卷積和Transformer。C和S為每一階輸出通道數(shù)和步幅。
具體來看,MetaNet不僅基于強化學習 的PPO算法提出了統(tǒng)一搜索架構,并且,為了避免傳統(tǒng)的下采樣模塊會成為模型性能的瓶頸,“書生“結合了包含 local-global-DSM (LG_DSM) 和 global-DSM (G-DSM)的context-aware down-sampling modules (DSM),用來代替原本的下采樣模塊。
因此,在淺層,模型依然使用卷積來提取特征,但在深層,模型卻能將Transformer模塊和LG-DSM結合使用,以便于更好地提取全局信息。
同時,書生還基于最大的MetaNet-B15蒸餾出了多達13種不同的模型結構,共24種不同的模型權重,現(xiàn)已全部開源。
這些模型結構基本涵蓋了現(xiàn)有市面上大部分的主流backbone,不僅能夠很輕易地遷移到所需要的算法框架作為新網(wǎng)絡預訓練的初始化,而且只需要更短的訓練時間就可以達到比原來更好的訓練效果。
MetaNet 模型與其他模型結構比較,結果如下:
基于卷積、Transformer和兩者混合的結構,分別用C,T和H表示,可以看出,在圖像分類性能上,MetaNet系列的MN-B1,MN-B4和MN-B7,和其他的SOTA模型相比,不僅有更高的精度,還有更低的FLOPS和參數(shù)量。
除了分類任務,把MetaNet做為檢測和分割的backbone,在COCO數(shù)據(jù)集上使用Mask R-CNN結構訓練,結果發(fā)現(xiàn):在模型參數(shù)量更小的前提下,MN-B4比Swin-T精度高出2到4個點。另外還在ADE20K數(shù)據(jù)集上進行了語義分割任務,MN-B4的mIoU指標比Swin-T高出5個點之多。
上述兩個實驗結果表明,MetaNet系列模型結構,在模型精度與計算量之間,都達到了新的SOTA!
最后,通用視覺評測基準。
視覺評測基準GV-B ,就像是一個「擂臺」。
如下表所示,測評基準收集了 26 個下游任務數(shù)據(jù)集,囊括了 4 種視覺任務類型:分類,檢測,分割和深度估計。
在設置上,該基準引入了百分比樣本(percentage-shot),只需要選取整個數(shù)據(jù)集的一部分,例如 10%、20% ,對比縮小下游任務的訓練數(shù)據(jù)量后的模型性能。
與傳統(tǒng)的少樣本設置相比,這種百分比樣本設置可以很好地保留原始數(shù)據(jù)集的長尾分布等屬性,并減輕對樣本選擇的敏感性。因為有一些數(shù)據(jù)集樣本類別分布不平衡,比如下表中的VOC07+12,百分比數(shù)據(jù)的劃分方式卻會繼承這種分布情況。
右側三列avg,min和max,分別表示在10%的數(shù)據(jù)中,不同類別樣本數(shù)量的平均值,最小值和最大值。
結合上述數(shù)據(jù)集和任務類型,論文選取了一些具有代表性的模型來做評測對比。為了比較公平性,該對比使用了這些模型的官方預訓練權重。這些模型包括:
有了超大精標數(shù)據(jù)集、模型結構,以及評測基準后,已經(jīng)是萬事俱備,只欠訓練。
書生作為中國古代讀書人的經(jīng)典形象,代表著一個通過不斷學習、不斷成長進而擁有各方面才能的人格化角色:從基礎的知識技能學習開始,到對多種專業(yè)知識觸類旁通,進而成長為擁有通用知識的通才。借此意象,“書生”(INTERN)系統(tǒng)可通過持續(xù)學習,舉一反三,逐步實現(xiàn)通用視覺領域的融會貫通,最終實現(xiàn)靈活高效的模型部署。
下面就來看看,這套系統(tǒng)是如何通過訓練,一步步從生手變成專家再到多面手,最終在各種任務中大顯身手。
第一階段,訓練的是基礎能力,被稱為“基礎模型”(Amateur)。
然而CLIP需要400M的圖像-文本對進行前訓練,囿于極大的數(shù)據(jù)量,CLIP很難進一步發(fā)展。但“書生”提出了一種新的訓練范式,DeCLIP(Data efficient CLIP ),能夠同時使用來自圖像-文本、圖像-圖像和文本-文本對的監(jiān)督信號進行模型預訓練,從而更有效地實現(xiàn)通用性。
此外,為了充分利用大規(guī)模多模態(tài)數(shù)據(jù)獲取基礎模型的優(yōu)勢,這一階段提出了Upstream-Amateur (Up-A)視覺語言預訓練框架,同時挖掘模態(tài)內和跨模態(tài)知識。
這一訓練框架分為兩個預訓練階段:Upstream-Amateur for Global Representation (Up-A-G)和Upstream-Amateur for Local Representation (Up-A-L)。
其中,Up-A-G(左)使用群體監(jiān)督功能,從更豐富的監(jiān)督中學習。Up-A-L(右)采用局部自我監(jiān)督學習方法,對訓練好的視覺-語言模型進行調整,從而提高自身在密集預測CV任務中的表現(xiàn)。
Upstream-Amateur的框架
得益于這些內在的監(jiān)督,DeCLIP-ResNet50可以在ImageNet上實現(xiàn)60.4%的zero-shot 精度第一。這比CLIP-ResNet50高出0.8%,數(shù)據(jù)使用量少了81%。當遷移到下游任務時,DeCLIP-ResNet50在11個視覺數(shù)據(jù)集中有8個優(yōu)于CLIP。
更關鍵的是,訓練完成的Upstream-Amateur為后續(xù)的訓練階段提供了一個很高的起點。
第二階段,訓練的是專業(yè)能力,被稱為“專家模型”(Expert)。
Up-A階段得到的基礎模型,在一般的視覺識別問題上顯示出優(yōu)異的性能。但要完全掌握檢測、分割等更具體的任務,還需要在每個任務中進行更專業(yè)的預訓練,這就促成了第二個階段的到來,專家模型。
對于每個專家,“書生”采用了一種簡單的多頭設計,每個頭是一個特定數(shù)據(jù)集的子網(wǎng)絡,從一個公共的、共享的“主干”分支出來。比如Up-E (C)、Up-E (D)和Up-E (S),分別用于圖像分類、對象檢測和語義分割。
第三階段,訓練的是組合能力,被稱為“通才模型”(Generalist)。
上述的多任務是指不同數(shù)據(jù)集(如ImageNet和CIFAR)的一個視覺問題(如分類),或一個數(shù)據(jù)集的多個視覺問題(如分類和檢測)。但關鍵是,如何將專家整合到一個統(tǒng)一的模型中,獲得一個更加通用的視覺模型。因此,在預訓練“專家”階段之后,又將“通才”作為第三個預訓練階段,以進一步統(tǒng)一特征表示。
“書生”提出了一個新的范式,名為“混合參數(shù)共享”,從而開發(fā)一個名為“多面手”的通才模型。
具體來說,由于專家捕獲的知識是相互關聯(lián)的,當專家的特征融合為一個共享的表示形式時,再利用基于軟共享的跨任務知識轉移和基于硬共享的通用表示學習的方法,在不引入任務沖突的情況下在專家之間傳遞信息(特征轉移),從而進一步提高了多任務訓練的模型(專家)性能,即“通才”能力。
在結構上,通才模型是所有專家的一個相互關聯(lián)的版本,因此可以把每個“專家主干”稱為“通才分支”。此外,我們還可以根據(jù)訓練相應專家的任務將通才中的每個分支分為圖像、補丁和像素。但無論是軟共享還是硬共享,都意味著從專家模型到通才模型的一次躍升。
在經(jīng)歷了前三個訓練階段模塊后,終于來到最后的任務遷移階段 (Adaptation)。
這個階段屬于技術鏈條的下游,用來解決各式各樣不同類型的任務,而這也是最考驗“書生”舉一反三能力的時刻。它需要在這個階段把之前學到的通用知識,融會貫通地應用到不同特定任務中。
在此之前,很多遷移學習方法確實取得了很多進步,但問題是,這些方法既沒有利用上游預訓練中的隱含信息,也沒有考慮到下游數(shù)據(jù)在少鏡頭場景中的不足。
因此,“書生”提出了一種Multi-stage Fine-tuning (MF)方法,緩解在數(shù)據(jù)較少的情況下傳輸?shù)睦щy,再通過將上游數(shù)據(jù)編碼成生成模型,即VQ-GAN,可以將預訓練的模型轉移到多個任務和領域,而無需每次都使用上游數(shù)據(jù),而這也使得“書生”更具通用性和可擴展性。
多級微調(MF)概述:VQ-GAN模型首先在第一階段使用上游數(shù)據(jù)進行訓練,然后在第二階段由它重構下游數(shù)據(jù)。在此之后,第三階段只對新增任務的特定參數(shù)進行重新表示的圖像訓練,第四階段則通過下游數(shù)據(jù)對整個模型進行微調。
至此,一個具有持續(xù)學習能力的通用視覺模型終于出世。
而具體有哪些提升,不如看一下更直觀的實驗數(shù)據(jù)對比!
3 一網(wǎng)打盡視覺領域四大任務
視覺領域,任務繁多,主流任務包含分類、目標檢測、語義分割、深度估計四大類型。
在這四大任務中,最強大的視覺模型還是去年OpenAI發(fā)布的CLIP模型。但相比較而言,“書生”則在準確率和數(shù)據(jù)使用效率上都有所提升。
1、精度表現(xiàn)
通過對“書生”訓練出的模型在GV-B上的評測對比,發(fā)現(xiàn)經(jīng)過多階段預訓練的MetaNet精度表現(xiàn)優(yōu)異。
在ImageNet等26個最具代表性的下游場景中, “書生”在分類、目標檢測、語義分割及深度估計等四大任務上,平均錯誤率分別降低了40.2%、47.3%、34.8%和9.4%。
書生(INTERN)與CLIP-R50x16在不同樣本量上的性能對比,正確率展示
2、數(shù)據(jù)使用效率
“書生”在數(shù)據(jù)效率方面的提升尤為矚目:只需要1/10的下游數(shù)據(jù),就能超過CLIP基于完整下游數(shù)據(jù)訓練的準確度。
以CLIP-R50x16和Up-G MN-B15在GV-B的評測對比為例,分別在分類、目標檢測、語義分割、深度估計四大類型的26個下游任務數(shù)據(jù)集上進行了評測,僅使用了10%數(shù)據(jù)進行訓練的Up-G MN-B15模型,在絕大部分數(shù)據(jù)集上都能比使用了全部訓練數(shù)據(jù)的CLIP-R50有更好的精度表現(xiàn)。這表明,經(jīng)過多階段預訓練的MetaNet具有極強的泛化能力,能夠在僅有少量的訓練樣本情況下,達到SOTA的精度表現(xiàn)。
在下游視覺場景中,小樣本訓練帶來的是極高的訓練速度,以及極低的訓練成本。
例如在花卉種類識別任務上,“書生“只需要每一類型的花卉提供兩個訓練樣本,就能實現(xiàn)99.7%的準確率。
這個花卉數(shù)據(jù)集由102種英國常見的花組成,每個類別有40至258張圖片。其中包含有很大的比例、姿勢和光線變化。
102個類別的花卉數(shù)據(jù)集:
https://www.robots.ox.ac.uk/~vgg/data/flowers/102/index.html
4 通用視覺平臺,已正式開源
如此強大的通用視覺訓練模型已經(jīng)正式開源!
更關鍵的是,連同上述講到的標簽數(shù)據(jù)集、網(wǎng)絡結構以及評測基準,均在OpenGVLab被統(tǒng)一打包開源。
其中的網(wǎng)絡結構除了MetaNet,還包含大家普遍使用的ResNet, MobileNet, ViT, EfficientNet等,以滿足不同場景的應用,賦能計算機視覺。
然而,「書生」的布局不止于此。
OpenGVLab將與上海人工智能實驗室此前發(fā)布的OpenMMLab、OpenDILab一道,共同構筑開源體系OpenXLab,持續(xù)推進通用人工智能的技術突破和生態(tài)構建。
一位已經(jīng)使用過此次開源平臺的自動駕駛算法研究員表示:“書生系列模型充分覆蓋了從移動可部署的小模型,到超大規(guī)模自研結構,為行業(yè)帶來了希望,尤其是它的收斂速度,大幅節(jié)省了訓練開銷,是技術落地的一大助推器。“
不僅是自動駕駛領域,智慧城市、智慧醫(yī)療、智慧交通,以及千千萬萬其他的智能化領域,都將獲得通用視覺模型帶來的技術紅利。
一位騰訊研究員大贊OpenGVLab:“能把這么大的工作開源出來真的是業(yè)界良心。簡單用了一下,確實比CLIP要更fine-grained(細粒度更高)。”
而來自學界的師生也對此感慨有加:“OpenGVLab集成了大量各種量級的state-of-the-art(先進)模型,使用起來更得心應手,省去了對不同codebase、不同模型繁瑣調研的煩惱。”
換句話說,當那些代碼和公式脫去了枯燥乏味的外衣,人們才發(fā)現(xiàn)了真正的創(chuàng)造力。而這,也是技術創(chuàng)新與平臺開源的魅力所在。
往近了說,用這款通用視覺模型打比賽,怕不是獎金多到飛起!在技術生產(chǎn)力的道路上,又誕生了一個致富小妙招!
目前,“書生”技術報告《INTERN: A New Learning Paradigm Towards General Vision》已在arXiv平臺發(fā)布。
論文地址:arxiv.org/abs/2111.08687
以上就是關于gpt模型參數(shù)量相關問題的回答。希望能幫到你,如有更多相關問題,您也可以聯(lián)系我們的客服進行咨詢,客服也會為您講解更多精彩的知識和內容。
推薦閱讀:
chatGPT用什么郵箱注冊(chesscom注冊要用什么郵箱)