習(xí)導(dǎo)論 2025》第 3 講 - 學(xué)習(xí)筆記1)
《生成式人工智能與機器學(xué)習(xí)導(dǎo)論 2025》第 3 講-學(xué)習(xí)筆記1. LLM生成文字的整體流程大型語言模型Large Language Model, LLM生成文本時并不是直接“理解問題并寫答案”而是通過多層神經(jīng)網(wǎng)絡(luò)逐步轉(zhuǎn)換表示最終預(yù)測下一個 Token。整體流程文字輸入 ↓ Tokenization ↓ Token ID ↓ Embedding ↓ Transformer Layers ↓ Hidden Representation ↓ LM Head ↓ Probability Distribution ↓ 預(yù)測下一個 Token ↓ 循環(huán)生成核心思想LLM本質(zhì)上是在當(dāng)前上下文條件下不斷計算下一個Token出現(xiàn)概率的模型。2. Tokenization分詞2.1 為什么需要Tokenization計算機無法直接處理文字只能處理數(shù)字。因此需要把自然語言轉(zhuǎn)換成模型可以計算的基本單位TokenToken可能是一個單詞一個漢字一個詞的一部分標(biāo)點符號例如輸入artificial intelligence可能轉(zhuǎn)換為art ificial intelligence2.2 為什么不用完整單詞如果一個詞對應(yīng)一個Token詞匯表會非常巨大新詞無法處理拼寫變化難以覆蓋因此現(xiàn)代LLM通常采用Subword Tokenization子詞分割例如unbelievable可以拆成un believe able這樣模型可以組合理解未見過的新詞。3. Token ID數(shù)字編號Token仍然是文字神經(jīng)網(wǎng)絡(luò)無法直接處理。因此每個Token會對應(yīng)一個編號例如法國 → Token ID 39872 首都 → Token ID 58291輸入法國的首都是可能轉(zhuǎn)換為[39872, 102, 58291, 76]注意Token ID只是編號沒有數(shù)學(xué)意義。例如法國 39872 德國 56321并不表示德國比法國“大”。4. Embedding詞向量表示4.1 Token ID如何變成語義Token ID只是數(shù)字。模型需要將它轉(zhuǎn)換為連續(xù)向量例如法國 ↓ [0.21, -0.35, 0.67, ...]這個過程叫Embedding4.2 Embedding矩陣假設(shè)詞表大小128256Hidden Size4096那么Embedding矩陣128256 × 4096每一行代表一個Token的向量。4.3 Embedding表示什么Embedding表示Token本身的語義特征例如巴黎可能包含城市概念法國相關(guān)地理信息語言關(guān)系特點靜態(tài)同一個Token永遠相同例如兩個句子中的bankEmbedding相同。5. Transformer LayersTransformer層Embedding只是Token的初始表示。模型還需要理解上下文。例如I deposited money in the bank.和I sat on the river bank.兩個bank含義不同。Transformer負(fù)責(zé)根據(jù)上下文調(diào)整Token表示。6. Transformer內(nèi)部結(jié)構(gòu)一個Transformer Layer主要包含Input ↓ Self-Attention ↓ Feed Forward Network ↓ Output7. Self-Attention自注意力機制Self-Attention解決當(dāng)前Token應(yīng)該關(guān)注哪些其他Token例如小明去銀行取錢因為他需要現(xiàn)金。模型需要知道“他”指的是“小明”。Attention會計算Token之間的重要程度。核心計算Attention(Q,K,V)softmax(QKT/d)V Attention(Q,K,V)softmax(QK^T/\sqrt d)VAttention(Q,K,V)softmax(QKT/d?)V其中Query我需要尋找什么信息Key我有什么信息Value實際提供的信息8. Feed Forward Network前饋網(wǎng)絡(luò)Attention負(fù)責(zé)信息交流Feed Forward負(fù)責(zé)對信息進一步加工例如輸入法國 首都模型逐漸形成法國 → 國家 首都 → 城市關(guān)系 巴黎 → 可能答案9. Hidden Representation隱藏表示經(jīng)過多層Transformer后Token會得到新的向量表示。例如h [ 0.32, -0.56, 0.91, ... ]這個向量稱為Hidden Representation9.1 Embedding和Hidden Representation區(qū)別雖然維度通常相同例如Embedding: 4096維 Hidden Representation: 4096維但是意義不同。階段含義EmbeddingToken自身的語義Hidden Representation結(jié)合上下文后的動態(tài)語義9.2 Hidden Representation是動態(tài)的例如Tokenbank句子1money in the bank句子2river bankEmbedding相同Transformer之后Hidden Representation不同因為上下文不同。10. Embedding維度和Hidden維度關(guān)系現(xiàn)代LLM通常Embedding Dimension Hidden Size例如Llama類模型4096維流程Token ↓ Embedding 4096維 ↓ Transformer 4096維 ↓ Hidden Representation 4096維原因Transformer設(shè)計為保持輸入維度 輸出維度11. LM Head語言模型輸出層Transformer輸出的是Hidden Vector例如4096維但是模型需要回答下一個Token是什么因此需要LM Head。11.1 LM Head作用LM Head將4096維Hidden State轉(zhuǎn)換為128256個Token的分?jǐn)?shù)數(shù)學(xué)形式zWhb zWhbzWhb其中hHidden RepresentationWLM Head權(quán)重zLogits11.2 LM Head矩陣尺寸假設(shè)Vocabulary128256Hidden Size4096則W128256×4096 W128256\times4096W128256×4096計算128256 × 4096得到128256個Logits每個Logit代表一個Token出現(xiàn)的可能性評分。12. Probability概率分布Logits不是概率。需要通過Softmax轉(zhuǎn)換例如輸入巴黎 12.5 倫敦 8.2 東京 6.7輸出巴黎 92% 倫敦 5% 東京 2%形成整個詞表上的概率分布。13. 預(yù)測下一個Token模型選擇概率最高的Token輸入法國的首都是輸出巴黎得到法國的首都是巴黎14. 自回歸生成Autoregressive GenerationLLM不是一次生成完整句子。而是一次預(yù)測一個Token。過程輸入 ↓ 預(yù)測Token1 ↓ 加入輸入 ↓ 預(yù)測Token2 ↓ 加入輸入 ↓ 繼續(xù)循環(huán)直到生成結(jié)束Token達到最大長度15. Weight Tying權(quán)重共享很多現(xiàn)代LLM會讓輸入Embedding矩陣和輸出LM Head矩陣共享參數(shù)。目的讓輸入和輸出使用同一個語義空間。15.1 為什么可以共享輸入Token ↓ Embedding ↓ 語義向量輸出Hidden State ↓ 尋找最匹配Token二者本質(zhì)都是Token與語義向量之間的映射。15.2 為什么有時寫WE?原因是矩陣定義方向不同。方式1EmbeddingE∈R128256×4096 E \in R^{128256 \times 4096}E∈R128256×4096那么WE WEWE方式2EmbeddingE∈R4096×128256 E\in R^{4096\times128256}E∈R4096×128256那么WET WE^TWET因此轉(zhuǎn)置不是核心。核心是輸入Embedding和輸出預(yù)測共享同一套Token語義表示。16. 完整流程總結(jié)文字輸入 ↓ Tokenization 把文字切成Token ↓ Token ID 轉(zhuǎn)換為數(shù)字編號 ↓ Embedding Token ID → 語義向量 ↓ Transformer Layers 通過Attention和FFN理解上下文 ↓ Hidden Representation 形成當(dāng)前上下文的內(nèi)部表示 ↓ LM Head Hidden Vector → 所有Token評分 ↓ Softmax 評分 → 概率 ↓ 預(yù)測Token 選擇最高概率Token ↓ 循環(huán)生成核心理解大型語言模型并不是輸入問題 ↓ 搜索答案 ↓ 輸出答案而是輸入文字 ↓ 轉(zhuǎn)換為向量 ↓ 多層Transformer逐步提取上下文信息 ↓ 形成隱藏表示 ↓ 計算每個Token概率 ↓ 逐個生成文本研究LLM內(nèi)部機制的關(guān)鍵問題就是Hidden Representation中到底編碼了什么信息Transformer不同層如何形成語言理解、知識和推理能力