什麼是人工智慧中的 Transformer?

Transformer 是一種神經網路架構,可將輸入序列轉換或變更為輸出序列。Transformer 透過學習內容並追蹤序列元件之間的關係來做到這一點。例如,考慮這個輸入序列:「天空是什麼顏色?」 Transformer 模型使用內部數學表示法來識別顏色、天空和藍色這三個詞之間的相關性和關係。它使用這種知識來生成輸出:「天空是藍色的。」 

組織使用 Transformer 模型進行所有類型的序列轉換,從語音辨識到機器翻譯和蛋白質序列分析。

閱讀神經網路的相關資訊

閱讀人工智慧 (AI) 的相關資訊

轉換器為何重要?

早期深度學習模型廣泛專注於自然語言處理 (NLP) 任務,旨在使電腦理解人類自然語言並做出反應。它們根據序列中的上一個字詞猜測下一個字詞。

為了更好地了解,請考慮智慧型手機中的自動完成功能。它根據您輸入的字詞對頻率提出建議。例如,如果您經常輸入 "I am fine",您的手機會在您輸入 am 之後自動建議 fine

早期機器學習 (ML) 模型在更廣泛的規模應用了類似的技術。它們在訓練資料集中映射不同字詞對或字詞組之間的關係頻率,並嘗試猜測下一個字詞。但是早期的技術無法保留超過特定輸入長度的內容。例如,早期的 ML 模型無法產生有意義的段落,因為它無法保留段落中第一句和最後一句之間的前後關聯。產生輸出,例如 "I am from Italy.I like horse riding.I speak Italian.",模型需要記住 Italy 與 Italian 之間的關聯,早期的神經網路就是做不到這一點。

轉換器模型透過讓模型處理文字中這樣的長距離相依性,根本上改變了 NLP 技術。以下是轉換器的更多優點。

啟用大規模模型

轉換器透過平行運算完整處理長序列,顯著縮短訓練和處理時間。這樣便能訓練大型語言模型 (LLM),例如 GPT 和 BERT,這些模型可以學習複雜的語言表示。它們擁有數十億個參數,可擷取廣泛的人類語言和知識,並且推動更為概括性 AI 系統的研究。

閱讀大型語言模型的相關資訊

閱讀 GPT 的相關資訊

實現更快的自訂

使用轉換器模型,您可以使用轉移學習和擷取增強生成 (RAG) 等技術。這些技術可以為產業組織特定應用程式自訂現有模型。模型可以在大型資料集上預先訓練,然後在較小的特定任務資料集上進行微調。這種方法使複雜模型的使用進行民主化,並從頭開始消除了訓練大型模型時的資源限制。模型可以在多個領域和任務之間表現良好,適用於各種使用案例。

促進多模式 AI 系統

使用轉換器,您可以使用 AI 進行結合複雜資料集的任務。例如,像 DALL-E 這樣的模型展現出轉換器可以從文字描述產生影像,結合 NLP 和電腦視覺功能。使用轉換器,您可以建立 AI 應用程式,以整合不同資訊類型並更密切地模仿人類理解力和創造力。

閱讀電腦視覺的相關資訊

AI 研究與產業創新

轉換器創造了新一代 AI 技術和 AI 研究,突破 ML 中可能性的界限。它們的成功啟發了解決創新問題的新架構和應用程式。它們使機器能夠理解並產生人類語言,導致可以增強客戶體驗並建立新商機的應用程式。

轉換器有哪些使用案例?

您可以在任何連續資料上訓練大型轉換器模型,例如人類語言、音樂創作、程式設計語言等。以下是一些範例使用案例。

自然語言處理

轉換器讓機器能夠透過比以往更準確的方式理解、解譯和產生人類語言。它們可以摘要大型文件,並為各種使用案例產生一致且與內容相關的文字。像 Alexa 這樣的虛擬助理使用轉換器技術來了解和回應語音命令。

機器翻譯

翻譯應用程式使用轉換器在語言之間提供即時、準確的翻譯。與以前的技術相比,轉換器顯著改善了翻譯的流暢性和準確性。

