九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
后GPT書:從GPT-3開始,續(xù)寫Transformer龐大家族系譜
機(jī)器之心分析師網(wǎng)絡(luò)

作者:王子嘉

編輯:H4O

一文帶你了解Transformer 大家族。

最近,大語言模型軍備戰(zhàn)爭占據(jù)了朋友圈的大部分篇幅,關(guān)于這些模型能做什么和有什么商業(yè)價值,已經(jīng)有很多文章探討。然而,作為一個在人工智能領(lǐng)域浸淫多年的小小研究員,我更關(guān)注的是這場軍備競賽背后的技術(shù)原理,以及這些模型是如何工程化并造福人類的。相比于看這些模型怎樣賺錢和工程化以便為更多人帶來好處,我更想探索的是這個現(xiàn)象背后的原因,以及在 AI 取代人類之前,我們這些研究員還能為實現(xiàn) “被 AI 取代然后光榮退休” 做些什么。

三年前,當(dāng) GPT-3 在技術(shù)界掀起軒然大波時,我曾嘗試以史書的方式剖析 GPT 背后的龐大家族。我按時間順序梳理了 GPT 背后的技術(shù)脈絡(luò)(圖 1),并試圖解釋 GPT 的成功背后的技術(shù)原理。今年,GPT-3 的小兒子 ChatGPT 似乎更加聰明,能夠用聊天的方式與人交流,這讓更多人了解了自然語言處理領(lǐng)域的最新進(jìn)展。在這個歷史性的時刻,作為 AI 史官,我們或許應(yīng)該花些時間回顧一下最近幾年發(fā)生了什么。第一篇文章是以 GPT-3 作為起點,所以這個系列其實是對于后 GPT 時代的記錄(后 GPT 書),而在探索 GPT 家族的變化時,我意識到大多數(shù)故事都與 Transformer 有關(guān),因此這篇文章的名字就是 Transformer 世家。

圖 1.  GPT 舊族譜

前情回顧

在正式開始介紹 Transformer 世家前,我們先按照圖 1 回顧一下過去發(fā)生了什么。從 Word Embedding [1,2] 開始,向量(一串?dāng)?shù)字)以一種奇特但有效的方式將文字的語義包含了進(jìn)來,圖 2 展示這種表征方式的說明:用數(shù)字表示的(國王 - 男人 + 女人 = 女王)。以這個為基礎(chǔ),這一支龐大的 NLP(自然語言處理)家族就創(chuàng)立了。

圖 2.  Word2Vec 圖解 (King - Man + Woman = Queen)
 
在這之后,他的大兒子 ELMo [3] 發(fā)現(xiàn)了語境的重要性,比如以下兩句話:

“哦!你買了我最愛的披薩,我愛死你了!”
“啊,我可真愛死你了!你把我最愛的披薩給蹭到地上了?”
“我愛死你了” 的意思顯然不同。ELMo 順利的通過 “給定一個模型一串詞,然后讓模型預(yù)測下一個詞和上一個詞(前后文語境)” 解決了這個問題。
與此同時,Word Embedding 的一個遠(yuǎn)房表親發(fā)現(xiàn)了另一個問題 —— 人在理解一句話的時候,是會有重點的關(guān)注一部分詞的,一個很明顯的現(xiàn)象就是我們在讀自己母語的時候很多錯別字會被輕易地忽略掉,這是因為我們在理解這段話的時候注意力并不在這上面。因此,他提出了 Attention(注意力)機(jī)制 [4],但是此時的 Attention 機(jī)制很初期,并不能單獨工作,因此只能依附在類似于 RNN,LSTM 這種序列模型上。圖 3 展示了 attention 機(jī)制與 RNN 的結(jié)合過程,也說明了為什么 Attention 自身無法單獨工作。這里簡單說一下 NLP 模型的工作過程,首先我們有一句話,比如 “我愛你中國”,這就是五個字符,可以變成圖 3 里的 x_1-x_5,然后每個字符會變成剛剛所說的 word embedding (一串?dāng)?shù)字),也就是圖 3 里的 h_1-h_5,然后他們再最后變成輸出,比如 “I love China”(翻譯任務(wù)),也就是圖 3 里的 x_1’-x_3’。圖 3 里剩下沒說的部分就是 attention 機(jī)制了,也就是圖 3 里的 A,他相當(dāng)于給每個 h 賦予了一個權(quán)重,這樣我們就知道在轉(zhuǎn)換當(dāng)前這個詞的時候,哪些字比較重要了。具體的細(xì)節(jié)可以參考我最開始寫的那篇文章(從 word2vec 開始,說下 GPT 龐大的家族系譜 )??梢钥闯?,這里的數(shù)字表征是整個任務(wù)的基礎(chǔ),這也是為什么 Attention 機(jī)制無法單獨工作的原因。

圖 3.  早期照片 - Attention 與 RNN 強(qiáng)強(qiáng)聯(lián)合(source: Attention for RNN Seq2Seq Models (1.25x speed recommended) - YouTube)

此時,作為驕傲的皇族直系親屬,Transformer 不認(rèn)可這種依附他人的工作方式,在論文 “Attention is all you need”(你只需要注意力機(jī)制就夠了)[5] 中提出了自己獨立的方式, 將 “注意力機(jī)制” 加了一個字變成了 “自注意力機(jī)制”,只用注意力機(jī)制就能生成那串?dāng)?shù)字。我們用中醫(yī)開藥來說明這個變化。最開始的 Attention 機(jī)制可以說是每種材料的劑量,但是最終去拿藥的時候,藥品是存在 RNN 或者 LSTM 這種采藥者手里的,我們開出的藥方當(dāng)然也要基于藥房(RNN、LSTM)里有什么藥。Transformer 做的只是將采藥權(quán)要了回來(加入了 value 矩陣),然后換了一種開藥方的方式(加入 key 和 query 矩陣)。此時,Source 可以看作一個中藥鋪子的儲物箱,儲物箱里的藥品由地址 Key(藥品名)和值 Value(藥品)組成,當(dāng)前有個 Key=Query(藥方)的查詢,目的是取出儲物箱里對應(yīng)的 Value 值(藥品),即 Attention 數(shù)值。通過 Query 和儲物箱內(nèi)元素 Key 的地址進(jìn)行相似性比較來尋址,之所以說是軟尋址,指的是我們不只從儲物箱里面找出一中藥物,而是可能從每個 Key 地址都會取出內(nèi)容,取出內(nèi)容的重要性(量的多少)根據(jù) Query 和 Key 的相似性來決定,之后對 Value 進(jìn)行加權(quán)求和,這樣就可以取出最終的 Value 值(一副中藥),也即 Attention 值。所以不少研究人員將 Attention 機(jī)制看作軟尋址的一種特例,這也是非常有道理的 [6]。

從此之后,Transformer 正式開始帶領(lǐng)家族走向繁榮。

Transformer 繼位

其實從圖 1 也可以看出,transformer 就是爺爺家族里子嗣最旺盛的一支了,也證實了當(dāng)年”Attention is all you need” 這個題目狂的確實有理有據(jù)。雖然剛剛講過他提出的自注意力機(jī)制是什么,前面那篇文章 (從 word2vec 開始,說下 GPT 龐大的家族系譜 ) 已經(jīng)詳細(xì)講過 transformer 的演化過程了,這里還是快速給新來的同學(xué)回顧一下 transformer 這個架構(gòu)到底是什么。

簡單來說,我們可以將 Transformer 看作一個 “演員”,對這個 “演員” 來說,編碼器就像是演員的記憶,負(fù)責(zé)將臺詞轉(zhuǎn)化為一個中間表示(抽象成腦海里我們不知道是什么的東西,也就是演員的理解),而解碼器則像是演員的表演,負(fù)責(zé)將腦海里的理解轉(zhuǎn)化成熒幕上的展示。這里面最重要的自注意力機(jī)制則充當(dāng)了演員的專注力,能夠自動調(diào)整演員在不同位置的注意力,從而更好地理解所有臺詞,使其在不同的情境中表演得更加自然流暢。

