一句话定义:非AI 词典:自回归生成">自回归生成(Non-Autoregressive Generation,NAT)是指模型一次性并行地输出整个序列,而不是像常见的语言模型那样从左到右、一个词元(token)一个词元地往外蹦。
它凭什么能"一次说完"
自回归(Autoregressive,AR)生成把一个序列的概率拆成一连串"看前文猜下一个"的小问题,所以物理上必须串行:第 5 个词要等第 1 到第 4 个词都算完。NAT 换了个假设——在给定输入之后,各个位置的输出近似相互独立,于是可以一次前向计算,把整句的所有位置同时预测出来。
打个比方:自回归像是口译员边听边一句句往外说,说完上一句才知道下一句怎么接;NAT 像是把一篇文章按句子分给一屋子人同时写,写完拼起来。快是真快,但拼起来可能是"今天天气不错。今天天气不错。"——重复、漏词、前后对不上。
代价与补救
丢掉"看前文"的依赖,就会出现两个典型毛病:一是同一个位置附近互相"抄作业"导致重复;二是同一个意思有多种合理说法(比如"猫追老鼠"和"老鼠被猫追"),各位置独立选择容易选出一个四不像。常见的补救手段有三类:在解码器输入侧做构造(复制输入、下采样、塞占位符);用自回归模型当老师做知识蒸馏(knowledge distillation),把"整句该长什么样"的知识传给学生;以及迭代精修——先并行出草稿,再反复填空改错,相当于在并行与串行之间折中。
和相邻概念的区别
| 对比项 | 自回归生成 | 非自回归生成 |
|---|---|---|
| 生成顺序 | 从左到右逐个词元 | 所有位置一次并行 |
| 位置依赖 | 显式依赖前文 | 近似独立 |
| 推理延迟 | 随序列长度增长 | 通常一次前向,与长度关系不大 |
| 典型表现 | 连贯、稳定 | 快,但易重复漏词 |
| 常见补救 | — | 蒸馏、输入构造、迭代精修 |
要注意,扩散模型(diffusion)也是并行去噪,但它一般需要多步迭代;而推测解码(speculative decoding)虽然用草稿加速,最终的验证路径仍然是自回归的。它们和 NAT"一步并行出整句"的出发点并不相同。
对从业者意味着什么
凡是延迟敏感、且对"逐词确定性"要求不高的场景,NAT 都值得考虑:语音合成、实时字幕、端侧推理、大体量批量翻译。它的吸引力在于把延迟从"跟长度成正比"变成"一次前向",但工程上必须为质量兜底——蒸馏、重排、多次采样挑最好、草稿加精修,都是常见组合。
对普通人意味着什么
你未必听过 NAT,但可能已经用过它:语音助手秒回的播报、视频里的实时字幕、翻译工具瞬间给出的整段结果,背后往往有并行生成的身影。如果你偶尔觉得某些机器生成的句子"有点重复、有点啰嗦",那也常常是并行生成的典型痕迹。
一句话总结:自回归是"想好一句说一句",NAT 是"先全说完再回头改"——速度换质量,再靠迭代把质量挣回来。
