史上超全Transformer合集!LeCun力推:給60個模型建目錄,哪篇論文你錯過了?
如果說過去幾年是什么在支撐著大規模模型的發展,那一定是Transformer了!
基于Transformer,大量模型在各個領域猶如雨后春筍般不斷涌現,每個模型都有不同的架構,不同的細節,以及一個不容易解釋的名字。
最近有作者對近幾年發布的所有流行的Transformer模型進行了一次全面的分類和索引,盡可能提供一個全面但簡單的目錄(catalog),文中包括對Transformer創新的簡介,以及發展脈絡梳理。
論文鏈接:?https://arxiv.org/pdf/2302.07730.pdf?
圖靈獎得主Yann LeCun表示認可。
文章作者Xavier (Xavi) Amatriain于2005年博士畢業于西班牙龐培法布拉大學,目前是LinkedIn工程部副總裁,主要負責產品人工智能戰略。
什么是Transformer?
Transformer是一類深度學習模型,具有一些獨特的架構特征,最早出現在谷歌研究人員于2017年發表的著名的「Attention is All you Need」論文中,該論文在短短5年內積累了驚人的38000次引用。
Transformer架構也屬于編碼器-解碼器模型(encoder-decoder),只不過在此之前的模型,注意力只是其中的機制之一,大多都是基于LSTM(長短時記憶)和其他RNN(循環神經網絡)的變體。
提出Transformer的這篇論文的一個關鍵見解如標題所說,注意力機制可以作為推導輸入和輸出之間依賴關系的唯一機制,這篇論文并不打算深入研究Transformer架構的所有細節,感興趣的朋友可以搜索「The Illustrated Transformer」博客。
博客鏈接:?https://jalammar.github.io/illustrated-transformer/?
下面只簡要地描述最重要的一些組件。
編碼器-解碼器架構?
一個通用的編碼器/解碼器架構由兩個模型組成,編碼器接受輸入并將其編碼為一個固定長度的向量;解碼器接收該向量并將其解碼為輸出序列。
對編碼器和解碼器進行聯合訓練以最小化條件對數似然。訓練完成后,編碼器/解碼器就可以根據給定輸入序列的生成一個輸出,或者可以給一對輸入/輸出序列打分。
在最初的Transformer架構下,編碼器和解碼器都有6個相同的層,在這6層中的每一層,編碼器有兩個子層:一個多頭注意層,和一個簡單的前饋網絡,每個子層都有一個殘差連接和一個層歸一化。
編碼器的輸出大小為512,解碼器增加了第三個子層,即在編碼器輸出上的另一個多頭注意層。此外,解碼器中的另一個多頭層被mask掉,以防止對后續位置應用注意力,造成信息泄露。
注意力機制?
從上面的描述中可以看出,模型結構中唯一「奇特」的元素是多頭的注意力,也正是該模型的全部力量所在。
注意力函數是query和一組key-value pairs到輸出之間的映射,輸出的計算為數值的加權和,其中分配給每個數值的權重是由query與相應的key的compatibility函數計算的。
Transformer使用多頭注意力(multi-head attention),即對一組注意力函數的并行計算,也稱為縮放點積注意力。
與遞歸和卷積網絡相比,注意力層有幾個優勢,比較重要的是其較低的計算復雜性和較高的連接性,對學習序列中的長期依賴關系特別有用。
Transformer可以做什么?為什么流行起來了??
最初的Transformer是為語言翻譯而設計的,主要是從英語翻譯到德語,但是初版論文的實驗結果已經表明,該架構可以很好地推廣到其他語言任務。
這一特殊的趨勢很快就被研究界注意到了。
在接下來的幾個月里,任何與語言相關的ML任務的排行榜都完全被某個版本的Transformer架構所占據,比如問答任務Squad很快就被各種Transformer模型屠榜了。
Transofrmer能夠如此迅速地占領大多數NLP排行榜的關鍵原因之一是:它們能夠快速適應其他任務,也就是遷移學習;預先訓練好的Transformer模型可以非常容易和迅速地適應它們沒有被訓練過的任務,相比其他模型有巨大的優勢。
作為一個ML從業者,你不再需要在一個巨大的數據集上從頭訓練一個大型模型,只需要在手頭任務上重新使用預訓練過的模型,也許只是用一個小得多的數據集對其稍作調整。
用來使預訓練的模型適應不同任務的具體技術是所謂的微調(fine-tuning)。
事實證明,Transformer適應其他任務的能力是如此之強,雖然它們最初是為語言相關的任務而開發的,但它們很快就對其他任務有用了,從視覺或音頻和音樂應用一直到下棋或做數學。
當然,如果不是因為有無數的工具,使任何能寫幾行代碼的人都能隨時使用這些工具,所有這些應用就不可能實現。
Transformer不僅很快被整合到主要的人工智能框架中(即Pytorch和TensorFlow),還有一些完全為Transformer而生的公司。
Huggingface,一家到今天為止已經籌集了超過6000萬美元的創業公司,幾乎完全是圍繞著將他們的開源Transformer庫商業化的想法而建立的。
GPT-3是OpenAI在2020年5月推出的Transformer模型,是他們早期GPT和GPT-2的后續版本。該公司在一份預印本中介紹了該模型,引起了很大的轟動,論文中聲稱該模型非常強大,以至于他們沒有資格向世界發布。
而且,OpenAI不僅沒有發布GPT-3,而且通過和微軟之間的一個非常大的伙伴關系實現了商業化。
現在,GPT-3為300多個不同的應用程序提供底層技術支持,并且是OpenAI商業戰略的基礎。對于一個已經獲得超過10億美元資金的公司來說,這是很重要的。
RLHF?
從人類反饋(或偏好)中強化學習,又稱RLHF(或RLHP),最近已經成為人工智能工具箱的一個巨大補充。
這個概念最早來自2017年的論文「來自人類偏好的深度強化學習」,但最近它被應用于ChatGPT和類似的對話智能體中,取得了相當好的效果,又引起了大眾的關注。
文中的想法是非常簡單的,一旦語言模型被預訓練后,就可以對對話產生不同的回應,并讓人類對結果進行排名,可以使用這些排名(又稱偏好或反饋)利用強化學習機制來訓練獎勵。
擴散模型Diffusion?
擴散模型已經成為圖像生成的新的SOTA,大有取代GANs(生成對抗網絡)的趨勢。
擴散模型是一類經過訓練的變分推理(varitional inference)的潛變量模型,在實踐中的意思就是訓練一個深度神經網絡來對用某種噪聲函數模糊的圖像進行去噪。
以這種方式訓練的網絡實際上是在學習這些圖像所代表的潛空間。
看完介紹,快開啟Transformer的回溯之旅吧!