更具體一點來說,我們可以將 Transformer 看作一個大型 “語言處理工廠”。在這個工廠中,每個工人(編碼器)都負(fù)責(zé)處理輸入序列中的一個位置(比如說一個字),對其進(jìn)行加工和轉(zhuǎn)換,然后將其傳遞給下一個工人(編碼器)。每個工人都有一份詳細(xì)的工作說明書(自注意力機(jī)制),其中詳細(xì)描述了如何處理當(dāng)前位置的輸入以及如何與前面的位置建立關(guān)聯(lián)。在這個工廠中,每個工人都可以同時處理自己的任務(wù),因此整個工廠可以高效地處理大量的輸入數(shù)據(jù)。

Transformer 一登場,直接因為其強(qiáng)大的實力和兩個爭氣的兒子(BERT 和 GPT)毫無懸念的奪下皇位。BERT (Bidirectional Encoder Representations from Transformers) [1] 繼承了 Transformer 的 Encoder 部分,贏得了前半程比賽,但是因為其限制性,在通用性上輸給了 GPT。老實的 GPT (Generative Pre-trained Transformer)[7-10] 繼承了 Decoder 部分,老老實實從頭學(xué)起,學(xué)習(xí)人類的交流方式,最終在后半程實現(xiàn)了了反超。

當(dāng)然,Transformer 的野心顯然不止于此,”Attention is all you need”,指的并不只是 NLP 領(lǐng)域。在介紹 GPT 和 BERT 之間的恩怨情仇之前,先看看他們老當(dāng)益壯的父親都做了些什么吧。
 
新族譜 - 諸侯林立

“父親,時代變了。我們家族會因為我的努力,走上真正的輝煌。”
——Transformer
在了解了 Transformer 的機(jī)制之后,我們可以來看看在 Transformer 的強(qiáng)力發(fā)展下,Transformer 世家現(xiàn)在發(fā)展到什么程度了(新族譜)。從前面的 “演員” 例子可以看出,Transformer 代表了一種符合人類邏輯的學(xué)習(xí)方式,因此它不僅可以處理文字,還可以處理圖像。圖 2 總結(jié)了 Transformer 世家強(qiáng)大的家族背景。除了讓 GPT 和 BERT 在最開始的 NLP(自然語言處理)領(lǐng)域繼續(xù)開疆裂土外,Transformer 還開始涉足計算機(jī)視覺領(lǐng)域。它的小兒子(谷歌提出的 ViT 等)也在這個領(lǐng)域發(fā)光發(fā)熱。2021 年,Vision Transformer 迎來了大爆發(fā),一大批基于 Vision Transformer 的工作席卷了計算機(jī)視覺任務(wù)。自然而然地,作為一個世家,Transformer 家族總會互通有無,連接文本和圖像(AI 作畫)的 CLIP 應(yīng)運(yùn)而生。2022 年底,Stable Diffusion 在 ChatGPT 之前風(fēng)光無限。除此之外,CLIP 還為 Transformer 世家打開了多模態(tài)的新大門。除了文字和圖像,文字是否也能做音樂,是否也能畫圖?多模態(tài)和多任務(wù) Transformer 也應(yīng)運(yùn)而生??傊?,每個領(lǐng)域都是一個諸侯,一個 NLP 領(lǐng)域白手起家的 Transformer,在努力發(fā)展后成了可以分封諸侯的 “周王”。

諸侯林立,當(dāng)是盛世。

 圖 4.  Transformer 世家日益繁盛的家族族譜
 
牛刀小試 - Vision Transformer [12]

在說 GPT 之前,還是要先說說 Transformer 做出的第一個大膽嘗試 - 那就是讓小兒子去摻和 CV 領(lǐng)域。先看看小兒子生平:

  • 其父親 Transformer 出生于 2017 年一篇叫做 Attention is All You Need 的論文中。
  • 2019 年,Google 提出了一種 Vision Transformer(ViT)的架構(gòu),可以直接處理圖像,而不需要使用卷積層(CNN)。論文題目一如既往的直白:“An image is worth 16x16 words”(一張圖片就是 16*16 個詞)。如圖 5 所示,它的基本思想是把輸入的圖像分成一系列的小塊,每個小塊可以理解成過去處理文章時候的一個文字,然后把這些小塊轉(zhuǎn)換成向量,就像在普通的 Transformer 中處理文字一樣。如果說在自然語言處理(NLP)領(lǐng)域,Transformer 的注意力機(jī)制試圖捕捉文本中不同單詞之間的關(guān)系,那么在計算機(jī)視覺(CV)領(lǐng)域,ViT 則試圖捕捉圖像中不同部分之間的關(guān)系。

圖 5.  ViT 如何處理圖片(source: Are Transformers better than CNN’s at Image Recognition? | by Arjun Sarkar | Towards Data Science)
 
在那之后,各種基于 Transformer 的模型層出不窮,而且在相應(yīng)的任務(wù)上都取得了超越 CNN 的成績。那 Transformer 的優(yōu)勢是什么呢,我們先回到電影的例子上,看看 Transformer 和 CNN 的區(qū)別:

想象你是一位導(dǎo)演,要拍攝一部電影,你需要給演員安排好位置,把不同的元素放在合適的位置上,比如說,將演員放在適當(dāng)?shù)谋尘跋?,使用合適的光線,使整個畫面看起來和諧美觀。對于 CNN 來說,它像是一個專業(yè)的攝影師,會逐像素地拍攝每一幀畫面,然后從中提取出一些邊緣、紋理等低層次特征。然后,它將這些特征組合起來,形成更高層次的特征,例如人臉、動作等,最終得到一幀畫面。隨著電影的進(jìn)行,CNN 會不斷重復(fù)這個過程,直到完成整部電影的拍攝。

而對于 ViT 來說,它像是一個藝術(shù)指導(dǎo),會把整個畫面看作是一個整體,考慮到背景、光線、顏色等因素,為每個演員分配合適的位置和角度,創(chuàng)造出一個完美的畫面。然后,ViT 會把這些信息匯總成一個向量,并使用多層感知器對它們進(jìn)行處理,最終得到一幀畫面。隨著電影的進(jìn)行,ViT 會不斷重復(fù)這個過程,直到完成整部電影的創(chuàng)作。

回到圖像處理任務(wù)上,假設(shè)我們有一張 224x224 像素的貓的圖片,我們想要用一個神經(jīng)網(wǎng)絡(luò)對它進(jìn)行分類。如果我們使用傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò),它可能會采用多個卷積層和池化層來逐漸縮小圖像的大小,最終得到一個較小的特征向量,然后通過全連接層進(jìn)行分類。這種方法的問題是,在卷積和池化的過程中,我們會逐漸丟失圖像中的信息,因為我們不能同時考慮所有像素點之間的關(guān)系。此外,由于卷積和池化層的順序限制,我們無法進(jìn)行全局的信息交互。相比之下,如果我們使用 Transformer 和 self-attention 機(jī)制來處理這個圖像,我們可以直接將整個圖像視為一個序列,并對它進(jìn)行 self-attention 計算。這種方法不會丟失任何像素點之間的關(guān)系,并且可以進(jìn)行全局的信息交互。

此外,由于 self-attention 計算是可并行化的,因此我們可以同時處理整個圖像,大大加快了計算速度。舉個例子,假設(shè)我們有一個句子:“I like to eat ice cream”, 其中包含 6 個單詞?,F(xiàn)在假設(shè)我們正在使用一個基于自注意力機(jī)制的模型來理解這個句子,Transformer 可以:

  • 最小化每層的總計算復(fù)雜度:基于自注意力機(jī)制的模型中,我們只需要計算每個單詞與所有其他單詞之間的注意力權(quán)重,這樣每一層的計算量只取決于輸入長度而不是隱藏層的大小。在這個例子中,輸入長度為 6 個單詞,因此每一層的計算復(fù)雜度只取決于這 6 個單詞的數(shù)量。
  • 最大化可并行化的計算量:基于自注意力機(jī)制的模型可以同時計算每個單詞與其他所有單詞之間的注意力權(quán)重,因此計算可以高度并行化,從而加速模型的訓(xùn)練和推斷。