閱讀機器翻譯的相關資訊

DNA 序列分析

透過將 DNA 區段視為類似語言的序列,轉換器可以預測基因突變的影響、了解遺傳模式,並協助識別導致某些疾病的 DNA 區域。這種功能對於個人化醫療至關重要,了解個人的基因組成可以導致更有效的治療。

蛋白質結構分析

轉換器模型可以處理連續資料,這使它們非常適合將折疊成複雜蛋白質結構的胺基酸長鏈進行建模。了解蛋白質結構對於藥物發現和了解生物過程至關重要。您也可以在根據胺基酸序列預測蛋白質 3D 結構的應用程式中使用轉換器。

轉換器的運作方式?

自 2000 年代初期以來,神經網路一直是影像辨識和 NLP 等各種 AI 任務的領先方法。它們由互連的運算節點 (或神經元) 層組成,模仿人類大腦並共同合作以解決複雜的問題。

處理資料序列的傳統神經網路通常使用編碼器/解碼器架構模式。編碼器讀取和處理整個輸入資料序列,例如英文句子,並將其轉換為緊湊的數學表示。此表示是一個摘要,擷取輸入的本質。然後,解碼器採取此摘要,並逐步產生輸出序列,這可以是翻譯成法文的相同句子。

此程序按順序發生,這表示它必須逐一處理每個字詞或資料的部分。這個程序很慢,可能會在長距離中失去一些更細緻的細節。

自我關注機制

轉換器模型透過結合稱為自我關注機制的項目來修改此程序。該機制不是按順序處理資料,而是使模型能夠一次查看序列的不同部分,並決定哪些部分最重要。 

假設你在一個忙碌的房間裡,試圖聽某人說話。您的大腦會自動專注於他們的聲音,同時摒除不那麼重要的噪音。自我關注使模型可以做到類似的事情:它更加關注相關的資訊,並將它們合併以做出更好的輸出預測。這種機制使轉換器更有效率,讓它們可以在更大的資料集上進行訓練。它也更有效,尤其是當處理長篇大論中的部分文字,可能會影響接下來的意義時。

轉換器架構有哪些元件?

轉換器神經網路架構具有幾個軟體層,它們一起合作以產生最終輸出。下圖顯示轉換架構的元件,如本節的其餘部分所述。


輸入內嵌

此階段將輸入序列轉換為軟體演算法理解的數學領域。首先,輸入序列細分為一系列字符或個別序列元件。例如,如果輸入是一個句子,則字符是字詞。然後內嵌將字符序列轉換為數學向量序列。向量具有語義和語法資訊 (以數字表示),並在訓練過程中學習它們的屬性。

您可以將向量視覺化為 n 維空間中的一系列座標。舉一個簡單的範例,想像一個二維圖形,其中 x 代表字詞第一個字母的英數字元值,y 代表它們的類別。banana (香蕉) 一詞的值為 (2,2),因為它以字母 b 開頭,並且屬於 fruit (水果) 類別。mango (芒果) 一詞的值為 (13,2),因為它以字母 m 開頭,並且也屬於 fruit (水果) 類別。透過這種方式,向量 (x,y) 告訴神經網路,字詞 bananamango 是在相同類別中。 

現在想像一個具有數千個屬性的 n 維空間,有關句子中任何字詞的文法、含義和用法映射到一系列的數字。軟體可以使用數字以數學術語計算字詞之間的關係,並理解人類語言模型。內嵌提供一種方法,將離散字符表示為模型可以處理和從中學習的連續向量。

位置編碼

位置編碼是轉換器架構中的重要元件,因為模型本身本質上不會依序處理連續資料。轉換器需要一種方法來考慮輸入序列中字符的順序。位置編碼將資訊新增到每個字符的內嵌中,以指出其在序列中的位置。這通常是透過使用一組函數來完成,這些函數會產生一個唯一的位置訊號,該訊號會新增到每個字符的內嵌中。使用位置編碼,模型可以保留字符的順序並了解序列內容。

轉換器區塊

