Transformer 模型簡介:它們是什麼以及它們如何運作
已發表: 2024-08-07Transformer 是人工智慧領域的突破,尤其是在自然語言處理 (NLP) 領域。它們以其性能和可擴展性而聞名,在語言翻譯和對話式人工智慧等應用中至關重要。本文探討了它們的結構、與其他神經網路的比較以及它們的優缺點。
目錄
- 什麼是變壓器模型?
- Transformer 與 CNN 和 RNN
- 變壓器模型如何運作
- 變壓器模型範例
- 優點
- 缺點
什麼是變壓器模型?
Transformer 是一種廣泛應用於 NLP 中的深度學習模型。由於其任務性能和可擴展性,它是GPT系列(OpenAI製造)、Claude(Anthropic製造)和Gemini(Google製造)等模型的核心,並在整個行業中廣泛應用。
深度學習模型由三個主要部分組成:模型架構、訓練資料和訓練方法。在這個框架內,變壓器代表一種模型架構。它定義了神經網路的結構及其相互作用。 Transformer 與其他機器學習 (ML) 模型的關鍵創新在於「注意力」的使用。
注意力是 Transformer 中的一種機制,使它們能夠有效地處理輸入並維護長序列(例如整篇文章)的資訊。
下面舉一個例子來說明。 「那隻貓坐在河邊。然後它就移到附近樹的樹枝上。你可以認清這裡的「銀行」並不是你存錢的銀行。您可能會使用“河流”的上下文線索來解決這個問題。注意力的作用類似;它使用其他單字來定義每個單字的意思。例子中的「it」指的是什麼?這個模型會將「移動」和「樹」這兩個詞視為線索,以認識到答案是「貓」。
尚未解答的重要問題是模型如何知道要查看哪些單字。我們稍後會討論這個問題。現在我們已經定義了變壓器模型,讓我們進一步解釋為什麼它被如此頻繁地使用。
Transformer 與 CNN 和 RNN
循環神經網路(RNN)和卷積神經網路(CNN)是另外兩種常見的深度學習模型。雖然 RNN 和 CNN 有其優點,但 Transformer 的使用更為廣泛,因為它們可以更好地處理長輸入。
Transformer 與 RNN
RNN 是順序模型。一個恰當的比喻是一個人在讀書。當他們逐字閱讀時,他們對書的記憶和理解不斷發展。對於精明的讀者來說,他們甚至可能根據之前發生的事情來預測接下來會發生什麼。 RNN 以相同的方式運作。它逐字讀取,更新其記憶(稱為隱藏狀態),然後可以做出預測(例如,句子中的下一個單字或某些文字的情緒)。缺點是隱藏狀態不能容納太多資訊。如果您將整本書輸入 RNN,它不會記住有關介紹章節的許多細節,因為其隱藏狀態下的空間有限。後面的章節由於最近被添加到隱藏狀態而獲得優先權。
變形金剛不會遇到同樣的記憶體問題。他們將輸入中的每個單字與其他單字進行比較(作為注意力機制的一部分),因此他們不需要使用隱藏狀態或「記住」之前發生的事情。使用同一本書的類比,變壓器就像一個人閱讀書中的下一個單詞,然後查看書中前面的每個單詞以正確理解新單詞。如果一本書的第一句包含短語“他出生在法國”,而一本書的最後一句包含短語“他的母語”,則變壓器將能夠推斷出他的母語是法語。 RNN 可能無法做到這一點,因為隱藏狀態無法保證保留該資訊。此外,RNN 需要一次讀取每個單字,然後更新其隱藏狀態。變壓器可以並行地應用它的注意力。
Transformer 與 CNN
CNN 使用序列中每個項目的周圍上下文來分配含義。對於頁面上的某個單詞,CNN 會查看緊鄰該單字周圍的單詞,以找出該單字的含義。它無法連接一本書的最後一頁和第一頁。 CNN 主要用於圖像,因為像素與其鄰居的相關性通常比單字的相關性高得多。也就是說,CNN 也可用於 NLP。
Transformer 與 CNN 的不同之處在於,它們不僅僅關注某個專案的直接鄰居。他們使用注意力機制將輸入中的每個單字與其他單字進行比較,從而提供對上下文更廣泛、更全面的理解。
變壓器模型如何運作?
Transformer 具有註意力塊層、前饋神經網路 (FNN) 和嵌入。該模型接受基於文字的輸入並返回輸出文字。為此,它遵循以下步驟:
1標記化:將文字轉換為標記(類似於將句子分解為單字)。
2嵌入:將標記轉換為向量,並結合位置嵌入,以便模型了解標記在輸入中的位置。
3注意力機制:使用自註意力(對於輸入令牌)或交叉注意力(在輸入令牌和生成令牌之間)處理令牌。這種機制允許模型在產生輸出時權衡不同令牌的重要性。
4 個FNN:將結果傳遞給 FNN,這允許模型透過引入非線性來捕捉複雜模式。
5重複:透過多個層重複步驟 3-4,以細化輸出。
6輸出分佈:產生所有可能標記的機率分佈。
7令牌選擇:選擇機率最高的令牌。
這個過程構成了變壓器模型的一次前向傳遞。此模型會重複執行此操作,直到完成輸出文字為止。在每次傳遞中,嵌入過程可以並行執行,注意力機制和前饋階段也可以並行執行。本質上,變壓器不需要一次處理每個令牌。它可以同時關注所有代幣。
我們現在可以轉向先前的問題:模型如何知道要關注哪些代幣?答案很簡單,只需查看大量訓練資料即可。首先,模型會處理錯誤的標記,因此會產生錯誤的輸出。使用訓練資料附帶的正確輸出,可以修改注意力機制以在下次輸出正確答案。在數十億(甚至數萬億)個範例中,注意力機制幾乎總是可以選擇正確的標記。
變壓器模型範例
變形金剛無所不在。雖然 Transformer 最初是為翻譯而設計的,但它已經可以很好地擴展到幾乎所有語言、視覺甚至音訊任務。
大型語言模型
Transformer 架構支援幾乎所有大型語言模型 (LLM):GPT、Claude、Gemini、Llama 和許多較小的開源模型。法學碩士可以處理各種文本(以及越來越多的圖像和音訊)任務,例如問答、分類和自由格式生成。
這是透過數十億個文字範例(通常從互聯網上抓取)訓練 Transformer 模型來實現的。然後,公司根據分類範例對模型進行微調,以教導模型如何正確執行分類。簡而言之,該模型學習廣泛的知識庫,然後透過微調「教授」技能。
視覺變形金剛
視覺變壓器是適用於影像的標準變壓器。主要區別在於標記化過程必須使用圖像而不是文字。一旦輸入變成標記,就會發生正常的轉換器計算,最後,輸出標記用於對影像進行分類(例如,貓的影像)。視覺轉換器通常與文本法學碩士合併以形成多模式法學碩士。這些多模態模型可以接收圖像並對其進行推理,例如接受使用者介面草圖並獲取創建它所需的程式碼。
CNN 在圖像任務中也很流行,但 Transformer 允許模型使用圖像中的所有像素,而不僅僅是附近的像素。例如,如果圖像最左側包含停車標誌,最右側包含汽車,則模型可以確定汽車需要停車。 CNN 可能無法連接這兩個數據點,因為它們在圖像中彼此相距很遠。
音頻變壓器
音頻變壓器與視覺變壓器一樣,都是標準變壓器,具有專為音頻數據量身定制的獨特標記化方案。這些模型可以處理文字和原始音訊作為輸入,輸出文字或音訊。 Whisper 就是一個例子,它是一種將原始音訊轉換為文字記錄的語音到文字模型。它透過將音訊分割成區塊,將這些區塊轉換成頻譜圖,並將頻譜圖編碼成嵌入來實現這一點。然後,這些嵌入由轉換器處理,產生最終的轉錄標記。
除了語音到文字應用程式之外,音訊轉換器還有各種其他用例,包括音樂生成、自動字幕和語音轉換。此外,該公司正在將音訊變壓器與法學碩士集成,以實現基於語音的交互,允許用戶透過語音命令提出問題並接收回應。
變壓器型號的優點
由於其在各種任務中的可擴展性和卓越性能,Transformer 在機器學習領域變得無處不在。他們的成功歸功於幾個關鍵因素:
長情境
注意力機制可以將輸入序列中的所有標記進行相互比較。因此,整個輸入中的信息將被記住並用於產生輸出。相較之下,RNN 會忘記較舊的訊息,而 CNN 只能使用與每個 token 接近的訊息。這就是為什麼您可以將數百個頁面上傳到 LLM 聊天機器人,向其詢問有關任何頁面的問題,並獲得準確的答案。 RNN 和 CNN 缺乏長上下文是 Transformer 在任務中擊敗它們的最大原因。
平行性
變壓器中的注意力機制可以在輸入序列中的所有標記上並行執行。這與 RNN 形成鮮明對比,RNN 順序處理標記。因此,變壓器可以更快地進行培訓和部署,從而為使用者提供更快的回應。與 RNN 相比,這種平行處理能力顯著提高了 Transformer 的效率。
可擴展性
研究人員不斷增加變壓器的尺寸和用於訓練它們的資料量。他們還沒有看到 Transformer 可以學習的數量的限制。 Transformer 模型越大,它可以理解和產生的文本就越複雜和細緻(GPT-3 有 1750 億個參數,而 GPT-4 有超過 1 兆個參數)。值得注意的是,擴大 Transformer 模型(例如與 10 億參數模型相比創建 100 億參數模型)並不需要明顯更多的時間。這種可擴展性使 Transformer 成為各種高級應用程式的強大工具。
變壓器模型的缺點
變壓器模型的缺點是它們需要大量的計算資源。注意力機制是二次的:輸入中的每個標記都會與其他每個標記進行比較。兩個令牌將進行 4 次比較,三個令牌將進行 9 次比較,四個令牌將進行 16 次比較,依此類推 — 本質上,計算成本是令牌計數的平方。這個二次方成本有幾個意義:
專用硬體
LLM 無法輕鬆在普通計算機上運作。由於其尺寸,它們通常需要數十 GB 的 RAM 來載入模型參數。此外,傳統 CPU 並未針對平行計算進行最佳化。相反,需要 GPU。在 CPU 上運行的 LLM 可能需要幾分鐘才能產生單一令牌。不幸的是,GPU 並不是最便宜或最容易使用的硬體。
輸入長度有限
Transformer 可以處理的文字量有限(稱為上下文長度)。 GPT-3 最初只能處理 2,048 個令牌。注意力實現的進步已經產生了上下文長度高達 100 萬個標記的模型。即便如此,仍需要大量研究來找到每個上下文長度的額外標記。相反,RNN 沒有最大上下文長度。隨著輸入的增加,它們的準確性會大大下降,但您現在可以將 200 萬個令牌長的輸入輸入其中。
能源成本
為變壓器計算供電的資料中心需要能源來運行它們,並需要水來冷卻它們。據估計,GPT-3 的訓練需要 1,300 兆瓦時的電力:相當於為美國 130 個家庭供電一整年。隨著模型變大,所需的能量也會增加。到2027年,人工智慧產業每年所需的電力可能與荷蘭一樣多。人們正在做出重大努力來減少能源變壓器的需求,但這個問題尚未解決。