然而,ViT 需要大規(guī)模數(shù)據(jù)集和高分辨率圖像才能發(fā)揮其全部潛力 ,因此,雖然 Vision Transformers 在 CV 領(lǐng)域表現(xiàn)不凡,CNN 在計算機(jī)視覺領(lǐng)域的應(yīng)用和研究仍然更為廣泛,并且在目標(biāo)檢測和分割等任務(wù)中具有優(yōu)勢 。

但是沒關(guān)系,你做的已經(jīng)夠好了,你父親涉足 CV 的初衷也不是為了取代 CNN,他有更宏大的目標(biāo)。

這個目標(biāo)的基礎(chǔ),就是前面我說的 “此外”。
 
初露崢嶸 - CLIP [13]

前面我說過,Transformer 還有更宏大的目標(biāo),那就是 “大模型”,超級超級大的模型。除了我在前一篇文章里說的 transformer 可以更好地獲得全局信息外,更小的計算復(fù)雜度和更好的并行度成為了支撐大模型的基礎(chǔ)。

2021 年,除了 Vision Transformer 有了長足進(jìn)展以外,GPT 那一支還在緊鑼密鼓的籌備 GPT3.5,閑不下來的勞模 Transformer 又引領(lǐng)了一個新的高潮 —— 連結(jié)文本和圖像。這個高潮也為 “大模型” 計劃打響了除 NLP 領(lǐng)域外的第一槍。而此時,Transformer 在視覺任務(wù)上的缺點,在這里反而變成了優(yōu)勢?!盫iT 需要大規(guī)模數(shù)據(jù)集和高分辨率圖像才能發(fā)揮其全部潛力 “如果換個說法,就是 “ViT 可以處理大規(guī)模數(shù)據(jù)集和高分辨率圖像”。

老規(guī)矩,先說 CLIP 是什么。

CLIP 的全稱是 Contrastive Language-Image Pre-Training,很明顯其基本思想就是傳統(tǒng) CV 領(lǐng)域里的對比學(xué)習(xí) (Contrastive learning)。當(dāng)我們學(xué)習(xí)新知識時,我們會閱讀不同的書籍和文章,獲取大量的信息。但是,我們并不是只記住了每個書籍或文章中的所有單詞和句子。相反,我們會試圖找到這些信息之間的相似性和區(qū)別。例如,我們可能會注意到在不同的書中,某個主題的描述方式和關(guān)鍵概念的表述方式可能會有所不同,但它們所描述的概念本質(zhì)上是相同的。這種尋找相似性和區(qū)別的方式就是對比學(xué)習(xí)的基本思想之一。我們可以將每本書或文章看作不同的樣本,而相同主題的書籍或文章可以被視為來自同一類別的不同實例。在對比學(xué)習(xí)中,我們會訓(xùn)練模型來學(xué)習(xí)如何區(qū)分這些不同類別的樣本,以此來學(xué)習(xí)它們的相似性和區(qū)別。

接下來更學(xué)術(shù)一點,假設(shè)你想訓(xùn)練一個模型來識別汽車品牌。你可以有一組帶標(biāo)簽的汽車圖像,每個圖像都有一個品牌標(biāo)簽,例如 “奔馳”、“寶馬”、“奧迪” 等等。在傳統(tǒng)的監(jiān)督學(xué)習(xí)中,您可以將圖像和品牌標(biāo)簽一起輸入模型,并讓模型學(xué)習(xí)如何預(yù)測正確的品牌標(biāo)簽。

但在對比學(xué)習(xí)中,你可以使用未標(biāo)記的圖像來訓(xùn)練模型。假設(shè)你有一組未標(biāo)記的汽車圖像,你可以將這些圖像分為兩組:正樣本和負(fù)樣本。正樣本是同一品牌的不同角度的圖像,而負(fù)樣本是不同品牌的圖像。接下來,就可以使用對比學(xué)習(xí)來訓(xùn)練模型,以便將同一品牌的正樣本彼此靠近,而將不同品牌的負(fù)樣本彼此遠(yuǎn)離。這樣,模型可以學(xué)會從圖像中提取品牌特定的特征,而不必明確地告訴它每個圖像的品牌標(biāo)簽。

很明顯,這是一個自監(jiān)督學(xué)習(xí)模型,CLIP 也是一個類似的自監(jiān)督學(xué)習(xí)模型,只不過它的目標(biāo)是將語言和圖像聯(lián)系起來,從而使計算機(jī)能夠理解文本和圖像之間的關(guān)系。

想象你正在學(xué)習(xí)一組詞匯表,其中每個單詞都有其定義和相應(yīng)的圖像。對于每個單詞和其對應(yīng)的圖像,你可以將它們視為一對(pair)。你的任務(wù)是找出這些單詞和圖像之間的相互關(guān)系,即哪些單詞與哪些圖像匹配,哪些不匹配。

如圖 6 所示,對于對比學(xué)習(xí)算法而言,這些單詞和圖像對就是所謂的 “anchor”(錨定樣本)和 “positive”(正樣本)?!癮nchor” 指的是我們想要學(xué)習(xí)的對象,而 “positive” 則是與 “anchor” 匹配的樣本。與之相對的是 “negative”(負(fù)樣本),即與 “anchor” 不匹配的樣本。

在對比學(xué)習(xí)中,我們將 “anchor” 和 “positive” 組成一對,并嘗試將它們區(qū)分開來。同時,我們也會將 “anchor” 和 “negative” 組成一對,并嘗試將它們區(qū)分開來。這個過程可以理解為是在尋找 “anchor” 和 “positive” 之間的相似性,以及在排除 “anchor” 和 “negative” 之間的相似性。

圖 6. 對比學(xué)習(xí)(Contrastive Learning)圖示 [14]。Anchor 就是原始圖像,positives 一般是經(jīng)過裁切、旋轉(zhuǎn)后的原始圖像,或是已知的相同類別的圖像,negatives 可以被簡單粗暴的定義為未知的圖像(有可能是同一類別),或者是已知的不同類別的圖像。

為了達(dá)到這個目標(biāo),CLIP 首先對大量的圖像和文本進(jìn)行預(yù)訓(xùn)練,然后使用預(yù)訓(xùn)練的模型進(jìn)行下游任務(wù),例如分類、檢索和生成等。CLIP 模型采用了一種新的自監(jiān)督學(xué)習(xí)方法,即同時處理文本和圖像,通過訓(xùn)練來學(xué)習(xí)如何將它們聯(lián)系起來。它在文本和圖像之間共享注意力機(jī)制,并使用一組簡單的可調(diào)參數(shù)來學(xué)習(xí)這個映射。它用的是基于 transformer 的文本編碼器和基于 CNN 的圖像編碼器,然后計算圖像和文本嵌入之間的相似度。CLIP 通過使用對比學(xué)習(xí)目標(biāo)來學(xué)習(xí)關(guān)聯(lián)圖像和文本,該目標(biāo)最大化數(shù)據(jù)中存在的圖像 - 文本對之間的一致性,并最小化隨機(jī)采樣的圖像 - 文本對之間的一致性。

圖 7. CLIP 圖示 [13]。相比圖 6,可以簡單理解成圖 6 中的 positive 和 negative 都是文字了。

舉個例子,如果我們想用 CLIP 來識別一張圖片是否是 '紅色的沙灘',我們可以輸入這個文本描述和一張圖片,CLIP 將生成一個向量對來表示它們的聯(lián)系。如果這個向量對的距離很小,那么就說明這張圖片可能是 '紅色的沙灘',反之則不是。通過這種方法,CLIP 可以實現(xiàn)圖像分類和圖像搜索等任務(wù)。