典型轉換器模型有多個轉換器區塊堆疊在一起。每個轉換器區塊都有兩個主要元件:一個多頭自我關注機制和一個位置前饋神經網路。自我關注機制使模型能夠衡量序列中不同字符的重要性。在進行預測時,它專注於輸入的相關部分。

例如,考慮「Speak no lies (不說謊)」和「He lies down (他躺下)」句子。在這兩個句子中,如果不查看字詞 lies 旁邊的字詞,就無法理解它的意義。speakdown 字詞對於了解正確的意義相當重要。自我關注可以對內容的相關字符進行分組。

前饋層具有其他元件,可協助轉換器模型更有效率地訓練和運作。例如,每個轉換器區塊包括:

  • 兩個主要元件周圍的連線,就像捷徑一樣。它們可以將資訊從網路的一個部分傳到另一個部分,在中間略過某些操作。
  • 層標準化,可將數字 (特別是網路中不同層的輸出) 保持在特定範圍內,讓模型順暢地進行訓練。
  • 線性轉換函數,讓模型調整值以更好地執行訓練的任務,例如文件摘要而不是翻譯。

線性和 softmax 區塊

最終模型需要做出具體的預測,例如在序列中選擇下一個字詞。這就是線性區塊發揮作用的地方。它是另一個完全連線的層,也稱為密集層,在最終階段之前。它執行從向量空間到原始輸入領域的學習線性映射。這個關鍵層是模型的決策部分採用複雜內部表示,並且轉換回您可以解譯和使用之特定預測的地方。此層的輸出是每個可能字符的一組分數 (通常稱為 logit)。

softmax 函數是取得 logit 分數並將它們標準化為概率分佈的最後階段。softmax 輸出的每個元素代表模型對特定類別或字符的信心。

轉換器與其他神經網路架構有何不同?

循環神經網路 (RNN) 和卷積神經網路 (CNN) 是其他經常用於機器學習和深度學習任務中的神經網路。以下探索它們與轉換器的關係。

轉換器與RNN

轉換器模型和 RNN 都是用於處理連續資料的架構。

RNN 在週期性迭代中一次處理一個元素的資料序列。該程序從輸入層接收序列的第一個元素開始。然後將資訊傳遞至隱藏層,該層處理輸入並將輸出傳遞給下一個時間步驟。此輸出與序列的下一個元素結合,回饋到隱藏層中。此週期會針對序列中的每個元素重複,RNN 會維護一個隱藏狀態向量,該向量會在每個時間步驟更新。此程序有效讓 RNN 記住過去輸入的資訊。

相較之下,轉換器可同時處理整個序列。與 RNN 相比,這種平行化讓訓練時間更快,並且能夠處理更長的序列。轉換器中的自我關注機制也使模型能夠同時考慮整個資料序列。這消除了重複或隱藏向量的需要。位置編碼會改為維護有關序列中每個元素位置的資訊。

轉換器在許多應用程式中取代了 RNN,尤其是在 NLP 任務中,因為它們可以更有效地處理長距離相依性。它們也具有比 RNN 更大的可擴展性和效率。RNN 在某些內容中仍然很有用,尤其是在模型大小和運算效率比擷取長距離互動更重要的時候。

轉換器與CNN

CNN 是專為類似網格的資料而設計,例如影像,其中空間階層和位置是關鍵。它們使用卷積層在輸入之間套用篩選,並透過這些篩選檢視擷取本機模式。例如,在影像處理中,初始層可能會偵測邊緣或紋理,而更深層的層會辨識更複雜的結構,例如形狀或物件。

轉換器主要設計用於處理序列資料,無法處理影像。視覺轉換器模型現在正在透過將影像轉換為連續格式來處理影像。然而,CNN 仍然是許多實用電腦視覺應用程式的高效和有效選擇。

轉換器模型有哪些不同的類型?

轉換器已經發展成多元架構系列。以下是一些類型的轉換器型號。

雙向轉換器

