分詞:子詞與位元組對編碼
模型不讀字元,而讀 token。現代 LLM 多用子詞分詞(如 BPE、WordPiece、Unigram):從字元開始,反覆合併語料中最高頻的相鄰單元,直到達到詞彙表大小。這在「整詞」與「字元」之間取平衡——常見詞成單一 token,罕見詞拆成子詞,且能處理未登錄詞與多語言。
實務後果:計費與長度上限皆以 token 計;中文約一字一至多 token、英文一 token 約 0.75 詞;分詞方式甚至影響模型在拼字、算術上的弱點(數字被切碎)。
嵌入:把離散符號映入連續空間
每個 token id 透過嵌入矩陣 $E\in\mathbb{R}^{|V|\times d}$ 查表成向量 $e=E_{\text{id}}\in\mathbb{R}^{d}$。輸出端則以(常與 $E$ 綁定的)矩陣投影回詞彙,配 softmax 得下一字分布。$E$ 不是預設的,而是和整個網路一起訓練出來的參數。
分布語意:意義即幾何
嵌入的理論根基是分布假說(Firth:「觀其伴而知其義」)——出現在相似脈絡的詞,意義相近。word2vec 用淺層自監督學到的向量,使語意相似對應幾何鄰近,且呈現線性結構:
$$ \mathrm{vec}(\text{國王})-\mathrm{vec}(\text{男人})+\mathrm{vec}(\text{女人})\approx \mathrm{vec}(\text{女王}) $$
相似度常用餘弦相似度 $\cos(u,v)=\dfrac{u^\top v}{\lVert u\rVert\,\lVert v\rVert}$。
靜態 vs. 脈絡化嵌入
word2vec 給每個詞一個固定向量(靜態),無法區分「蘋果(水果)」與「蘋果(公司)」。Transformer 的內部表徵是脈絡化嵌入:同一個 token 在不同句子得到不同向量,因為自注意力讓它融合了上下文。這是現代語意檢索品質躍升的關鍵。
為何這是基礎設施
把文字編碼成向量,使「語意」成為可計算的幾何量,撐起一整類應用:
- 語意搜尋:問題與文件同編碼成向量,取餘弦最近者,依「意思」而非「字面」檢索。
- RAG:先以嵌入檢索相關段落,再餵給 LLM 作答(見〈檢索增強生成〉)。
- 向量資料庫與 ANN:上億向量無法線性掃描,靠近似最近鄰(如 HNSW 圖索引)在次線性時間內檢索,是 RAG 與推薦系統的工程底座。
一句話:LLM 的世界裡,意義被編碼成高維幾何。掌握 token 與 embedding,就掌握了 AI 處理語言的底層貨幣。
深入探討(研究所視角)
嵌入幾何與各向異性
入門段落把嵌入看作可任意比較內積的向量,但實證上 Transformer 學到的詞嵌入並非均勻散佈於球面,而是塌縮進一個狹窄的圓錐——即所謂各向異性(anisotropy)。Gao 等人提出的「表徵退化(representation degeneration)」指出,在以最大似然訓練語言模型時,低頻 token 的嵌入會被推往同一方向,使得任兩個嵌入的平均餘弦相似度遠大於零。這破壞了「相似度 $\cos(\mathbf{u},\mathbf{v})$ 直接反映語意接近」的直覺。後續工作(如 BERT-flow、whitening、SimCSE 的對比學習)本質上都是在做等向化(isotropization):尋找變換 $W$ 使 $\tilde{\mathbf{x}}=W(\mathbf{x}-\boldsymbol{\mu})$ 的協方差趨近 $I$,
$$\tilde{\Sigma}=W\,\Sigma\,W^{\top}\approx I,\qquad W=\Sigma^{-1/2},$$
從而讓 $\ell_2$ 距離與內積在統計上「公平」。這也說明為何檢索系統常在嵌入後再接一層正規化或 PCA 白化。
上下文化嵌入的理論張力
從靜態(word2vec、GloVe)到上下文化(Transformer hidden states)的躍遷,使「一個 token 一個向量」失效:同一字在不同句中對應不同點。一個值得注意的理論結果是 self-attention 的置換等變性(permutation equivariance)——若不加位置編碼,注意力層對輸入序列的任意置換 $\pi$ 滿足 $f(\pi X)=\pi f(X)$,因此模型本身「看不見順序」。位置資訊全由 positional encoding 注入,這也是 RoPE(rotary position embedding)等方法之所以重要的根源:RoPE 以旋轉矩陣 $R_{\theta,m}$ 作用於 query/key,使內積僅依賴相對位置 $m-n$,
$$\langle R_{\theta,m}\mathbf{q},\,R_{\theta,n}\mathbf{k}\rangle=\mathbf{q}^{\top}R_{\theta,\,n-m}\mathbf{k},$$
為長度外推(length extrapolation)提供了理論基礎。
Tokenization 的資訊論與開放問題
分詞並非中性的前處理。BPE 與 Unigram LM 可視為對序列描述長度的近似最小化,與 MDL(minimum description length)原則相連;理想的 tokenizer 應讓單位 token 攜帶接近均勻的資訊量,避免高頻片段稀釋熵。然而現行方法存在已被關注的病態:罕見組合產生的 glitch tokens(如某些未充分訓練的特殊字串)會觸發異常行為;多語言下的「token premium」使非拉丁語系(含中文)以更多 token、更高成本表達同等語意。由此衍生出活躍的研究方向——byte-level / tokenizer-free 模型(如 ByT5、以及以動態分塊取代固定詞表的 patching 方案),試圖將分詞納入端到端學習,消除離散詞表帶來的歸納偏誤。
與其他主題的連結
嵌入空間最終回扣到表示學習的核心命題。Johnson–Lindenstrauss 引理保證 $n$ 個點可嵌入 $O(\varepsilon^{-2}\log n)$ 維而近似保距,為「為何中等維度即足以容納龐大詞彙」提供下界直覺;而 softmax 輸出層 $\,p(w)\propto\exp(\mathbf{h}^{\top}\mathbf{e}_w)\,$ 本質是嵌入幾何與機率分佈的對偶,使 token、embedding 與最終生成機率在同一向量空間中閉環。