回到全稱,CLIP 的最后一個詞是 pretraining,所以其本質(zhì)還是預(yù)訓(xùn)練模型,但是它可以用于涉及匹配圖像和文本的各種下游任務(wù),例如圖像分類、零樣本學(xué)習(xí)和圖像描述生成等。例如,CLIP 可用于將圖像分類為自然語言標(biāo)簽給出的類別,例如 “狗的照片” 或 “風(fēng)景畫”。CLIP 還可用于通過使用以 CLIP 提取的圖像特征為條件的語言模型來為圖像生成說明文字。此外,CLIP 可用于通過使用以 CLIP 提取的文本特征為條件的生成模型從文本生成圖像。
 
DALL-E & Stable Diffusion

在 CLIP 的幫助下,一個新的諸侯崛起了 - 他叫 AIGC(AI generated content)。其實 ChatGPT 本質(zhì)上也是 AIGC 的一種,但是在這個小節(jié),我們主要說的是 AI 作畫。先來看看 AI 作畫這個小家族的發(fā)展史:

  • 2021.01,OpenAI 發(fā)布 DALL-E [15](AI 作畫軟件),它改進(jìn)了 GPT-3 從而讓 GPT-3 生成圖像,而不是文本 (Image Transformer Network)
  • 幾乎同時(2021.01),OpenAI 發(fā)布 CLIP [13]
  • 2021.05,Google Brain 和 DeepMind 發(fā)布 Stable diffusion [17],并持續(xù)迭代新版本。它采用 frozen CLIP 文本編碼器來根據(jù)文本提示調(diào)整模型。Stable diffusion 將圖像生成過程分解為運(yùn)行時的 “擴(kuò)散”(diffusion)過程。從僅有的噪聲開始,它逐漸修正圖像,直到?jīng)]有任何噪聲,讓其更接近提供的文本描述。 
  • 2022.04,DALL-E-2 [16] 發(fā)布。它可以根據(jù)自然語言的描述創(chuàng)建逼真的圖像和藝術(shù)品。DALL-E-2 采用由先驗和解碼器組成的兩部分模型。先驗是一個 GPT-3 模型,根據(jù)文本提示生成 CLIP 圖像嵌入。解碼器是一個擴(kuò)散模型,根據(jù) CLIP 嵌入生成圖像。DALL-E-2 還可以進(jìn)行 outpainting, inpainting,以及對現(xiàn)有圖像的變化。

這個家族的脈絡(luò)可見一斑,大哥 CLIP 連結(jié)了圖像和文本,其雙胞胎兄弟 DALL-E 順勢提出了文本到圖像的任務(wù)。為了改進(jìn)這個任務(wù),一個遠(yuǎn)房表親 Stable diffusion 改進(jìn)了生成圖像的算法,最后 DALL-E-2 取長補(bǔ)短,結(jié)合了 GPT-3,CLIP 以及 stable diffusion 的優(yōu)勢,完成了自己的 AI 作畫系統(tǒng)。

對于最開始的 DALL-E, 假設(shè)你是一位畫家,而 DALL-E 就是你的工具箱。在這個比喻中,工具箱中有兩個主要的工具:一個是畫筆,另一個是調(diào)色板。

畫筆是 DALL-E 的解碼器,它可以將給定的文字描述轉(zhuǎn)換為一張圖像。調(diào)色板則是 DALL-E 的編碼器,它可以將任意的文字描述轉(zhuǎn)化為一個特征向量。

當(dāng)你得到一句文字描述時,你會首先用調(diào)色板來生成一個特征向量。然后你就可以拿起畫筆,并使用特征向量來生成一張與描述相符的圖像。當(dāng)你需要細(xì)節(jié)時,你會使用更精細(xì)的畫筆,反之則會使用更粗糙的畫筆。

與畫家不同的是,DALL-E 使用的是神經(jīng)網(wǎng)絡(luò),而不是畫筆和調(diào)色板。這個神經(jīng)網(wǎng)絡(luò)使用了一種名為 Image Transformer Network 的結(jié)構(gòu)。在生成圖像時,DALL-E 使用先前提到的 GPT-3 模型生成與文本描述相對應(yīng)的 CLIP 圖像嵌入。然后,DALL-E 使用束搜索算法生成一系列可能的圖像,這些圖像與輸入的文本描述相匹配,并將它們送入一個解碼器來生成最終的圖像。這種嵌入向量是通過使用稱為對比學(xué)習(xí)的技術(shù)來訓(xùn)練的,該技術(shù)可以將相似的圖像和文本嵌入到相鄰的空間中,以便更容易地將它們組合起來。注意,這里 DALLE 并沒有直接包含 CLIP,但是它使用了 CLIP 的文本和圖像嵌入來訓(xùn)練變換器和 VAE。

至于在生成圖像過程中使用的束搜索算法,實際上是一種貪心搜索算法,它可以在有限的候選集合中找到最優(yōu)的序列。束搜索的基本思想是,每次擴(kuò)展當(dāng)前序列時,只保留概率最高的 k 個候選(k 稱為束寬度),并舍棄其他低概率的候選。這樣可以減少搜索空間,提高效率和準(zhǔn)確度。DALLE 中使用束搜索生成圖像的具體步驟如下:

  • 將輸入的文本描述編碼為一個向量,并作為變換器模型的初始輸入。
  • 從一個特殊的開始符號開始,逐像素地生成圖像序列。每次生成一個像素時,都用變換器模型預(yù)測下一個像素的概率分布,并從中選擇概率最高的 k 個候選像素,作為當(dāng)前序列的延伸。
  • 對每個延伸后的序列,計算其累積概率,并保留概率最高的 k 個序列,舍棄其他序列。
  • 重復(fù)步驟 2 和 3,直到生成一個特殊的結(jié)束符號或達(dá)到最大長度限制。
  • 返回概率最高的序列作為最終生成的圖像。

同樣一幅畫,stable diffusion 是怎么畫的呢?當(dāng)我們想要畫一幅藝術(shù)作品時,通常需要一個良好的構(gòu)圖和一些具體的元素來構(gòu)建。Stable diffusion 就是這樣一種生成圖像的方法,它將圖像生成的過程分成了兩個部分:擴(kuò)散過程和重構(gòu)過程。擴(kuò)散過程可以想象成是將一堆零散的畫筆、顏料和畫板混合在一起,慢慢地在畫板上創(chuàng)造出越來越多的元素。這個過程中,我們并不知道最終畫面會是什么樣子,也無法確定每個元素最終的位置。但是,我們可以逐漸添加和調(diào)整這些元素,直到整幅畫完成。然后,輸入的文本描述就像是我們對于要畫的作品的大致描述,通過束搜索算法來在文本描述和生成的圖像之間進(jìn)行精細(xì)的匹配。這個過程就像是我們在不斷地修改和調(diào)整元素,讓它們更好地匹配我們想要的畫面。最終,生成的圖像將與文本描述緊密匹配,呈現(xiàn)出我們想象中的藝術(shù)作品。

如圖 8 所示,這里的擴(kuò)散模型是一種生成模型,它通過逐漸向數(shù)據(jù)添加噪聲,然后逆向恢復(fù)原始數(shù)據(jù)的過程來學(xué)習(xí)數(shù)據(jù)的分布。stable diffusion 使用了一個預(yù)訓(xùn)練的變分自編碼器(VAE)來將圖像編碼成低維潛在向量,并使用一個基于變換器的擴(kuò)散模型來從潛在向量生成圖像。stable diffusion 還使用了一個凍結(jié)的 CLIP 文本編碼器來將文本提示轉(zhuǎn)換成圖像嵌入,從而對擴(kuò)散模型進(jìn)行條件化。

圖 8. Stable Diffusion 過程。首先是上面的箭頭,一張圖片被不斷加入噪聲,最后變成純噪聲圖,然后走下面的箭頭,逐漸消除噪聲,然后重建最開始的圖片。(圖源:From DALL?E to Stable Diffusion: how do text-to-image generation models work? | Tryolabs)