基於轉換器的雙向編碼器表示形式 (BERT) 模型會修改基礎架構,以與句子中所有其他字詞的關係來處理字詞,而不是單獨處理字詞。技術上來說,它使用一種稱為雙向遮罩語言模型 (MLM) 的機制。在預先訓練期間,BERT 會隨機遮罩一些百分比的輸入字符,並根據其內容預測這些遮罩字符。雙向層面源於 BERT 同時考慮兩層中由左至右和由右至左的字符序列,以獲得更好的理解。

生成式預先訓練轉換器

GPT 模型使用堆疊轉換器解碼器,這些解碼器會透過使用語言建模目標在大型文字集上預先訓練。它們是自動迴歸的,這表示它們會根據前面的所有值迴歸或預測序列中的下一個值。透過使用超過 1750 億個參數,GPT 模型可以產生根據樣式和語氣調整的文字序列。GPT 模型激發了人工智慧的研究,以實現通用人工智慧。這表示組織可以在重塑其應用程式和客戶體驗的同時,達到新的生產力層級。

雙向和自動迴歸轉換器

雙向和自動迴歸轉換器 (BART) 是一種結合雙向和自動迴歸屬性的轉換器模型。它就像 BERT 的雙向編碼器和 GPT 的自動迴歸解碼器的混合。它一次讀取整個輸入序列,並且像 BERT 一樣雙向。但是,它產生的輸出序列是一次一個字符,這是根據先前產生的字符和編碼器提供的輸入。

用於多模式任務的轉換器

多模式轉換器模型 (例如 ViLBERT 和 VisualBERT) 的設計目的是處理多種類型的輸入資料,通常是文字和影像。它們透過使用雙串流網路來擴展轉換器架構,在融合資訊之前,分別處理視覺和文字輸入。此設計可讓模型學習跨模式表示。例如,ViLBERT 使用共同關注的轉換器層來讓個別的串流互動。對於理解文字和影像之間的關係是關鍵的情況至關重要,例如視覺化回答問題任務。

視覺轉換器

視覺轉換器 (ViT) 將轉換器架構重新用於影像分類工作。它們不會將影像處理為像素網格,而是將影像資料視為固定大小修補的序列,這類似於句子中字詞的處理方式。每個修補都會平整、線性嵌入,然後由標準轉換器編碼器依序處理。新增位置內嵌以維護空間資訊。這種全域自我關注使模型能夠擷取任何一對修補之間的關係,無論其位置如何。

AWS 如何支援您的轉換器模型要求?

Amazon Web Services (AWS) 提供下列 AI/ML 服務,您可以用於轉換器模型要求。

Amazon SageMaker JumpStart 是 ML 中心,您可以在其中存取預先訓練的轉換器來執行文章摘要和影像產生等任務。預先訓練的模型可針對您的資料使用案例來完全自訂,而且您可以透過使用者介面或 SDK 輕鬆將其部署到生產環境中。

Amazon Bedrock 是全受管服務,提供來自領導 AI 公司的高效能轉換器選擇,例如 AI21 Labs、Anthropic、Cohere、Meta、Stability AI 和具有單一 API 的 Amazon。Amazon Bedrock 擁有建置生成式 AI 應用程式所需的廣泛功能,可簡化開發同時維護隱私權和安全。例如,您可以:

  • 輕鬆實驗各種頂級基礎模型,並根據您的資料私下自訂
  • 建立可執行複雜業務任務的受管代理程式,而無需撰寫任何程式碼
  • 在您的應用程式中安全地整合及部署生成式 AI 功能,無需管理基礎設施

您也可以使用 AWS Trainium,這是 AWS 專為超過 1000 億個參數模型的深度學習訓練而打造的第二代 ML 加速器,更快地訓練您的轉換器模型。每個 Amazon Elastic Compute Cloud (Amazon EC2) Trn1 執行個體最多部署 16 個 Trainium 加速器,為雲端深度學習訓練提供高效能、低成本的解決方案。 

立即建立帳戶,開始在 AWS 使用轉換器模型。

AWS 的後續步驟

註冊免費帳戶

立即存取 AWS 免費方案。

註冊 
開始在主控台進行建置

開始在 AWS 管理主控台進行建置。

登入