该问题归类到Transformer架构问题集——解码策略——自回归生成。请参考LLM数学推导——Transformer架构问题集。
1. 引言
在大语言模型(LLM)的文本生成领域,自回归生成(Autoregressive Generation)长期占据主导地位,它按顺序逐个生成 Token 的方式,如同按部就班的工匠,虽能产出优质内容,但在生成速度上存在天然瓶颈。随着应用场景对实时性要求的不断提高,非自回归生成(Non - Autoregressive Generation,NAR)应运而生。它另辟蹊径,采用并行解码的方式,试图打破自回归生成的速度枷锁,大幅提升文本生成效率。而理解 NAR 的核心之一,便是其并行解码损失函数的推导,这不仅关乎技术原理的深入剖析,更是优化模型、提升生成质量的关键。本文将从技术原理、数学推导、LLM 使用实例、代码示例与解读等方面,深度解析 NAR 的并行解码损失函数,并补充优缺点分析与优化策略,帮助读者全面掌握这一技术。
2. 技术原理
2.1 自回归生成与非自回归生成对比
自回归生成(AR)以自回归模型为基础,在文本生成时,基于已生成的 Token 序列,逐个预测下一个 Token。例如生成句子 “我喜欢阅读”,模型先根据初始输入生成 “我”,然后基于 “我” 生成 “喜欢”,再基于 “我喜欢” 生成 “阅读”,这种方式使得每个 Token 的生成都依赖于前面已生成的 Token,如同多米诺骨牌,环环相扣 。虽然 AR 能充分利用上下文信息,生成连贯性较好的文本,但由于生成过程串行,效率较低,尤其是在生成较长文本时,耗时明显。
非自回归生成(NAR)则摒弃了这种逐个生成的模式,尝试并行生成整个目标序列。它如同多位工匠同时开工,在给定输入后,一次性预测出所有位置的 Token。例如对于上述句子,NAR 模型可能直接同时预测出 “我”“喜欢”“阅读” 等 Token。这种并行生成的方式极大地提高了生成速度,但也带来了新的挑战,比如如何确保生成的 Token 之间逻辑连贯、语义通顺,以及如何设计合适的损失函数来指导模型学习。
2.2 非自回归生成的工作流程
NAR 的工作流程主要分为三个阶段:编码阶段、并行解码阶段和后处理阶段。
编码阶段:与 AR 类似,NAR 首先对输入文本进行编码。以基于 Transformer 架构的模型为例,输入文本经过词嵌入(Word Embedding)后,转化为向量表示,然后通过多层 Transformer 编码器。在编码器中,多头注意力机制捕捉文本中各 Token 之间的语义关系和依赖,提取丰富的上下文信息,将输入文本编码为特征向量 。
并行解码阶段:这是 NAR 的核心阶段。模型在该阶段并行预测目标序列中所有位置的 Token。不同于 AR 根据前一个生成的 Token 预测下一个 Token,NAR 利用编码器输出的特征向量,同时为目标序列的每个位置计算概率分布。例如,对于一个长度为n的目标序列,模型会一次性生成n个概率分布,每个分布对应一个位置可能出现的 Token 。
后处理阶段:由于并行生成的 Token 序列可能存在重复、逻辑不通顺等问题,需要对生成结果进行后处理。常见的后处理方法包括去重操作,去除重复的 Token;重排序操作,根据一定的规则对生成的多个候选序列进行重新排序,选择最优序列;以及语言模型重打分,使用额外的语言模型对生成序列进行打分,进一步筛选出高质量的结果 。
3. 数学推导
3.1 基础符号定义
设输入序列为,长度为m;目标序列为
,长度为n。模型参数为