值得注意的是,Stable Diffusion 中的擴(kuò)散過程是一種隨機(jī)的過程,因此每次生成的圖像都會有所不同,即使是相同的文本描述。這種隨機(jī)性使得生成的圖像更加多樣化,同時也增加了算法的不確定性。為了讓生成的圖像更加穩(wěn)定,Stable Diffusion 使用了一些技巧,如在擴(kuò)散過程中加入逐步增加的噪聲,以及使用多次重構(gòu)過程來進(jìn)一步提高圖像質(zhì)量。

Stable Diffusion 在 DALL-E 的基礎(chǔ)上有了很大的進(jìn)步:

  • 分辨率:stable diffusion 可以生成高達(dá) 1024×1024 像素的圖像,而 DALL-E 目前只能生成 256×256 像素的圖像。
  • 速度:stable diffusion 需要進(jìn)行多次迭代才能生成圖像,因此速度較慢。DALL-E 則可以一次性生成圖像,因此速度較快。
  • 靈活性:stable diffusion 可以對現(xiàn)有的圖像進(jìn)行擴(kuò)畫、修補(bǔ)和變化,而 DALL-E 只能從文本提示生成圖像。
  • 真實性:stable diffusion 可以生成更真實和細(xì)致的圖像,尤其是在復(fù)雜和抽象的描述下。DALL-E 則可能生成一些不符合物理規(guī)律或常識的圖像。

這也是為什么 DALL-E-2 也將擴(kuò)散模型加入到其模型中去了。

潛伏的強(qiáng)者 - GPT3.5 [18] 
& Instruct GPT [19]

在其他諸侯把改革開展的如火如荼的時候,GPT 這一支也一直在默默努力著。開頭說過,GPT-3 剛發(fā)布的時候已經(jīng)有很強(qiáng)的能力了,但是使用方式不那么 “非技術(shù)人員友好”,所以掀起的浪花都是在技術(shù)界,這些本就不算很熱烈的浪花,又因為它不低的收費而日益消散。

Transformer 十分不滿意,GPT 想了想,那就改革!

第一個響應(yīng)改革號召,邁出第一步的是 GPT 3.5:
“我比較笨,想不出什么好辦法改革,那就先把基礎(chǔ)打牢吧。”

于是,GPT3.5 基于 GPT-3 ,使用了一種叫做 Text+Code 的訓(xùn)練數(shù)據(jù),即在文本數(shù)據(jù)的基礎(chǔ)上,增加了一些編程代碼的數(shù)據(jù)。簡單來說,就是用了更大的數(shù)據(jù)集。這樣可以使模型更好地理解和生成代碼,提高模型的多樣性和創(chuàng)造性。Text+Code 是一種基于文本和代碼的訓(xùn)練數(shù)據(jù),它是由 OpenAI 從網(wǎng)上收集并整理的。它包括兩部分:文本和代碼。文本是一些用自然語言描述的內(nèi)容,如文章、評論、對話等。代碼是一些用編程語言編寫的內(nèi)容,如 Python、Java、HTML 等。

Text+Code 訓(xùn)練數(shù)據(jù)可以使模型更好地理解和生成代碼,提高模型的多樣性和創(chuàng)造性。例如,在編程任務(wù)中,模型可以根據(jù)文本描述生成相應(yīng)的代碼,并且代碼具有較高的正確性和可讀性。在內(nèi)容生成任務(wù)中,模型可以根據(jù)代碼描述生成相應(yīng)的文本,并且文本具有較高的一致性和有趣性。Text+Code 訓(xùn)練數(shù)據(jù)也可以使模型更好地處理多語言,多模態(tài),多領(lǐng)域的數(shù)據(jù)和任務(wù)。例如,在語言翻譯任務(wù)中,模型可以根據(jù)不同語言之間的對應(yīng)關(guān)系,進(jìn)行準(zhǔn)確和流暢的翻譯。在圖像生成任務(wù)中,模型可以根據(jù)文本或代碼描述,生成相應(yīng)的圖像,并且圖像具有較高的清晰度和逼真度。

第二個響應(yīng)號召的是 Instruct GPT,他發(fā)現(xiàn)了新的問題:
“要想跟人類打成一片,我們就需要更有效的聽取他們的意見?!?/span>

于是,出現(xiàn)了大名鼎鼎的新晉外援,也就是 RLHF 訓(xùn)練策略。RLHF 是一種基于強(qiáng)化學(xué)習(xí)的訓(xùn)練策略,它的全稱是 Reinforcement Learning from Human Feedback。它的核心思想是在訓(xùn)練過程中,給模型提供一些指令,并根據(jù)模型的輸出給予獎勵或懲罰。這樣可以使模型更好地遵循指令,提高模型的可控性和可信度。其實 GPT-3.5 也有人類反饋(Human Feedback),那加入了強(qiáng)化學(xué)習(xí)(Reinforcement learning)之后,發(fā)生了什么改變呢?

  • GPT3.5 的人類反饋是直接用于微調(diào)模型的參數(shù),而 Instruct GPT 的 RLHF 是用于訓(xùn)練一個獎勵模型,然后用這個獎勵模型來指導(dǎo)模型的行為。
  • GPT3.5 的人類反饋是基于單個輸出的評價,而 Instruct GPT 的 RLHF 是基于多個輸出之間的比較。
  • GPT3.5 的人類反饋只進(jìn)行了一次,而 Instruct GPT 的 RLHF 可以進(jìn)行多次迭代,不斷收集新的比較數(shù)據(jù),訓(xùn)練新的獎勵模型,優(yōu)化新的策略。

也就是說,更少的人力投入,但是給模型帶來了更大的收益。

圖 9. RLHF 過程(圖源:GPT-4 (openai.com))

如圖 9 所示,RLHF 訓(xùn)練策略分為兩個階段:預(yù)訓(xùn)練和微調(diào)。在預(yù)訓(xùn)練階段,模型使用和 GPT-3 相同的數(shù)據(jù)集進(jìn)行無監(jiān)督學(xué)習(xí),學(xué)習(xí)語言的基本知識和規(guī)律。在微調(diào)階段,模型使用一些人工標(biāo)注的數(shù)據(jù)進(jìn)行強(qiáng)化學(xué)習(xí),學(xué)習(xí)如何根據(jù)指令生成合適的輸出。

人工標(biāo)注的數(shù)據(jù)包括兩部分:指令和反饋。指令是一些用自然語言描述的任務(wù),如 “寫一首關(guān)于春天的詩” 或 “給我一個關(guān)于狗的笑話”。反饋是一些用數(shù)字表示的評分,如 “1” 表示很差,“5” 表示很好。反饋是由人類標(biāo)注者根據(jù)模型的輸出給出的,反映了模型輸出的質(zhì)量和合理性。

在微調(diào)階段,模型使用一個叫做 Actor-Critic 的算法進(jìn)行強(qiáng)化學(xué)習(xí)。Actor-Critic 算法包括兩個部分:Actor 和 Critic。Actor 是一個生成器,它根據(jù)指令生成輸出。Critic 是一個評估器,它根據(jù)反饋評估輸出的獎勵值。Actor 和 Critic 之間相互協(xié)作和競爭,不斷地更新自己的參數(shù),以提高獎勵值。

RLHF 訓(xùn)練策略可以使模型更好地遵循指令,提高模型的可控性和可信度。例如,在寫作任務(wù)中,模型可以根據(jù)指令生成不同風(fēng)格和主題的文本,并且文本具有較高的連貫性和邏輯性。在對話任務(wù)中,模型可以根據(jù)指令生成不同情感和語氣的回復(fù),并且回復(fù)具有較高的相關(guān)性和禮貌性。

