AI 课程网站首页
返回知识库

语言模型:概率、训练与生成

从下一词元的概率,理解完整回答的生成过程。

本篇目录
  1. 序列概率
  2. 从隐藏状态到概率
  3. 训练目标及其梯度
  4. 数值例子
  5. 生成与解码
  6. 参考文献

生成一句话需要在每一步选择后续内容。概率分布表达模型对这些候选的相对偏好,训练则调整分布,提高已观察后续内容的概率。由此,下一词元训练目标与产生完整回答的重复计算建立起联系。

自回归语言模型定义离散词元序列上的条件概率。训练根据已观察序列估计参数,生成则根据模型给出的分布依次选择词元。两者使用同一个概率模型,但输入条件及其对参数的作用不同。

1. 序列概率

设 V\mathcal V 为词表,V=∣V∣V=|\mathcal V| 为词表大小,x1:T=(x1,…,xT)x_{1:T}=(x_1,\ldots,x_T) 为词元序列。根据概率链式法则,序列概率可分解为:

pθ(x1:T)=∏t=1Tpθ(xt∣x<t),x<t=(x1,…,xt−1)p_\theta(x_{1:T}) =\prod_{t=1}^{T}p_\theta(x_t\mid x_{<t}), \qquad x_{<t}=(x_1,\ldots,x_{t-1})

第一个因子以空前缀或明确规定的起始词元为条件。条件生成时,输入提示构成前缀的一部分;结束词元则可以在概率模型内部表示终止。[1]

这一分解来自条件概率,允许各位置之间存在依赖。Transformer 可以用于参数化这些条件分布。上下文长度限制为 CC 时,每次计算使用该配置允许的前缀。

2. 从隐藏状态到概率

设 ht∈Rdh_t\in\mathbb R^d 为根据前缀预测 xtx_t 的最终隐藏向量。输出投影首先产生未归一化分数,即 logits:

zt=Uht+b,U∈RV×d,b∈RVz_t=Uh_t+b,\qquad U\in\mathbb R^{V\times d},\quad b\in\mathbb R^V

随后通过 softmax 得到概率:

pt,k=ezt,k∑j=1Vezt,jp_{t,k}=\frac{e^{z_{t,k}}}{\sum_{j=1}^{V}e^{z_{t,j}}}

当 logits 有限时,各项概率均为正,且总和为一。直接计算指数可能造成数值溢出。令 mt=max⁡jzt,jm_t=\max_jz_{t,j},从所有 logits 中减去这一最大值,得到等价形式:

pt,k=ezt,k−mt∑jezt,j−mtp_{t,k}=\frac{e^{z_{t,k}-m_t}}{\sum_j e^{z_{t,j}-m_t}}

分子与分母中的公共因子 e−mte^{-m_t} 相互抵消,因此这种变换改善数值计算,但不改变所表示的分布。[2]

3. 训练目标及其梯度

最大似然训练提高模型赋予已观察序列的概率。取负对数后,概率乘积转化为求和。对于单个序列,按词元平均的目标为:

L(θ)=−1T∑t=1Tlog⁡pθ(xt∣x<t)\mathcal L(\theta) =-\frac1T\sum_{t=1}^{T}\log p_\theta(x_t\mid x_{<t})

当序列长度不同时,按词元平均与先计算每条序列损失再平均会产生不同的样本权重。下一词元训练以已观察前缀为条件,以实际出现的下一个词元为目标;因果注意力用于排除预测目标时不可访问的后续位置。[3]

对于目标编号为 yy 的单个位置,负对数似然可展开为:

ℓ=−zy+log⁡∑jezj\ell=-z_y+\log\sum_j e^{z_j}

分别对线性项与对数指数和求导,得到:

∂ℓ∂zk=−1[k=y]+ezk∑jezj=pk−1[k=y]\frac{\partial\ell}{\partial z_k} =-\mathbf1[k=y]+\frac{e^{z_k}}{\sum_j e^{z_j}} =p_k-\mathbf1[k=y]

其中,1[k=y]\mathbf1[k=y] 在 kk 为目标类别时取一,否则取零。该式给出损失对 logits 的导数。若要求模型参数的梯度,还需要通过输出投影与更早的网络层继续应用链式法则。

4. 数值例子

对一个构造的三词元词表,设 z=(log⁡2,0,0)z=(\log2,0,0)。取指数后得到 (2,1,1)(2,1,1),归一化后得到:

p=(1/2,1/4,1/4)p=(1/2,1/4,1/4)

当第一个词元为目标时,损失为 ℓ=log⁡2≈0.693147\ell=\log2\approx0.693147,梯度为:

∇zℓ=(−1/2,1/4,1/4)\nabla_z\ell=(-1/2,1/4,1/4)

这里计算的是特定上下文下的词元分布。因此,第一个概率 1/21/2 描述一种可能的后续内容,而非事实陈述的正确率。

5. 生成与解码

解码可以选择概率最大的词元 arg⁡max⁡kpk\arg\max_k p_k,也可以按照分布采样。正温度参数 τ\tau 通过 softmax⁡(z/τ)\operatorname{softmax}(z/\tau) 改变采样概率。在上述例子中,τ=2\tau=2 时,第一个词元的概率变为 2/(2+2)≈0.414214\sqrt2/(\sqrt2+2)\approx0.414214。

选出的词元被追加到前缀,计算过程重复进行,直到满足停止条件。普通推理过程中,参数 θ\theta 保持不变;前缀变化会改变条件分布,但不构成训练更新。外部存储、检索和后续训练属于不同的系统操作。

自回归生成流程:上下文、词元编号、数值表示、模型计算、概率与词元选择。

图示描述计算顺序;概率分布、训练目标以及推理与参数更新的区别由上述公式明确规定。 [3]

参考文献