Zubnet AI學習Wiki › 嵌入層
基礎

嵌入層

別名:Token 嵌入、嵌入表、查找表

一個查找表,將詞彙表中的每個 token 對映到一個密集向量(token 的嵌入)。當模型接收 token ID 42 時,嵌入層返回學習矩陣的第 42 行。這個向量是模型對該 token 的初始表示 — 後續所有透過注意力和前饋層處理的起點。

為什麼重要

嵌入層是文本變成數學的地方。每個 LLM 都從將離散 token(詞、子詞)轉換為神經網路可以處理的連續向量開始。嵌入表也是小型模型中最大的組件之一 — 128K 詞彙量配 4096 維嵌入就是 5.12 億個參數。理解這一點有助於你推理模型大小和詞彙設計。

深度解析

嵌入層只是一個形狀為 (vocab_size, model_dim) 的矩陣 E。對於 token ID i,嵌入是 E[i] — 一個簡單的行查找,不需要計算。但這些嵌入是在訓練過程中學習到的:出現在相似上下文中的 token 會獲得相似的嵌入。經典的例子:「king」的嵌入 −「man」+「woman」≈「queen」,展示了嵌入空間捕捉語意關係。

綁定嵌入

許多模型將嵌入矩陣與輸出層(「反嵌入」或「語言模型頭」)共享(綁定)。輸出層透過計算與每個 token 嵌入的點積,將隱藏狀態轉換回詞彙機率。綁定這些層意味著相同的嵌入既在輸入時表示 token,又在輸出時預測它,節省了參數並通常提高了品質。大多數現代 LLM 使用綁定嵌入。

位置 + Token 嵌入

完整的輸入表示通常是:token_embedding + positional_encoding。Token 嵌入捕捉 token 的含義。位置編碼捕捉它在序列中的位置。在使用學習位置嵌入的模型(BERT)中,這是一個按位置索引的第二個嵌入表。在使用 RoPE 的模型(LLaMA)中,位置資訊以不同方式注入(透過旋轉 Q 和 K 向量),嵌入層只處理 token 的身份。

相關概念

← 所有術語
← 嵌入 工具使用 →