语言模型与生成机制
从 token 和条件概率,推导注意力、Transformer 块、缓存、位置编码与解码的工作方式。
从文本到下一步分布
token 是分词器处理文本的单位,可能是一个字、一个词、一段子词或字节。词表给每个单位分配编号。输入编号查找嵌入矩阵,得到向量,再经过多层模型变换。最后的输出投影为词表中的每个候选给出原始分数 logit,softmax 把分数变成概率。模型一次提供的是分布;解码规则选出一个 token,追加到输入,再计算下一步。
自回归生成把序列概率分解成条件概率链:
是全部模型参数, 是当前位置之前的 token。这里的“预测下一个”定义了计算目标;它并不限定模型只能利用局部词频。为了预测,模型可以利用语法、篇章结构、实体关系和任务规律。输出高概率也不等同于事实正确:训练语料的分布与世界事实仍有差距。
训练通常把整段真实序列一次送入,以真实前缀预测每个位置的下一个 token,这叫 teacher forcing。生成时前缀包含模型自己选出的 token,错误会改变后续条件。训练和生成因此共享条件概率形式,却有不同的输入分布。
注意力如何把上下文带入表示
设当前位置表示为 ,学习到的投影把它变成查询 、键 和值 。查询与可见键做内积,得到匹配分数:
是查询和键的维度。因果掩码 让未来位置不可见,通常通过把其分数设为负无穷实现。在每个头内,权重非负、总和为一,输出是值向量的加权组合。多个头在不同学习空间中做匹配,再拼接并经过输出投影;整个多头模块的输出不受单个头的凸组合范围限制。Transformer 原始论文 给出了这一结构。
缩放因子有一个直观推导。假设各维独立、均值为零、方差为一,内积的方差随 增长,标准差是 。过大的分数差会让 softmax 接近单选,部分梯度很小。除以这个标准差使初始分数更容易处理。真实网络的分量会相关,归一化与训练也会改变幅度,因此这个推导解释设计动机,不能当作每层运行时的精确统计描述。
注意力让同一个 token 的表示随着前文改变。第二次出现的“它”能够携带不同指代信息。高层的键和值由已有上下文的隐藏表示产生,不能把它们理解成 token 自身固定不变的标签。
Transformer 块怎样补足注意力
单独的注意力主要做上下文聚合。逐位置前馈网络 FFN 增加非线性变换:普通形式是 ;门控形式把一条分支的激活与另一条分支逐元素相乘,再投影回来,例如 SwiGLU。普通 FFN 有两次矩阵乘法,门控 FFN 有三次;比较参数和计算时必须一起比较中间宽度,不能只数矩阵。知识和行为分布于多个模块,FFN 的作用也不等于一张独立事实表。
残差把模块输出加回输入,提供绕过子层的路径。pre-norm 在子层之前归一化,post-norm 在残差相加后归一化;它们影响梯度传播与训练稳定性。RMSNorm 使用均方根缩放,不减去均值。若忽略数值稳定项和学习尺度,归一化后的均方幅度固定;真实 RMSNorm 带可学习尺度,输出范数还会随它变化。QK normalization 直接处理查询与键的尺度,目标更接近控制注意力分数。
RMSNorm 的逐维形式是
是特征数, 是学习尺度, 避免除零。构造输入 ,忽略 且取 ,均方根为 ,输出约为 ,长度为 ;若把 改成 ,长度就不再固定。Q/K 归一化控制注意力幅度的效果还取决于尺度参数和后续温度,不能由归一化名称推导所有分数都有同一上界。RMSNorm 原论文
这些设计帮助深层堆叠,却不自动免除学习率、warmup、精度或梯度裁剪的调节。不同架构对数据、优化器和硬件有不同要求,不能把某一模型配置视为通用块模板。
顺序如何进入模型
没有位置信息的普通全注意力对输入排列具有置换等变性:输入行一起换位,输出行也相应换位。模型需要额外的位置信号来区分顺序。绝对位置嵌入把位置向量加到 token 表示;正弦位置编码用固定频率;RoPE 对查询和键做随位置变化的旋转,使内积包含相对位置;ALiBi 直接对注意力分数加入与距离有关的偏置。RoPE 与 ALiBi 是两种不同的处理方式。
在二维子空间里,位置 对应旋转 。同频率旋转满足
相对位置因此进入打分。完整向量由多个频率的二维平面组成;实际分数同时依赖内容向量,不能简化成只看距离。ALiBi 的因果形式则为不同头设置斜率,在分数上减去与历史距离成比例的偏置,形成明确的局部偏好。
扩展位置编码的取值范围,只解决位置表示的一部分问题。模型是否能可靠利用更长输入,还依赖训练长度分布、信息位置、注意力结构、缓存容量和任务难度。位置插值把原位置按训练长度与目标长度比例缩放,可能损伤相邻位置的分辨;分频率重标定让不同频段采取不同缩放,再配合训练或注意力尺度调整。它们需要验证远距离信息的真实使用能力,不能把频率公式的延长写成理解能力的延长。
KV cache、共享头与潜表示
因果模型追加一个 token 时,过去位置可见的前缀没有变化。在模型参数、位置处理和前缀内容保持一致的条件下,各层过去位置的键和值可以复用。KV cache 缓存这些张量,避免每一步重新计算全部前缀。修改早期消息、换模型或换适配器后,受影响的缓存应重新建立。
常规缓存的理想载荷估算为
是层数, 是同时驻留的序列数, 是每序列缓存长度, 是键值头数, 是头维度, 是每元素字节数。因子二对应键和值。分页元数据、对齐、量化尺度和分配碎片需要另计。假设 80 层、8 个键值头、头维度 128、每元素 2 字节,单序列每个 token 的载荷是 320 KiB;8192 个 token 约 2.5 GiB。这是给定假设下的算术结果,不能直接当作任意模型的显存需求。
多头注意力 MHA 为每个查询头配置独立键值头。MQA 让全部查询头共享一组键值,GQA 把查询头分组共享。它们减少 ,同时改变表示能力和训练结构。已有 MHA 权重不能仅改缓存数组就无代价地成为 GQA。GQA 论文 讨论了相应训练方法。
MLA 把键值压缩到低维潜表示,再按需要使用投影。对部分注意力计算,矩阵乘法的结合律允许把投影吸收到查询或输出侧,减少需要缓存的对象。位置编码与潜表示如何组合会影响能否完全吸收;缓存节省也取决于潜维度、位置分支和内核实现。DeepSeek-V2 是具体架构案例,论文中的节省比例不适用于所有配置。
以内容键 、值 为例,查询打分可以改写为
这样可以先在潜空间聚合,再做输出侧投影。随位置变化的 RoPE 旋转一般无法吸收进一个对全部位置固定的矩阵;解耦 RoPE 把内容与位置分支分开,额外缓存位置键。是否直接使用潜缓存或展开各头,由阶段、内核与设备的计算/带宽比例决定。
TransMLA 对其给定注意力形式分析了 GQA 到 MLA 的等价表示,再研究移除部分位置维度、低秩压缩和继续训练。等价重参数化不自动减少缓存,进一步压缩可能改变输出;恢复质量与取得加速需要分别验证。这保留了“表达能力”和“实际压缩收益”的区别。TransMLA,2025 年第三版,第 4 节与附录 A
MoE 怎样扩展参数容量
混合专家 MoE 用路由器为每个 token 选择少量专家网络,输出由被选中的专家组合。总参数量决定需要存储多少权重,激活参数量更接近单 token 的部分算术工作;二者都不能独立预测实际速度。专家跨设备分布时还需要交换 token 和结果。
路由失衡会让少数专家负担过重,部分专家训练不足。辅助损失把负载均衡加入优化目标,可能与任务损失产生张力;路由偏置调整把部分均衡控制放到选择阶段。某些设计使用 选择专家,再用原始 形成输出权重,使负载控制与内容权重承担不同职责。偏置更新的节奏、允许路由范围和剩余辅助目标都属于具体方法条件。
固定容量缓冲区可能丢弃溢出 token,动态或无丢弃实现则增加分配和通信要求。共享专家承接所有 token,路由专家处理分工。若八个专家中每 token 只激活两个,专家权重载荷仍包含八份,token 还需送到被选设备并将结果送回。具体设计需要同时考察质量、容量、通信和设备利用率;Switch Transformer 展示了稀疏路由的一个实现。
分布怎样变成输出
贪心每步取概率最大 token,得到局部最优路径。它可能重复或缺乏多样性,但重复并非确定性解码必然造成。采样根据概率随机选择。温度把 logits 除以 :较低温度使分布更尖,较高温度使它更平;它不增加模型知识,也不提供事实保证。
top-k 保留固定数量的高概率候选;top-p 保留累计概率达到阈值的最小前缀;min-p 保留相对最高概率不低于指定比例的候选。截断后需重新归一化。候选规模、温度与重复惩罚相互影响,接口暴露哪些参数也各不相同。核采样研究 说明了开放生成中高似然搜索与文本质量之间的差异。
beam search 同时保留多条部分序列,比较累计分数,常需要长度归一化。它增加搜索范围,也增加内存和协调开销;短序列天然获得更大概率的倾向需要处理。任务中是否存在稳定、可判定的目标输出,比“随机还是确定”更能决定选择。
长输入的三个约束
精确全注意力的交互规模随长度平方增长,常规 KV 缓存随长度线性增长,位置和训练分布又限制模型能否理解长度范围内的信息。三者需要分别处理。
FlashAttention 分块计算并使用在线 softmax,减少大中间矩阵在显存之间的往返;它在数值误差允许范围内保持同一注意力计算,渐近算术复杂度仍为二次。滑动窗口只访问局部历史,窗口外信息需要借助跨层传播或全局层。线性注意力把历史聚合进固定大小状态,节省长期缓存,但状态压缩可能损伤精确回忆。混合结构在这些机制间分配工作,没有同时免除全部成本的保证。FlashAttention 原始论文 给出了 IO 调度路线。
需要补公式背景时,可阅读 向量、梯度与概率。这个页面解释运算,当前正文已经包含理解生成链所需的符号定义。
生成目标还有哪些形式
自回归从左到右固定前缀,离散扩散语言模型可以对含掩码的序列学习恢复,再经过多轮预测逐步确定 token。一个去噪轮次可处理多个位置,后续轮次也可改变尚未确定的内容。块大小、解掩码顺序、重掩码和停止规则决定并行度、修正能力与延迟;它仍需多次模型运算,并无任意任务一次完成的保证。LLaDA,2025 年研究,第 2 节
全上下文双向去噪会改变已确定位置的条件,常规因果 KV 复用不能原样套用。分块因果或混合模型可以恢复部分缓存条件。比较生成路线应统一质量、输出长度、设备、并发与端到端延迟,不以某次批内并行速度代表整个任务优势。本文主要推导因果 Transformer;扩散、循环状态和混合结构为不同约束提供其他计算方式。
最后更新于