終于,經(jīng)過前輩們的改革積累,GPT 家族里更加靈活的小兒子 ChatGPT 覺得是時候了,順勢基于 Instruct GPT 推出了更貼合人類交流方式的對話模式,直接在人類社會掀起巨大的浪花(幾億用戶),而且它又是免費的,GPT 家族經(jīng)過幾年的蟄伏,終于一鳴驚人,成為 Transformer 世家最受寵的皇子,直接在繼位之爭上一舉奪魁,成為太子。

與此同時,對于 ChatGPT 來說,太子還不是全部,ChatGPT 繼承了 Transformer 巨大的野心:

“現(xiàn)在的局面太亂了,強(qiáng)大的王朝不需要這么多諸侯,是時候統(tǒng)一他們了。“

統(tǒng)一諸侯 – 大模型時代

GPT-4:” 這個時代,是大模型的時代,我說的。”(bushi)

現(xiàn)在的 ChatGPT 已經(jīng)是基于 GPT-4 的大門面了。GPT-4 因為懼怕于其競爭對手的快速反應(yīng),其實大部分技術(shù)細(xì)節(jié)都是封閉的。但是從其功能上,已經(jīng)看出 GPT 家族統(tǒng)一各諸侯的野心了,除了文字對話以外,GPT-4 也加入了 AI 作圖功能。GPT 家族從過去幾年的蟄伏經(jīng)驗里悟出了一個道理,大模型即正義,并想將這個道理推廣到各個領(lǐng)域。

如果深究這個道理背后的底氣,那可能就是大模型訓(xùn)練的方式吧。GPT-3 是目前最大的語言模型之一,它擁有 1750 億個參數(shù),比其前身 GPT-2 多了 100 倍,比之前最大的同類 NLP 模型要多 10 倍,也可以算是大預(yù)言模型的先驅(qū)者了。

所以,我們先來看看 GPT-3 的模型架構(gòu)和訓(xùn)練方法是如何實現(xiàn)這樣的規(guī)模和性能的:

  • 分布式訓(xùn)練:GPT-3 使用了分布式訓(xùn)練的方法,即將模型和數(shù)據(jù)分散在多個計算節(jié)點上,并通過通信協(xié)議進(jìn)行協(xié)調(diào)和同步。這樣可以利用多個節(jié)點的計算資源和內(nèi)存空間,加速模型訓(xùn)練的過程,并支持更大規(guī)模的模型和數(shù)據(jù)。
  • GPT-3 使用了約 2000 個 GPU 節(jié)點來進(jìn)行分布式訓(xùn)練,每個節(jié)點有 多塊 GPU,每塊 GPU 有 相同 的顯存。
  • GPT-3 使用了兩種分布式訓(xùn)練的方法:數(shù)據(jù)并行和模型并行。
  • 數(shù)據(jù)并行是指將數(shù)據(jù)分成多個子集,每個節(jié)點處理一個子集,并在每個節(jié)點上更新模型的參數(shù),然后在所有節(jié)點間同步參數(shù)。
  • 模型并行是指將模型分成多個部分,每個節(jié)點處理一個部分,并在每個節(jié)點上計算部分的輸出和梯度,然后在所有節(jié)點間傳遞輸出和梯度。
  • GPT-3 使用了一種混合的數(shù)據(jù)并行和模型并行的方法,即在每個節(jié)點內(nèi)部使用數(shù)據(jù)并行,在不同節(jié)點之間使用模型并行。這樣可以充分利用 GPU 的計算能力和通信帶寬,同時減少通信開銷和內(nèi)存占用。
  • 激活函數(shù)檢查點:GPT-3 使用了一種叫做激活函數(shù)檢查點的技術(shù),即在模型的前向傳播過程中,只保存部分層的激活函數(shù)的值,而不是所有層的值。這樣可以節(jié)省顯存空間,因為激活函數(shù)的值占用了大部分的顯存。在模型的反向傳播過程中,如果需要用到某些層的激活函數(shù)的值,就重新計算它們,而不是從顯存中讀取。這樣可以犧牲一些計算時間來換取更多的顯存空間,從而支持更大規(guī)模的模型和批量大小。
  • 稀疏注意力機(jī)制:GPT-3 使用了一種叫做稀疏注意力機(jī)制的技術(shù),即在計算自注意力時,只考慮部分輸入序列中的詞,而不是所有詞。這樣可以減少計算量和內(nèi)存占用,因為自注意力的復(fù)雜度和輸入序列的長度成平方關(guān)系。GPT-3 使用了一種基于局部窗口和全局塊的稀疏注意力機(jī)制,即將輸入序列劃分為多個塊,并且每個塊只與相鄰的幾個塊進(jìn)行注意力計算,同時每個塊還與一些隨機(jī)選擇的全局塊進(jìn)行注意力計算。這樣可以保證模型既能捕捉局部信息,又能捕捉全局信息,同時也能降低計算復(fù)雜度和內(nèi)存占用。

看到這里,ChatGPT 眉頭微皺,似乎有些不滿意 GPT-3 的方案:“這還不夠?!?/span>

'大模型確實是當(dāng)下的趨勢,但是不應(yīng)該只是為了競爭而盲目追求規(guī)模。在訓(xùn)練大模型之前,我們需要考慮更多的細(xì)節(jié)和技術(shù)挑戰(zhàn),才能確保其能夠穩(wěn)定、高效地運(yùn)行,并產(chǎn)生有用的結(jié)果。'

“首先,選擇合適的訓(xùn)練超參數(shù)和模型初始化非常關(guān)鍵。學(xué)習(xí)率、批量大小、迭代次數(shù)等超參數(shù)的選擇對模型的收斂速度、穩(wěn)定性和性能影響重大。而模型初始化則決定了訓(xùn)練開始前的權(quán)重值,會影響到最終結(jié)果的質(zhì)量。這些參數(shù)需要根據(jù)經(jīng)驗實驗或理論分析進(jìn)行仔細(xì)調(diào)整,以確保模型的最佳表現(xiàn)。”

“其次,為了獲得高吞吐量并避免瓶頸,我們需要優(yōu)化訓(xùn)練過程中的各個環(huán)節(jié),比如硬件配置、網(wǎng)絡(luò)帶寬、數(shù)據(jù)加載速度和模型架構(gòu)等。優(yōu)化這些環(huán)節(jié)可以顯著提高模型的處理速度和效率。例如,使用更快的存儲設(shè)備或數(shù)據(jù)格式可以減少數(shù)據(jù)加載時間;使用更大的批量大小或梯度累積可以減少通信開銷;使用更簡單或更稀疏的模型可以減少計算時間等等?!?/span>

“最后,訓(xùn)練大模型時可能會遇到各種不穩(wěn)定和失敗的情況,例如數(shù)值錯誤、過擬合、硬件故障、數(shù)據(jù)質(zhì)量問題等等。為了避免或恢復(fù)這些問題,我們需要密切監(jiān)控模型的行為和性能,并使用調(diào)試工具和技術(shù)來識別和修復(fù)任何錯誤或缺陷。此外,我們還可以使用各種安全措施和防護(hù)機(jī)制,如裁剪、正則化、丟棄、噪聲注入、數(shù)據(jù)過濾、數(shù)據(jù)增強(qiáng)等等,以提高模型的魯棒性和可靠性。”

“在這個時代,大模型的確是重要的,但是僅僅是追求規(guī)模并不能讓模型產(chǎn)生有用的結(jié)果。只有經(jīng)過深思熟慮的訓(xùn)練和優(yōu)化,才能讓大模型真正發(fā)揮其潛力,為人類帶來更多的價值?!?/span>

太子說得對。

沒落的強(qiáng)諸侯 - BERT

