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,又在输出时预测token,节省参数并通常提高质量。大多数现代LLM使用共享嵌入。

位置嵌入 + Token嵌入

完整的输入表示通常是:token_embedding + positional_encoding。Token嵌入捕获token的含义。位置编码捕获它在序列中的位置。在具有学习位置嵌入的模型(BERT)中,这是第二个按位置索引的嵌入表。在具有RoPE的模型(LLaMA)中,位置信息以不同方式注入(通过旋转Q和K向量),嵌入层只处理token身份。

相关概念

← 所有术语
← 嵌入 工具使用 →