Transformer、訓練與解碼:三個不同問題|CMU 10-423 主題單元
同樣一份歷史文字,模型怎麼讀、怎麼學、怎麼抽下一個token,是三個問題。注意力決定資訊如何混合;訓練目標用正確答案改參數;解碼策略在固定模型下選輸出。原本把第2–3堂合在一起,容易讓讀者以為換解碼策略就是換模型。這篇保留主題關係,完整機制與練習分開讀。
同樣一份歷史文字,模型怎麼讀、怎麼學、怎麼抽下一個token,是三個問題。注意力決定資訊如何混合;訓練目標用正確答案改參數;解碼策略在固定模型下選輸出。原本把第2–3堂合在一起,容易讓讀者以為換解碼策略就是換模型。這篇保留主題關係,完整機制與練習分開讀。
清大高宏宇 NLP(Fall 2025)Transformer 單元導讀。投影片從 RNN 的兩個毛病出發:字跟字的互動要隔著 O(N) 步傳遞,時間步之間又不能平行。Self-attention 讓每個字直接看所有字,用矩陣乘法一次算完,兩個毛病同時解掉;代價是模型分不出詞序,所以要補正弦位置編碼。之後依序組出 multi-head attention、Add & Norm、feed forward、cross-attention、masked attention 與 teacher forcing,最後用 GPT-2、ViT 與四種變體說明這個架構後來走多遠。
Lec 21 先講 CNN 缺什麼:只有頂層看得到整張圖。接著用 TF-IDF、RNN 看圖說話、soft attention 鋪路。Lec 22 從「軟性字典查詢」推出 self-attention:Q、K、V 三個線性層,SoftMax(QKᵀ/√D)V,再加上多頭、MLP、殘差與 LayerNorm,組成 transformer layer。attention 本身不看順序,所以需要位置編碼。Discussion 10 手算一次 QKV,並證明為什麼要除以 √D。
HW4 Problem 1(40 分)分五小題拆解 self-attention:2×2 手算、為什麼除以 √dk、沒有位置編碼時的 permutation equivariance、只用 NumPy 寫單頭注意力、用 PyTorch 寫多頭並在合成資料上畫注意力熱圖。
Transformer 的核心是 self-attention:對每個 token,模型算出它跟其他所有 token 的相關程度,然後按權重加總。這讓模型能跨越距離抓到「it 指的是 cat 不是 mat」這種關係,也是它處理長文的基礎。
第 5 講從 RNN 的長距離與循序瓶頸走到 self-attention,再組成 Transformer;它縮短位置間的資訊路徑並容許平行計算,但付出二次方 attention 成本與位置資訊必須另行注入的代價。