人工智慧 大語言模型 線性代數 推論架構 數學底層

工程師必備的高中數學思維實務

許多軟體工程師在跨入大型語言模型(LLM)技術領域時,往往被論文中密密麻麻的偏微分、反向傳播與統計學習理論勸退。然而,資深技術作者 Giles Thomas 指出:若你的目標是透徹理解 LLM 在推論(Inference)階段的運作機制,而非從頭研發基礎架構,你所需要的數學工具幾乎不超出高中範疇——核心完全圍繞在向量(Vectors)、高維空間幾何、內積(Dot Product)以及矩陣乘法投影(Matrix Projections)。

導讀核心提要: 本文針對 Giles Thomas 深入剖析 Sebastian Raschka 著作《從零構建大語言模型(Build a Large Language Model from Scratch)》第 19 部分的心得進行完整架構解構,聚焦於模型如何將離散文字映射為連續幾何空間,並完成預測與轉換。

1 向量本質:從數值陣列到高維空間座標

在傳統軟體開發中,工程師通常將「向量(Vector)」單純視為浮點數或整數的陣列(Array of Numbers)。但在幾何與線性代數中,一個長度為 n 的向量具有更豐富的物理意義:它是 n 維空間中自原點出發的距離與方向,同時也代表該空間中的唯一點座標。

在二維平面中,向量 (2, −3) 代表向右移動 2 單位、向下移動 3 單位;在三維空間中,(5, 1, −7) 則定義了立體空間中的特定位置。當維度擴展到數百甚至數萬維時,人類大腦已無法直接視覺化,但其代數本質與幾何法則完全不變。在 LLM 內部,所有特徵、機率與語意資訊,全部透過這種高維座標來精準表達。

✓ 一維陣列即高維空間中的定點座標
✓ 向量夾角與長度決定幾何關係
✓ 高維代數法則與二維平面幾何完全一致

2 詞彙空間(Vocab Space)與 Softmax 歸一化

當 LLM 處理輸入序列並準備預測下一個 Token 時,模型最後一層輸出的是未歸一化的對數機率,即 Logits 向量。以經典的 GPT-2 模型為例,其分詞器(Tokenizer)詞彙表大小為 50,257,這代表每個 Logits 向量的長度恰好是 50,257,對應於 50,257 維的龐大空間。

每個維度(Slot)的分數代表對應 Token 作為下一個字的相對傾向。例如編號 464 的位置代表單詞「The」,其數值高低代表接續該詞的強烈程度。然而,這種未經處理的空間非常「混亂」,例如向量 (1, 2, 3) 與 (−9, −8, −7) 具有完全相同的相對排序,但數值級距不同。

softmax_normalization.py
import torch
import torch.nn.functional as F

# 兩個看似數值相差極大的未歸一化 Logits
logits_a = torch.tensor([1.0, 2.0, 3.0])
logits_b = torch.tensor([-9.0, -8.0, -7.0])

# 經過 Softmax 映射到標準機率分佈
prob_a = F.softmax(logits_a, dim=-1)
prob_b = F.softmax(logits_b, dim=-1)

print("機率分佈 A:", prob_a.numpy().round(3))  # [0.09, 0.244, 0.665]
print("機率分佈 B:", prob_b.numpy().round(3))  # [0.09, 0.244, 0.665]

透過 Softmax 函數,我們能將混亂的 Logits 向量壓制在 [0, 1] 區間內,並且保證所有維度數值加總嚴格等於 1,轉換為標準的機率分佈。這使得模型能夠以清晰的機率權重進行採樣(Sampling)或貪婪搜尋(Greedy Search)。

3 嵌入空間(Embedding Space)與語意幾何聚集

除了詞彙預測空間外,LLM 最核心的概念在於嵌入空間(Embedding Space)。在這個高維空間中,向量不再代表詞彙機率,而是代表「意義(Semantics)」。

在訓練良好的嵌入空間中,具有相似概念或關聯性的詞彙會聚集在相近的空間區域。例如,「家貓」、「獅子」與「老虎」會聚集在貓科動物叢集中;而「柴犬」、「狼」與「土狼」則分佈在犬科叢集中。這兩者又共同座落於「哺乳動物」的廣闊幾何超曲面之中。

重要觀念辨析: 在語意嵌入空間中,我們通常不在意向量的絕對長度(模長),而是極度關注向量在空間中所指向的角度與方向。在二維示範中,(1, 2) 與 (8, 16) 指向同一個方向,因此在語意比較時往往被視為等價特徵。

4 內積(Dot Product)與餘弦相似度度量

若要衡量高維空間中兩個語意向量有多相似,最基礎且計算效率最高的數學運算就是內積(Dot Product)。給定兩個相同長度的向量,其計算方式即為各元素對應相乘後全部加總:

dot_product_similarity.py
# 向量內積範例:(a · b) = sum(a_i * b_i)
# 向量 A: [2, 3, 4]
# 向量 B: [1, 0, 2]
dot_product = (2 * 1) + (3 * 0) + (4 * 2)  # 2 + 0 + 8 = 10

# 若事先進行 L2 歸一化(長度變為 1),內積即精確等於餘弦相似度(Cosine Similarity)
# Cosine Similarity = cos(θ) = (A · B) / (||A|| * ||B||)

當兩個向量長度相近時,內積數值越大,代表兩者方向越一致、語意越貼近。如果在運算前先將向量進行 L2 歸一化,內積便直接等同於餘弦相似度(Cosine Similarity)。這項運算正是 Transformer 架構中自注意力機制(Self-Attention)計算 Query 與 Key 權重配對的核心基礎。

5 矩陣乘法本質:高維空間中的幾何變換與投影

矩陣在本質上就是多個向量的堆疊。在神經網路中,矩陣乘法絕非純粹的代數排列組合,其真正的物理意義在於空間幾何變換與投影(Geometric Transformation & Projection)。

以最經典的旋轉矩陣為例,當我們將座標向量乘上旋轉矩陣時,等於將整個座標系進行旋轉;同理,神經網路中每一層全連接層或注意力投影層,本質上都是將特徵向量從一個高維度空間投影到另一個具有特定幾何結構的特徵空間:

projection_math.txt
線性變換基本形式:
Y = X · W  (其中 X 為輸入特徵矩陣,W 為權重變換矩陣)

幾何作用:
1. 旋轉(Rotation)與縮放(Scaling)特徵分佈
2. 維度升降(Projection between Spaces,如從 Hidden State 映射至 Vocab Space)
3. 語意提取(透過投影萃取特定語意維度,例如注意力權重矩陣 W_q, W_k, W_v)

6 LLM 推論核心數學概念速查對照表

數學概念 代數定義 LLM 推論實務對應 幾何物理意義
向量 (Vector) 有序數值陣列 [x1, x2, …, xn] Token 嵌入特徵、隱藏層狀態、Logits 評分 n 維特徵空間中的方向與位置座標
Softmax 函數 σ(zi) = ezi ∑j ezj 將輸出 Logits 轉換為各 Token 的採樣機率分佈 將全域無界數值壓縮並歸一化至標準機率超平面
內積 (Dot Product) A · B = ∑ AiBi 計算注意力機制中的注意力分數 (Q · KT) 衡量兩向量方向的一致性與語意相關程度
矩陣投影 (Projection) Y = XW + b 特徵映射、前饋神經網路層、注意力權重線性變換 空間旋轉、拉伸、維度壓縮或高維空間重構