Transformer 是一種特定的神經網路架構,徹底改變了人工智慧領域,尤其是在自然語言處理 (NLP) 中。它是大型語言模型(如 ChatGPT)的核心技術。
LLMs 是基於大量文字資料訓練的 AI 系統,能夠生成類似人類的文字、翻譯語言、撰寫不同類型的創意內容,以及回答問題。Transformer 架構使這些模型能夠以全新的方式處理和理解語言,從而實現過去無法達到的效果。
輸入分詞 (Input Tokenization):
文字輸入被分解為稱為“token”的小單元,然後將其與表示意義的數值向量相關聯。
嵌入矩陣 (Embedding Matrix):
該矩陣將每個 token 對應為其在高維空間中的初始向量表示。語義相近的詞通常在該空間中聚集在一起。模型在訓練過程中通過調整權重來決定詞語如何被嵌入為向量,最終會形成一個嵌入集,其中空間中的方向具有某種語義意義。
注意力模組 (Attention Blocks):
這些模組使向量能夠相互作用,並根據周圍詞語的上下文更新其語義。
注意力模組負責確定上下文中那些詞語與其他詞語的語義更新相關,以及具體如何更新這些語義。
多層感知機模組 (MLP Blocks):
這些模組對向量進行進一步處理,最佳化其表示。
輸出生成 (Output Generation):
序列中的最終向量用於預測下一個 token 的機率分佈。
重複預測與採樣 (Repetitive Prediction and Sampling):
大型語言模型通過反覆預測下一個詞、從分佈中採樣並將其附加到現有文字中來生成文字。
詞嵌入與上下文意義
幾何表示 (Geometric Representation):
詞嵌入被可視化為高維空間中的點,其位置編碼了語義關係。
上下文適配 (Contextual Adaptation):
向量在經過 Transformer 的過程中,其初始語義會根據周圍上下文被進一步最佳化。想想你對某個詞的理解。這個詞的意義顯然是由周圍的上下文決定的,有時這種上下文可能來自很遠的距離。
點積相似性 (Dot Product for Similarity):
向量之間的點積用於測量它們的對齊程度,以表明語義相似性。
權重矩陣 (Weight Matrices):
Transformer 使用大量的權重矩陣,這些矩陣的值在訓練過程中被調整以最佳化性能。
GPT-3 的規模 (GPT-3 Scale):
GPT-3 具有 1750 億個參數,這些參數被組織為成千上萬個矩陣,展示了模型的複雜性。
反向傳播演算法 (Backpropagation Algorithm):
這種演算法被用來訓練包括 Transformer 在內的深度學習模型。
機率分佈 (Probability Distribution):
Softmax 函數將輸出值歸一化為機率分佈,確保這些值介於 0 和 1 之間且總和為 1。
溫度控制 (Temperature Control):
溫度參數可用於調整分佈,使其更均勻或更集中特定值,從而影響輸出的創造性。
上下文限制 (Limited Context):
Transformer 的上下文長度是固定的,這限制了它在預測中可以考慮的文字量。
語義丟失 (Loss of Thread):
在長對話中,由於這一限制,一些聊天機器人可能會丟失上下文。
Transformer 處理文字的過程包括以下步驟:
1.文字分詞並將每個 token 轉換為嵌入向量;
2.向量經過一系列注意力模組和 MLP 模組流動:
注意力模組允許向量根據上下文相互作用並更新其語義,MLP 模組進一步最佳化向量的語義表示;
3.最終的向量用於預測序列中的下一個 token。
通過大規模的文字和程式碼資料集進行訓練,模型學習調整其嵌入矩陣、注意力模組和 MLP 模組中的參數,以精準預測序列中的下一個 token。
訓練過程依賴反向傳播演算法(Backpropagation),該演算法通過計算模型誤差並調整參數以最小化誤差。
一些常見問題
1. 注意力機制在 Transformer 模型中有何意義?
注意力機制是 Transformer 架構的一項關鍵創新。它使模型能夠專注於輸入文字中最相關的部分,從而更好地理解其含義。例如,在句子“The cat sat on the mat”中,注意力機制可以幫助模型理解“sat”與“cat”和“mat”密切相關。
這一過程使模型能夠捕捉詞語之間的長距離依賴關係,更好地理解句子的上下文,從而克服了之前語言模型的主要侷限性。
2. “嵌入”在語言模型中是如何工作的?
詞嵌入是一種將詞語表示為數字向量的技術。這些向量從大規模資料集中學習,能夠捕捉詞語的語義含義。語義相似的詞具有相似的向量,這使得模型能夠理解詞語之間的關係。
對於 Transformer 來說,嵌入過程至關重要。通過將詞語轉換為向量,模型可以進行數學運算並學習模式,而這些操作在原始文字上是難以實現的。
3. 嵌入矩陣和反嵌入矩陣的作用是什麼?
嵌入矩陣 (Embedding Matrix):
在處理開始時,將每個 token 轉換為對應的向量表示。嵌入矩陣是一個大型矩陣,其中每一列表示模型詞彙表中某個 token 的嵌入。
反嵌入矩陣 (Unembedding Matrix):
在處理結束時,將最終的處理向量轉換回對所有可能 token 的機率分佈。該分佈用於預測序列中的下一個詞或短語。
3. 在語言模型輸出中,什麼是“溫度”?
溫度是一個控制模型輸出隨機性的參數。溫度越高,輸出越多樣化且出人意料;溫度越低,輸出越可預測且更具確定性。
可以將其視為調整創造力的“旋鈕”。更高的溫度意味著生成的文字更加有創意和出乎意料,而更低的溫度則意味著輸出更加一致和可靠。
4. “logits”和“softmax”在語言模型預測中是什麼概念?
Logits:
是模型最後一層的原始、未歸一化的輸出,表示模型對每個可能下一個 token 的置信度。
Softmax:
是將這些 logits 轉換為機率分佈的函數。它確保所有可能 token 的機率總和為 1,從而使模型能夠做出預測。
簡而言之,logits 是模型的原始猜測,而 softmax 將這些猜測轉化為可以用於選擇最可能下一個詞的機率分佈。 (人工世界Artificial World)