ChatGPT紅得發(fā)紫,強(qiáng)得讓人類心悸,但在它的背后,還隱藏著一位真正的大佬。
可以說,與它相比,ChatGPT其實只是它的一個跟班小弟。
(資料圖)
或者說,只是它掌控家族中的一個比較靚的仔。
這位大佬自2017年問世以來,隱約已成為AI領(lǐng)域的基石王者。
它的名字叫做——Transformer。
一、Chat不重要,GPT才重要
先拆解一下ChatGPT,它由Chat與GPT兩部分組成。
聊天不重要,GPT才重要。
那什么是GPT,它的全英文是Generative Pre-trained Transformer。
翻譯過來就是——生成式預(yù)訓(xùn)練的變形金剛。
先問ChatGPT——你是誰?
我是誰,它是這樣解釋的:
GPT是基于Transformer架構(gòu)的預(yù)訓(xùn)練語言模型,可以生成自然語言文本。Transformer是基于自注意力機(jī)制的深度學(xué)習(xí)模型架構(gòu),它在自然語言處理領(lǐng)域中得到了廣泛的應(yīng)用,如機(jī)器翻譯、文本分類和生成模型等。
GPT是基于Transformer模型的改進(jìn)版本,主要是針對生成任務(wù)進(jìn)行了優(yōu)化,通過預(yù)訓(xùn)練學(xué)習(xí)自然語言的語義和語法規(guī)律,進(jìn)而生成高質(zhì)量的文本。
因此,GPT可以看作是Transformer模型在生成任務(wù)上的一個應(yīng)用擴(kuò)展。
短短的自我介紹中,ChatGPT就四次提到Transformer。
Transformer模型結(jié)構(gòu)圖,圖/Google Research
Transformer到底是什么,讓ChatGPT如此迷戀?
這只變形金剛,到底是只什么怪獸?
二、強(qiáng)大的變形金剛Transformer
Transformer的定義清晰明了:
是用于自然語言處理(NLP)的神經(jīng)網(wǎng)絡(luò)架構(gòu)。
在Transformer出現(xiàn)之前,人工智能研究領(lǐng)域百家爭鳴。
Transformer出現(xiàn)之后,格局開始變了,開始打壓如日中天的循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)和卷積神經(jīng)網(wǎng)絡(luò)(CNN)。
Transformer架構(gòu)使用了注意力機(jī)制,能夠處理長序列的依賴關(guān)系。
這讓它具有以下明顯優(yōu)點:
? 并行計算:由于自注意力機(jī)制的引入,Transformer可以實現(xiàn)并行計算,加快訓(xùn)練速度。
? 長序列處理:相比傳統(tǒng)的循環(huán)神經(jīng)網(wǎng)絡(luò)和卷積神經(jīng)網(wǎng)絡(luò),Transformer可以處理更長的序列,這是由于自注意力機(jī)制可以學(xué)習(xí)到全局的序列信息。
? 模塊化結(jié)構(gòu):Transformer由編碼器和解碼器兩部分組成,每部分都包含了多層相同的模塊,這種模塊化結(jié)構(gòu)使得Transformer更易于擴(kuò)展和調(diào)整。
Transformer在各種任務(wù)中的表現(xiàn),也將不斷得到改善和優(yōu)化,發(fā)展日新月益。
自2017年推出之后, Transformer已經(jīng)形成了自己的家族體系。
基于GPT架構(gòu),ChatGPT就隱藏在GPT-3的后面。
現(xiàn)在你就明白,它為什么叫變形金剛了。
它的確是可以演變成各種不同的角色,而且個個都挺厲害。
三、統(tǒng)一自然語言NLP
人工智能的一大研究方向,首先是自然語言處理NLP領(lǐng)域。
自從Transformers出現(xiàn)后,全球NLP領(lǐng)域的人工智能的工程師們望風(fēng)景從。
Transformers在該領(lǐng)域的進(jìn)展所向披靡,不可阻擋,原因如下:
? 模型大小和訓(xùn)練數(shù)據(jù)規(guī)模的增加:大規(guī)模的Transformers模型,如GPT-3.5、bert、T5等,有些模型參數(shù)量達(dá)到千億級別,具有更強(qiáng)表達(dá)能力。
? 多語言和跨語言應(yīng)用:由于Transformers模型具有更強(qiáng)泛化能力,因此可以被應(yīng)用于多語言和跨語言任務(wù),如機(jī)器翻譯、跨語言文本分類等。
? 與其他模型的結(jié)合和拓展:與其他模型結(jié)合使用,如結(jié)合卷積神經(jīng)網(wǎng)絡(luò)(CNN)或循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)進(jìn)行多模態(tài)學(xué)習(xí)等。
? 解釋性和可解釋性:隨著越來越多的機(jī)器學(xué)習(xí)算法被應(yīng)用于實際場景,對于模型的解釋性和可解釋性要求也越來越高。
LLM成長的時間線,圖/amatriain.net
在自然語言處理NLP領(lǐng)域,總體的趨勢是:LSTM/CNN→Transformer。
NLP領(lǐng)域分為兩大不同類型的任務(wù):
? 理解類人工智能
? 生成式人工智能
這兩個領(lǐng)域的研發(fā),已經(jīng)收斂到了兩個不同的預(yù)訓(xùn)練模型框架里:
? 自然語言理解,技術(shù)體系統(tǒng)一到了以Bert為代表的“雙向語言模型預(yù)訓(xùn)練+應(yīng)用Fine-tuning”模式;
? 自然語言生成類任務(wù),其技術(shù)體系則統(tǒng)一到了以GPT為代表的“自回歸語言模型(即從左到右單向語言模型)+Zero /Few Shot Prompt”模式。
而這兩大模型都是基于Transformers,而且兩者也出現(xiàn)了技術(shù)統(tǒng)一趨向。
在自然語言處理NLP這個領(lǐng)域,Transformer基本上已經(jīng)一統(tǒng)天下。
以至于那些還沉迷于CNN,RNN的工程師被警告:
放棄戰(zhàn)斗吧,向Transformer投降!
四、藏不住的野心:統(tǒng)一計算機(jī)視覺CV
除了NLP,人工智能的另一分支是計算機(jī)視覺CV。
Transformer最開始,只是專注于自然語言的處理。NLP曾經(jīng)落后于計算機(jī)視覺,但是Transformer的出現(xiàn)迅速地改變了現(xiàn)狀。
一出生就風(fēng)華正茂,用來形容Transformer毫不為過。它催生了一大批舉世矚目的模型,達(dá)到了令人類不安的程度。
隨著Transformer統(tǒng)一了NLP,計算機(jī)視覺領(lǐng)域顯然受到了啟發(fā)。
一直沉迷于CNN神經(jīng)網(wǎng)絡(luò)中的科學(xué)家,開始想知道Transformer是否可以在計算機(jī)視覺方面取得類似的效果。
不試不知道,一試嚇一跳。
Transformer在計算機(jī)視覺領(lǐng)域同樣治療效果明顯:
? 圖像分類
ViT(Vision Transformer)是一種將Transformer應(yīng)用于圖像分類的模型。在ImageNet等基準(zhǔn)數(shù)據(jù)集上取得了與卷積神經(jīng)網(wǎng)絡(luò)(CNN)相媲美的結(jié)果。
圖/Google Research
? 目標(biāo)檢測
DETR(DEtection TRansformer)是基于Transformer的目標(biāo)檢測模型。DETR在COCO數(shù)據(jù)集上取得了與 Faster R-CNN 方法相當(dāng)?shù)慕Y(jié)果。
? 語義分割
Transformer可以用于語義分割任務(wù),其中每個像素被視為一個token。在Cityscapes、ADE20K和COCO-Stuff等數(shù)據(jù)集上取得了領(lǐng)先的結(jié)果。
以上例子都是Transformer的應(yīng)用,它在計算機(jī)視覺領(lǐng)域也是虎視耽耽。
五、花8分鐘時間,拆解Transformer這只變形金剛
Transformer為何如此強(qiáng)大,我們花8分鐘來解剖它。
以下內(nèi)容來自Jay Alammar:
Transformers可以被看做一個黑盒,以文本翻譯中的法-英翻譯任務(wù)為例,這個黑箱接受一句法語作為輸入,輸出一句相應(yīng)的英語。
那么在這個黑盒子里面都有什么呢?
里面主要有兩部分組成:Encoder 和 Decoder。
輸入一個文本的時候,該文本數(shù)據(jù)會先經(jīng)過一個叫Encoders的模塊,對該文本進(jìn)行編碼。然后將編碼后的數(shù)據(jù)再傳入一個叫Decoders的模塊進(jìn)行解碼,解碼后就得到了翻譯后的文本。
Encoders為編碼器,Decoders為解碼器。
細(xì)心的同學(xué)可能已經(jīng)發(fā)現(xiàn)了,上圖中的Decoders后邊加了個s,那就代表有多個編碼器了唄,沒錯,這個編碼模塊里邊,有很多小的編碼器,一般情況下,Encoders里邊有6個小編碼器,同樣的,Decoders里邊有6個小解碼器。
在編碼部分,每一個的小編碼器的輸入,是前一個小編碼器的輸出。而每一個小解碼器的輸入,不光是它的前一個解碼器的輸出,還包括了整個編碼部分的輸出。
那每一個小編碼器里邊又是什么呢?
放大一個encoder,發(fā)現(xiàn)里邊的結(jié)構(gòu)是一個自注意力機(jī)制+一個前饋神經(jīng)網(wǎng)絡(luò)。
先來看下Self-attention是什么樣子的。
通過幾個步驟來解釋:
(1) 首先,Self-attention的輸入就是詞向量,即整個模型的最初的輸入是詞向量的形式。自注意力機(jī)制,顧名思義就是自己和自己計算一遍注意力,即對每一個輸入的詞向量,我們需要構(gòu)建Self-attention的輸入。
(2) 接下來就要計算注意力得分了,這個得分是通過計算Q與各個單詞的K向量的點積得到的。以X1為例,分別將Q1和K1、K2進(jìn)行點積運(yùn)算,假設(shè)分別得到得分112和96。
(3) 將得分分別除以一個特定數(shù)值8(K向量的維度的平方根,通常K向量的維度是64)這能讓梯度更加穩(wěn)定。
(4) 將上述結(jié)果進(jìn)行softmax運(yùn)算得到,softmax主要將分?jǐn)?shù)標(biāo)準(zhǔn)化,使他們都是正數(shù)并且加起來等于1。
(5) 將V向量乘上softmax的結(jié)果,這個思想主要是為了保持我們想要關(guān)注的單詞的值不變,而掩蓋掉那些不相關(guān)的單詞。
(6) 將帶權(quán)重的各個V向量加起來,至此,產(chǎn)生在這個位置上(第一個單詞)的Self-attention層的輸出,其余位置的Self-attention輸出也是同樣的計算方式。
將上述的過程總結(jié)為一個公式就可以用下圖表示:
Self-attention層到這里就結(jié)束了嗎?
還沒有,論文為了進(jìn)一步細(xì)化自注意力機(jī)制層,增加了“多頭注意力機(jī)制”的概念,這從兩個方面提高了自注意力層的性能。
第一個方面,它擴(kuò)展了模型關(guān)注不同位置的能力,這對翻譯一下句子特別有用,因為我們想知道“it”是指代的哪個單詞。
第二個方面,它給了自注意力層多個“表示子空間”。對于多頭自注意力機(jī)制,不止有一組Q/K/V權(quán)重矩陣。
經(jīng)過多頭注意力機(jī)制后,就會得到多個權(quán)重矩陣Z,我們將多個Z進(jìn)行拼接就得到了Self-attention層的輸出:
上述我們經(jīng)過了self-attention層,我們得到了self-attention的輸出,self-attention的輸出即是前饋神經(jīng)網(wǎng)絡(luò)層的輸入,然后前饋神經(jīng)網(wǎng)絡(luò)的輸入只需要一個矩陣就可以了,不需要八個矩陣,所以我們需要把這8個矩陣壓縮成一個,我們怎么做呢?只需要把這些矩陣拼接起來然后用一個額外的權(quán)重矩陣與之相乘即可。
最終的Z就作為前饋神經(jīng)網(wǎng)絡(luò)的輸入。
接下來就進(jìn)入了小編碼器里邊的前饋神經(jīng)網(wǎng)模塊了。
然后在Transformer中使用了6個encoder,為了解決梯度消失的問題,在Encoders和Decoder中都是用了殘差神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu),即每一個前饋神經(jīng)網(wǎng)絡(luò)的輸入,不光包含上述Self-attention的輸出Z,還包含最原始的輸入。
上述說到的encoder是對輸入(機(jī)器學(xué)習(xí))進(jìn)行編碼,使用的是自注意力機(jī)制+前饋神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu),同樣的,在ecoder中使用的也是同樣的結(jié)構(gòu)。
以上,就講完了Transformer編碼和解碼兩大模塊,那么我們回歸最初的問題,將“Je suis etudiant”翻譯成“I am a student”,解碼器輸出本來是一個浮點型的向量,怎么轉(zhuǎn)化成“I am a student”這兩個詞呢?
這個工作是最后的線性層接上一個Softmax,其中線性層是一個簡單的全連接神經(jīng)網(wǎng)絡(luò),它將解碼器產(chǎn)生的向量投影到一個更高維度的向量(logits)上。
假設(shè)我們模型的詞匯表是10000個詞,那么logits就有10000個維度,每個維度對應(yīng)一個惟一的詞的得分。之后的Softmax層將這些分?jǐn)?shù)轉(zhuǎn)換為概率。選擇概率最大的維度,并對應(yīng)地生成與之關(guān)聯(lián)的單詞作為此時間步的輸出就是最終的輸出啦!
假設(shè)詞匯表維度是6,那么輸出最大概率詞匯的過程如下:
以上就是Transformer的框架了,但是還有最后一個問題,我們都知道RNN中的每個輸入是時序的,是又先后順序的,但是Transformer整個框架下來并沒有考慮順序信息,這就需要提到另一個概念了:“位置編碼”。
Transformer中確實沒有考慮順序信息,那怎么辦呢,我們可以在輸入中做手腳,把輸入變得有位置信息不就行了,那怎么把詞向量輸入變成攜帶位置信息的輸入呢?
我們可以給每個詞向量加上一個有順序特征的向量,發(fā)現(xiàn)sin和cos函數(shù)能夠很好的表達(dá)這種特征,所以通常位置向量用以下公式來表示:
六、Transformer,在AI領(lǐng)域能形成大統(tǒng)一理論嗎?
從以上技術(shù)可以看出:Transformer是通用深度學(xué)習(xí)模型。
它的適用性非常強(qiáng),原因在于它的自注意力機(jī)制(self-attention mechanism),可以更好地處理序列數(shù)據(jù)。
那這里就要談一個更前沿的技術(shù):跨模態(tài)。
也就是人工智能領(lǐng)域,能否創(chuàng)造一個可以處理語言、文字、圖片、視頻的大統(tǒng)一模型。
如果在物理世界,那就有點像愛因斯坦追求的“大統(tǒng)一理論”。
在跨模態(tài)應(yīng)用中,Transformer模型通常使用圖像和文本特征作為輸入信息。
? 使用自注意力機(jī)制來學(xué)習(xí)兩個模態(tài)之間的關(guān)系。
? 使用多模態(tài)自注意力機(jī)制(multi-modal self-attention)來處理多個模態(tài)之間的關(guān)系。
Transformer應(yīng)用于跨模態(tài)任務(wù)的效果非常好,在跨模態(tài)上取得成功的幾個例子:
CLIP:CLIP是一種使用Transformer的聯(lián)合訓(xùn)練框架,同時使用圖像和文本來預(yù)訓(xùn)練模型。該模型能夠?qū)⒆匀徽Z言描述和圖像聯(lián)系起來,在多個視覺推理任務(wù)上取得了非常出色的表現(xiàn)。
DALL-E:DALL-E是OpenAI發(fā)布的一個模型,該模型通過預(yù)訓(xùn)練得到了非常強(qiáng)大的生成能力,在生成包括飛行的大象、色彩斑斕的沙漏等具有挑戰(zhàn)性的圖像時表現(xiàn)出色。
通過DALL-E生成的圖像
AI繪畫的老玩家一定知道這兩個產(chǎn)品。
Transformer在各個方向上齊頭并進(jìn),形成了龐大的Transformer家族。
那么,Transformer會在AI領(lǐng)域能形成大統(tǒng)一理論嗎?
現(xiàn)在得出這樣的結(jié)論為時過早,AI領(lǐng)域應(yīng)用非常復(fù)雜,需要結(jié)合各種技術(shù)和算法才能解決,期待單一的模型解決所有問題,有點難。
但人類對于AGI的期待,又是實實在在的。
七、記住那些無名的技術(shù)英雄
Transformer如此強(qiáng)大,仍然沒有幾個人知道。就算是背后站著谷歌這樣的巨人,同樣被大眾忽略。
此時光芒四射的ChatGPT,連太陽的光輝都能夠遮蓋??蓪嶋H上,沒有Transformer的開源,就沒有ChatGPT。
從技術(shù)譜系上來看,ChatGPT只是Transformer家族中的一員。其它譜系的成員,同樣表現(xiàn)優(yōu)秀且杰出。
如果一定要說未來誰能引領(lǐng)人工智能世界,我更相信是Transformer而非ChatGPT。
這里引出來另一個問題,我們不能只看到成功的山姆·阿爾特曼(Sam Altman),還要看到ChatGPT后面更多的技術(shù)英雄。例如:
Ashish Vaswani等人:提出自注意力機(jī)制Transformer模型;
Bradly C. Stadie等人:提出RLHF這種人類反饋機(jī)制;
Ilya Sutskever, Oriol Vinyals等人:提出Seq2Seq模型;
EleutherAI團(tuán)隊:創(chuàng)建GPT-Neo模型的社區(qū)項目,是GPT-3的一個分支。
Hugging Face團(tuán)隊:開發(fā)了PyTorch和TensorFlow庫。
Brown等人:在GPT-3論文中提出了新穎的訓(xùn)練策略。
圖/amatriain.net
這樣的人還有很多,也許他們只是充滿著理想主義的科學(xué)家、工程師、數(shù)學(xué)家和程序員,他們在商業(yè)上毫無追求,也不是最后的名利收割者。
但是,我們需要記住這些人。
當(dāng)我看著Transformer那張經(jīng)典的技術(shù)原理圖時,莫名會有一種心悸,甚至百感交集,這里面容納了上千上萬智者的心血啊。真的美,又真的讓人痛。對知識的追求,千折百回,這是我們?nèi)祟愖钪档抿湴恋钠焚|(zhì)吧。
當(dāng)你看到Transformer的原理圖時,你會感動嗎?
本文來自微信公眾號:量子學(xué)派 (ID:quantumschool),作者:十七進(jìn)制
關(guān)鍵詞: transformer self-attention
網(wǎng)站首頁 |網(wǎng)站簡介 | 關(guān)于我們 | 廣告業(yè)務(wù) | 投稿信箱
Copyright © 2000-2020 m.netfop.cn All Rights Reserved.
中國網(wǎng)絡(luò)消費網(wǎng) 版權(quán)所有 未經(jīng)書面授權(quán) 不得復(fù)制或建立鏡像
聯(lián)系郵箱:920 891 263@qq.com