加課 · AI 的數學
✦ 番外 · 智慧的算術
Attention(Q,K,V) = softmax(QKT∕√d)·V
AI 的數學 · The Math Behind ChatGPT
你每天對 AI 說的每一句話,都在跑這條式子 —— 包括這一課本身。
📜 公式的身世
一篇標題像歌名的論文
2017 年,Google 的八位工程師發表了一篇論文,標題玩了披頭四的歌名梗:〈Attention Is All You Need〉(你只需要注意力/愛)。他們原本只是想把「機器翻譯」做快一點 —— 把當時主流的循環網路整個丟掉,只留下一個叫「注意力」的機制。沒有人料到,這個為翻譯設計的架構(Transformer)一路放大,會湧現出對話、寫作、推理 —— ChatGPT、Claude、Gemini,心臟全是這條公式。後記也傳奇:八位作者後來全數離開 Google,各自創業或加入新實驗室;而這篇論文成了二十一世紀被引用最多的論文之一。一個貼切的巧合:你現在讀的這份教材,正是一個 Transformer 寫的 —— 公式,在向你解釋它自己。
🌍 它今天在哪裡上工
💬
每一次 AI 對話 —— ChatGPT、Claude、Gemini 生成的每一個字,都是這條公式跑出來的:你的問題被切成 token、變成向量、互相注意、擲骰子選字 —— 每個字重複一遍。
🧬
AlphaFold 摺蛋白質 —— 把氨基酸序列當句子、用注意力機制猜立體結構,解開生物學五十年懸案 —— 2024 年諾貝爾化學獎,頒給了「注意力」的一次跨界出差。
⌨️
翻譯與輸入法 —— Google 翻譯、手機鍵盤的下一字預測、語音轉文字 —— 注意力機制的老本行(它本來就是為翻譯發明的),早已鋪滿你的手機。
這堂加課,是整個系列最大的一場收割:012 的矩陣、013 的特徵向量、014 的馬可夫鏈、011 的資訊熵、016 的 SVD —— 當年各自為政的工具,今天全部進同一台機器上工。AI 聽起來玄,數學上只有一條流水線:字變成數字(token)→ 數字變成方向(嵌入向量)→ 每個字回頭看全句(注意力)→ 天文數字的矩陣乘法 → 擲骰子選下一個字。一章一站,拆給你看。
🧠大語言模型不是「懂」語言,是把語言變成幾何 —— 意思是空間裡的方向、關聯是向量的內積、選字是機率的骰子;所謂智慧,目前為止,是一場規模大到湧現奇蹟的線性代數。
四章:先看字怎麼變成向量 —— 「國王 − 男人 + 女人 = 王后」不是比喻,是真的算術;再拆注意力機制 —— 讓句子裡的「它」自己找到「蘋果」;然後進機房:√d 為什麼躲在公式裡、一個字要付多少次乘法(7B 模型:144 億次 —— 你手算要 444 年);最後開相認大會:馬可夫、熵、SVD、矩陣乘法,全員到齊,外加「溫度」的擲骰子真相。
Part 1 · 拉了就懂(白話)
I
第一章 · Token 與嵌入:字變數字,意思變方向
「國王 − 男人 + 女人 = 王后」不是修辭 —— 是向量加減法,親手算給你看。
🗺電腦不認識字,只認識數字。第一步:把句子切成 token(中文約一到兩字一顆);第二步才是魔法 —— 給每顆 token 一組座標,叫嵌入向量:意思相近的字,座標靠近;而意思之間的「關係」,變成方向。最著名的示範:「國王」的向量減「男人」加「女人」,落點正是「王后」 —— 因為「性別」是空間裡一支固定的箭頭。真實模型用上萬維(GPT-3 是 12288 維),今天用 2 維讓你看穿本質:語言的意義,被翻譯成了幾何(013 的向量,正式進 AI 上工)。
互動 · 二維嵌入地圖 · 虛線箭頭=把「關係向量」平移過去
向量算式—
算出來的落點—
最近的詞—
這支箭頭的名字—
玩玩看,注意這些
- 皇室組:金色實線箭頭是「男人 → 女人」(這就是性別向量);虛線是同一支箭頭平移到國王身上 —— 落點分毫不差是王后。減掉男人、加上女人,做的就是「沿性別方向走一步」。
- 切到首都組:「台灣 → 台北」的箭頭,平移到日本 → 落在東京;平移到韓國 → 落在首爾。「首都」這個概念,是空間裡同一支箭頭 —— 這就是嵌入的驚人之處:模型沒背過「首都表」,它把關係存成了方向。
- 看那顆孤零零的「便當」:跟皇室誰都不像(距離遠、內積小)—— 相似度 = 向量夾角(003 的 cos 上工):cos(王后, 女人) = 0.707,cos(王后, 便當) ≈ 負的。真實模型的 12288 維空間裡,每個詞都這樣被安置在它的語意鄰居旁邊。
一句話帶走:token 把語言切成顆粒,嵌入把顆粒變成高維座標 —— 意思近 = 距離近、關係 = 方向、相似度 = 內積;「國王−男人+女人=王后」是幾何,不是修辭。
II
第二章 · 注意力機制:每個字回頭看全句
「小明把蘋果吃了,因為它很甜」—— 「它」是誰?注意力讓句子自己回答。
👀讀這句話:「小明把蘋果吃了,因為它很甜。」你不假思索知道「它」是蘋果不是小明 —— 但電腦怎麼知道?2017 年之前這是大難題;Transformer 的解法優雅到不像話:讓每個字對句子裡所有字打分數。每個字帶三張名片 —— Q(我在找什麼)、K(我是什麼)、V(我能提供什麼):「它」的 Q 寫著「找一個具體的、可以被形容的東西」,「蘋果」的 K 正好對上 —— 內積分數高;所有分數丟進 softmax 變成百分比,再按比例把大家的 V 加權平均 —— 「它」的新向量裡,71% 是蘋果。點下面的字,親眼看誰在注意誰。
互動 · 點一個字當「查詢」 · 弧線粗細=注意力權重(softmax 真算)
查詢的字(Q)—
它最注意誰—
注意力前三名—
權重總和—
玩玩看,注意這些
- 選「它」:71% 的注意力射向「蘋果」 —— 代名詞找到了主人,這叫指代消解,曾是語言學的硬骨頭,注意力機制順手就解了。選「吃了」:注意力分給「蘋果」(48%)和「小明」(32%)—— 動詞同時盯著受詞與主詞,句法自己浮現了,沒人教它文法。
- 盯綠色那行:不管誰當查詢,權重加起來永遠 = 1 —— 這就是 softmax 的工作:把任意分數變成一張合法的機率分配(011 的機率語言上工)。注意力 = 「把 1 塊錢的注意力預算,分給全句」。
- 真實模型比這狂:GPT-3 每層有 96 顆注意力頭同時各看各的(一顆管指代、一顆管語法、一顆管韻律…),96 層疊上去 —— 你看到的這張圖,在真機器裡同時存在幾千張。
一句話帶走:注意力 = 每個字用 Q 對全句的 K 打分、softmax 成機率、按比例混合 V —— 「它」因此知道自己是蘋果;文法沒人教,是權重自己學出來的。
Part 2 · 帶入深度
III
第三章 · 機房裡的 √d:公式最不起眼的字符,與天文數字的乘法
為什麼要除以 √d?不除,softmax 會變獨裁 —— 順便算算一個字值多少次乘法。
🌡公式裡最容易被死背跳過的,是那個 √d。它是溫控器:向量維度 d 越高,內積(一堆數字相乘再加總)自然越大 —— 分數一大,softmax 就飽和成獨裁:一家拿 100%、其他全歸零,模型學不到細膩的分配(數學上:梯度消失)。除以 √d,把分數壓回合理範圍 —— 民主保住了。下面的實驗:同一組分數,維度從 4 拉到 512,看不除 √d 會發生什麼事。
互動 · 同一組注意力分數 · 上排:不除 √d · 下排:除了 √d
不除 √d:最大權重—
除以 √d:最大權重—
診斷—
玩玩看,注意這些
- d=4:兩排差不多,最大權重都約 52%。切到 d=512:上排變成 100% 的獨裁(其他字全被滅聲),下排紋風不動 —— 就這麼一個 √d,救回了整台機器的學習能力。公式裡沒有裝飾品:每個符號都是一條血淚教訓。
- 權重矩陣在哪?Q、K、V 不是天生的 —— 是每個字的嵌入向量乘上三個權重矩陣(W_Q、W_K、W_V)變出來的;所謂「訓練模型」,就是調這些矩陣裡的數字,調到「它」會看蘋果為止。7B 模型 = 70 億個這種數字。
- 算一筆帳:生成一個 token ≈ 2 × 參數量次乘加 —— 7B 模型 = 144 億次。你拿計算機一秒按一次,要按 444 年才生出一個字;一張 H100 顯卡只要 14 微秒 —— 這就是加課〈矩陣乘法〉說的「全世界搶購矩陣乘法機」的原因。
🧊 「張量」是什麼?矩陣的高維版:一批句子 × 每句的字數 × 每字的維度 = 三維數字方塊 —— GPU 一口把整塊吞下去平行算,這就是「張量計算」。名字聽起來玄,本體是疊起來的矩陣(012 的老朋友,疊了兩層)。順帶:GPT-2 每字 768 維、12 層;GPT-3 是 12288 維、96 層 —— 同一條流水線,只是加寬加深。
一句話帶走:√d 是 softmax 的溫控器(不除會獨裁、梯度會死);Q/K/V 來自三個權重矩陣,訓練 = 調矩陣;一個字 = 2N 次乘加 —— 7B 模型手算 444 年,H100 14 微秒。
IV
第四章 · 相認大會:整套課程在這台機器裡上工
馬可夫、熵、SVD、矩陣 —— 你學過的每一課,都是這台機器的一顆零件。
🎓拆到底你會發現:AI 沒有用到任何一種你沒學過的數學。014 的「看前文猜下一個」是它的骨架、012 的矩陣是它的肌肉、011 的熵是它的考卷、016 的 SVD 住在它的嵌入空間裡 —— 這一課不是新知識,是一場畢業典禮。
⛓馬可夫鏈:百年前的骨架
014 馬可夫數《奧涅金》的母音,骨架就是「看前文、猜下一個」—— LLM 是同一個問題的超級版:context 從前 1 個字變成前 20 萬個字,轉移表變成 700 億參數的神經網路。
🎲熵:AI 的考卷
訓練的目標函數 = 交叉熵:模型對真實下一字給的機率越高,罰分越低 —— 011 的 −log p 直接當考卷;「困惑度」(perplexity)就是 2^熵。壓縮與智慧,是同一場考試。
📉SVD:住在嵌入空間裡
上萬維的詞向量空間裡,「性別」「時態」「首都」這些方向就是資料的主軸(016 的奇異向量);微調大模型的 LoRA 技術,更是直接用低秩分解 —— 016 的「低秩世界」變成產業標配。
🔥矩陣乘法:燒錢的本體
加課〈矩陣乘法〉的收尾在此兌現:訓練一個前沿模型要 10²⁵ 次浮點運算等級的矩陣乘法 —— 資料中心、核電合約、輝達市值,全是這一顆運算的帳單。
✦ 最後一站 —— 擲骰子與「溫度」:流水線的終點,模型對詞彙表裡每個字給一個機率(softmax 的最後一次出場),然後擲骰子選字。那個你在 API 裡看過的「temperature」參數,就是骰子的公平度:T 低 → 幾乎永遠選最大機率(保守、重複);T 高 → 機率攤平(放飛、胡言) —— 008 的期望值與骰子,管到了 AI 的性格。所以同一個問題,AI 每次答得不一樣 —— 不是它善變,是它每個字都在擲骰子。預告掛號:這台機器怎麼「學」?—— 梯度下降:對 70 億個參數同時做 004 的微分、往損失下坡走一步 —— 訓練篇,改天加課。
一句話帶走:LLM = 馬可夫的問題 + 矩陣的身體 + 熵的考卷 + 骰子的嘴巴;你學過的每一課都在裡面上班 —— 而它學會的方式(梯度下降),是微積分,下回分解。
拆開 AI,裡面沒有魔法 ——
字變向量、意思變方向、關聯變內積、說話變擲骰。
「它」找到蘋果,靠的是一場加權平均;
√d 一個小字符,守住了整台機器的民主;
馬可夫、熵、矩陣、SVD —— 舊課全員,今日上工。
智慧是什麼,沒人說得準;
但此刻它的形狀,是一場大到湧現奇蹟的線性代數。