最后,瘦死的駱駝比馬大,雖然 BERT 最近被 GPT 壓過風(fēng)頭,但畢竟是曾經(jīng)的強(qiáng)諸侯,在 GPT 勢不可擋的發(fā)展下,BERT 依然保留了自己的一份封地。當(dāng)談及自然語言處理模型的時候,BERT(Bidirectional Encoder Representations from Transformers)一度是非常受歡迎的模型,因為它在很多任務(wù)上都表現(xiàn)得非常出色。當(dāng)它第一次發(fā)布時,它幾乎是無人能敵的,甚至比 GPT 更為成功。這是因為 BERT 的設(shè)計與 GPT 有著不同的目標(biāo)和優(yōu)勢。

BERT 的目標(biāo)是將上下文建模的能力推到一個全新的高度,以便更好地支持下游任務(wù),例如文本分類和問答。它通過訓(xùn)練一個雙向 Transformer 編碼器來實現(xiàn)這個目標(biāo)。這個編碼器能夠同時考慮輸入序列的左側(cè)和右側(cè),從而獲得更好的上下文表示,因此 BERT 能夠?qū)ι舷挛母玫剡M(jìn)行建模,提高了模型在下游任務(wù)中的表現(xiàn)。

但是,隨著時間的推移,GPT 系列模型的出現(xiàn)使得 GPT-3 在多項任務(wù)上超越了 BERT。一個可能的原因是 GPT 系列的模型在設(shè)計上更加專注于生成性任務(wù),比如文本生成和對話系統(tǒng),而 BERT 則更注重分類和問答任務(wù)。此外,GPT 系列模型使用了更大的參數(shù)和更多的數(shù)據(jù)進(jìn)行訓(xùn)練,這也使得它們能夠在更廣泛的任務(wù)上取得更好的表現(xiàn)。

當(dāng)然,BERT 仍然是一個非常有用的模型,特別是對于一些需要對文本進(jìn)行分類或回答問題的任務(wù)。而 GPT 系列的模型則更適合用于生成性任務(wù),例如文本生成和對話系統(tǒng)??傮w來說,這兩個模型都有它們獨特的優(yōu)勢和局限性,我們需要根據(jù)具體任務(wù)的需求來選擇適合的模型。 

奪嫡之爭 - 來勢洶洶的 Segment Anything Model (SAM) [20]

前面說過,在大哥 GPT 默默努力的時候,勞模 Transformer 在 CV 領(lǐng)域(ViT)和多模態(tài)領(lǐng)域 (CLIP) 都掀起了不小的浪花,但是最終都成為了經(jīng)驗寶寶,被老父親 Transformer 教給了受寵的太子 GPT,最終成就了 GPT-4 的所謂大一統(tǒng)。

骨子里流淌著 Transformer 血液的 ViT 和 CLIP 當(dāng)然很不開心:“王侯將相寧有種乎?大哥不是學(xué)我們嗎,我們也可以學(xué)他?!?nbsp;

“但是,他在 NLP 領(lǐng)域太強(qiáng)大了,我們要找個新的戰(zhàn)場?!?/span>

于是,SAM 橫空出世。在官網(wǎng),他們自己是這么描述的:

Segment Anything Model (SAM): a new AI model from Meta AI that can 'cut out' any object, in any image, with a single click

簡單來說,我們可以將 SAM 看作一個高效的 “圖像剪輯大師”,它能夠通過各種輸入提示來精確地識別和分割圖像中的各種對象。例如,當(dāng)我們在圖像中用鼠標(biāo)點擊一個點時,SAM 會像一個經(jīng)驗豐富的畫家一樣,自動剪切出該點所在的對象;當(dāng)我們輸入 “貓” 這個詞時,SAM 就會像一個聰明的偵探一樣,自動找出并剪切出圖像中所有的貓;當(dāng)我們給 SAM 一個目標(biāo)檢測框時,SAM 就會像一個熟練的手術(shù)醫(yī)生一樣,準(zhǔn)確地剪切出框內(nèi)的對象。SAM 的零樣本泛化能力使其成為一個真正的 “通用剪輯大師”。這意味著無論是常見的對象,如汽車、樹木和建筑,還是罕見的對象,如恐龍、外星人和魔法棒,SAM 都可以毫不費力地識別和剪切。這種強(qiáng)大的能力源于其先進(jìn)的模型設(shè)計和龐大的數(shù)據(jù)集。我從原論文里選了四張很復(fù)雜的場景實例(圖 10),說明了 SAM 到底可以做什么。

圖 10. SAM 的效果實例。圖片里每個顏色的東西你都可以剪輯提取出來,相當(dāng)于一個高效的 PS 大師(圖像剪輯大師)。

簡單來說,以前別人跟我們眉飛色舞地提需求的時候,我們總要無奈地問一句,先等一下,你們能提供什么樣的數(shù)據(jù)?現(xiàn)在不需要了,至少在 CV 領(lǐng)域,已經(jīng)更貼近非技術(shù)人群對 AI 的理解了。

為了實現(xiàn)上面說的強(qiáng)大能力,我們來看看 ViT 和 CLIP 是如何大聲密謀的:

ViT: “我雖然之前主要是做圖像分類任務(wù),但我的架構(gòu)同樣適用于圖像分割。因為我是利用 Transformer 架構(gòu)將圖像分解成一系列塊然后對其進(jìn)行并行處理的,如果集成我的優(yōu)勢,SAM 就可以繼承我并行處理和全局注意力的優(yōu)勢,從而實現(xiàn)高效的圖像分割。”

CLIP:“好呀,那我就帶著我聯(lián)合訓(xùn)練的方法入股,基于這個思想,SAM 也可以處理不同類型的輸入提示(問題提示和視覺提示)?!?/span>

于是,SAM 的模型架構(gòu)成型了 (圖 11),ViT 用來做 image encoder(圖像編碼器),而 CLIP 來編碼 prompt(提示)的信息。想法是好的,具體該怎么做呢 —— 當(dāng)然是學(xué)習(xí)大哥啦!

“我們想要利用預(yù)訓(xùn)練的語言模型來做圖像分割任務(wù),就像用文字提示(prompt)來讓語言模型生成或預(yù)測文字一樣。有了 CLIP,我們的提示就可以很豐富了,可以是一些 point (點)、box(框)、mask,還有 Text (文本),它們告訴語言模型要在圖像中分割出什么。我們的目標(biāo)就是,給定任何提示,都能得到一個有效的分割 mask (分割結(jié)果)。有效的 mask 意味著,即使提示有歧義(比如說襯衫還是人),輸出也應(yīng)該是其中一個對象的合理 mask。這就像大哥 GPT(語言模型)對一個有歧義的提示也能給出一個連貫的回應(yīng)一樣。我們選擇這個任務(wù),因為它可以讓我們用一種自然的方式來預(yù)訓(xùn)練語言模型,并且通過提示來實現(xiàn)零樣本遷移到不同的分割任務(wù)上。”

圖 11. SAM 模型架構(gòu)

至于結(jié)果,前面提到的其強(qiáng)大能力已經(jīng)證實了這個想法的可行性。但是,不得不提的是,雖然 SAM 確實不再需要重新訓(xùn)練模型,但是像 chatGPT 剛推出時一樣,他還是有一些限制的。在論文的 Limitation 部分,作者頁明確指出了 SAM 的一些局限性和不足,比如在細(xì)節(jié)、連通性、邊界等方面的缺陷,以及在交互式分割、實時性、文本提示、語義和全景分割等任務(wù)上的挑戰(zhàn),同時也承認(rèn)了一些領(lǐng)域?qū)S霉ぞ叩膬?yōu)勢。

舉個例子,我在 demo 里做了兩個簡單的測試:一個是醫(yī)療圖像領(lǐng)域的病灶檢測,因為病灶太小了,很難檢測到;第二個是人像切割,切出來的人像乍看不錯,但是發(fā)絲還是不是很自然,仔細(xì)看還是能看出來切割痕跡。

當(dāng)然,這畢竟是一個很好的開始,這小哥倆創(chuàng)業(yè)未半,還在努力,要啥自行車?所以,這場奪嫡的結(jié)果如何,還是讓我們拭目以待吧!

總結(jié) 

Transformer 世家的龐大家族顯然不是這一篇文章可以說明的,當(dāng)談到基于 Transformer 的成果時,我們可以看到這個領(lǐng)域的持續(xù)創(chuàng)新:Vision Transformer(ViT)展示了 Transformer 在計算機(jī)視覺領(lǐng)域的成功應(yīng)用,它可以直接處理圖像像素數(shù)據(jù),不需要手工特征工程。DALL-E 和 CLIP 則將 Transformer 應(yīng)用于圖像生成和圖像分類任務(wù),展示了它在視覺語義理解中的優(yōu)越表現(xiàn)。Stable Diffusion 則提出了一種穩(wěn)定的擴(kuò)散過程,可以對概率分布進(jìn)行建模,這可以應(yīng)用于圖像分割、生成等任務(wù)。這些成果共同揭示出 Transformer 模型的廣泛應(yīng)用前景,讓我們不得不承認(rèn),未來某一天,可能真的”Attention is all you need”。

總之,我們可以從這些成果中看到人工智能領(lǐng)域持續(xù)創(chuàng)新的活力。無論是 GPT 還是 BERT,還是 Vision Transformer、DALL-E、CLIP、Stable diffusion 等,這些成果都代表著人工智能領(lǐng)域的最新進(jìn)展。

而大考(ChatGPT)當(dāng)前,現(xiàn)在的情景大概是這樣的:

學(xué)霸們這學(xué)期好好上課,翻開書本就能回想起當(dāng)時那節(jié)課老師說這個知識點時的音容笑貌,甚至開始規(guī)劃下學(xué)期的學(xué)習(xí)計劃。

偽學(xué)霸們天天到課,占據(jù)前排,打開課本卻是一臉懵逼,開始跟學(xué)渣們一起 “一天一本書,一周一學(xué)期”,唯一的區(qū)別就是課本不是全新的,對課本內(nèi)容還有一點點記憶,不算是在完全的學(xué)習(xí)新知識。

 至于真正的學(xué)渣們…… 

“知識來,知識來,知識從四面發(fā)八方來”
 
其實我倒覺得,不管是偽學(xué)霸還是學(xué)渣,都應(yīng)該在期末考面前保持冷靜,看看這學(xué)期講了什么,找學(xué)霸們借一下筆記,甚至可以選擇緩考。對學(xué)霸們來說,快是水到渠成的。對偽學(xué)霸和學(xué)渣們來說,快是有害的。

在人工智能領(lǐng)域的競爭中,持續(xù)創(chuàng)新是至關(guān)重要的。因此,作為研究員,我們應(yīng)該密切關(guān)注這個領(lǐng)域的最新發(fā)展,并且保持謙虛和開放的心態(tài),以促進(jìn)人工智能領(lǐng)域的不斷進(jìn)步。
 
參考文獻(xiàn)

[1] Mikolov, Tomas; et al. (2013). 'Efficient Estimation of Word Representations in Vector Space'. arXiv (https://en.wikipedia.org/wiki/ArXiv_(identifier)):1301.3781 (https://arxiv.org/abs/1301.3781) [cs.CL (https://arxiv.org/archive/cs.CL)].
[2] Mikolov, Tomas (2013). 'Distributed representations of words and phrases and their compositionality'. Advances in neural information processing systems.
[3] Matthew E. Peters, Mark Neumann, Mohit Iyyer, Matt Gardner, Christopher Clark, Kenton Lee, & Luke Zettlemoyer. (2018). Deep contextualized word representations.
[4] Bahdanau, Dzmitry, Kyunghyun Cho, and Yoshua Bengio. 'Neural machine translation by jointly learning to align and translate.' arXiv preprint arXiv:1409.0473 (2014).
[5] Vaswani, Ashish, et al. 'Attention is all you need.' Advances in neural information processing systems 30 (2017).
[6] attention 機(jī)制及 self-attention (transformer). Accessed at: https://blog.csdn.net/Enjoy_endless/article/details/88679989
[7] Radford, Alec, et al. 'Improving language understanding by generative pre-training.' (2018).
[8] Radford, Alec, et al. 'Language models are unsupervised multitask learners.' OpenAI blog 1.8 (2019): 9.
[9] Brown, Tom, et al. 'Language models are few-shot learners.' Advances in neural information processing systems 33 (2020): 1877-1901.
[10] GPT-4 (openai.com)
[11] Devlin, Jacob; Chang, Ming-Wei; Lee, Kenton; Toutanova, Kristina (11 October 2018). 'BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding'. arXiv:1810.04805v2 [cs.CL].
[12] Dosovitskiy, Alexey, et al. 'An image is worth 16x16 words: Transformers for image recognition at scale.' arXiv preprint arXiv:2010.11929 (2020).
[13] Radford, Alec, et al. 'Learning transferable visual models from natural language supervision.' International conference on machine learning. PMLR, 2021.
[14] Zheng, Laura, Yu Shen, and Ming C. Lin. 'Exploring Contrastive Learning with Attention for Self-Driving Generalization.'
[15] Reddy, Mr D. Murahari, et al. 'Dall-e: Creating images from text.' UGC Care Group I Journal 8.14 (2021): 71-75.
[16] Ramesh, Aditya, et al. 'Hierarchical text-conditional image generation with clip latents.' arXiv preprint arXiv:2204.06125 (2022).
[17] Rombach, Robin, et al. 'High-resolution image synthesis with latent diffusion models.' Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2022.
[18] Chen, Xuanting, et al. 'How Robust is GPT-3.5 to Predecessors? A Comprehensive Study on Language Understanding Tasks.' arXiv preprint arXiv:2303.00293 (2023).
[19] Ouyang, Long, et al. 'Training language models to follow instructions with human feedback.' Advances in Neural Information Processing Systems 35 (2022): 27730-27744.
分析師介紹:

本文作者王子嘉,戴爾科技集團(tuán)首席技術(shù)官辦公室人工智能科學(xué)家,英國帝國理工學(xué)院Al專業(yè)畢業(yè),主要研究方向為計算機(jī)視覺、3D重建、AIGC等,重點關(guān)注在相關(guān)領(lǐng)域進(jìn)行新技術(shù)的探索與創(chuàng)新,在新Al技術(shù)賦能的數(shù)據(jù)隱私保護(hù)以及AIGC技術(shù)在數(shù)據(jù)管理上的應(yīng)用等方向上做過很多嘗試與創(chuàng)新。于2019年加入戴爾科技集團(tuán),在此期間,已在相關(guān)領(lǐng)域發(fā)表論文5篇、專利139項。

關(guān)于機(jī)器之心全球分析師網(wǎng)絡(luò) Synced Global Analyst Network

機(jī)器之心全球分析師網(wǎng)絡(luò)是由機(jī)器之心發(fā)起的全球性人工智能專業(yè)知識共享網(wǎng)絡(luò)。在過去的四年里,已有數(shù)百名來自全球各地的 AI 領(lǐng)域?qū)I(yè)學(xué)生學(xué)者、工程專家、業(yè)務(wù)專家,利用自己的學(xué)業(yè)工作之余的閑暇時間,通過線上分享、專欄解讀、知識庫構(gòu)建、報告發(fā)布、評測及項目咨詢等形式與全球 AI 社區(qū)共享自己的研究思路、工程經(jīng)驗及行業(yè)洞察等專業(yè)知識,并從中獲得了自身的能力成長、經(jīng)驗積累及職業(yè)發(fā)展。
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
中科院張家?。憾嗄B(tài)大模型初現(xiàn)“多專多能”,用“紫東太初”探索差異化AGI道路丨GTIC 2023
中金 | AI十年展望(五):從ChatGPT到通用智能,新長征上的新變化
2022,AIGC元年?
我們正在邁向多語言多模態(tài)大模型時代
LVS2023 | 從 AIGC 到 MMLM
AI掃盲指南!什么是大模型?什么prompt?什么是大模型參數(shù)?
更多類似文章 >>
生活服務(wù)
熱點新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服