什么是自回归属性(autoregressive property)?
- 标签:Transformer、自回归属性
🏛 业务架构师
自回归属性(Autoregressive Property)指模型逐个 token 生成、每个 token 的概率以已生成的全部前文为条件:P(x1,x2,...,xn) = P(x1)·P(x2|x1)·P(x3|x1,x2)...——链式分解,左手边写右手边。
生成过程:输入前缀 → 预测下一个 token 的概率分布 → 采样/贪心选出 → 拼回输入 → 再预测下一个……循环直到结束符或长度上限。
这个属性带来的业务影响(回答的价值部分):
- 生成顺序不可跳步:必须逐 token 串行——GPU 并行优势在解码阶段打折,这是 LLM 推理延迟的根本来源(长输出=慢);于是有投机解码(小模型起草、大模型验证)、 Medusa 等并行化优化的产业机会;
- 错误会累积:前一步错了,后面在错误上下文上继续——幻觉的滚雪球、复制循环(复读机)都与此相关;对策:约束解码、重复惩罚、自洽性投票;
- 上下文决定了"往哪走":同一前缀 + 不同采样(temperature)= 不同续写——这是可控性的来源(提示工程本质是"塑造条件分布"),也是不确定性的来源(temperature>0 每次不同);
- 因果遮蔽的训练意义:训练时用 mask 保证"只见前文",模型才能学得自回归分解——Decoder-only 架构(GPT 系)将此贯彻到底。
一句话总结:自回归是 LLM "一个字一个字往外蹦"的数学本质——它定义了推理成本结构(串行)、可控性入口(前文条件)和失败模式(误差累积),理解它就理解了大模型应用里一大半工程现象的根源。
🏗 系统架构师
自回归属性 = 每个输出只依赖已生成的前缀,逐个 token 串行生成:P(x_1...x_T) = Π P(x_t | x_<t)。
三个关键特性:
- 串行性:第 t 个 token 必须等前 t-1 个算完(依赖其 KV)——生成速度受限于内存带宽(每步读全量权重与 KV Cache),这是 LLM 推理慢的结构性根源,也是推理引擎优化(Continuous Batching、投机解码、PD 分离)的主战场;
- 因果性:训练时因果遮蔽保证"只看过去"——训练可并行(一次前向预测所有位置)而推理串行,训练-推理的计算不对称是 LLM 的基本工程事实;
- 误差传播:前面 token 错 → 后续条件在错误上下文上生成(错误放大)——自洽性投票、beam search、推理模型的自反思都是对这个特性的补丁。
架构师视角的利弊权衡:
- 赢在:统一的概率框架(生成与理解都塞进 next-token)、训练高效(全序列并行监督)、 KV Cache 流式友好(增量对话)、与 attention 的因果遮蔽天然配合——这是它击败 Encoder-Decoder 成为 LLM 主流的原因;
- 代价:生成延迟线性于输出长度(不能并行出全句);左到右的偏差(后面信息不影响前面——规划类任务吃亏,SoT/Re3 类"先大纲后填充"的解码策略是补偿);
- 对照:扩散类模型(并行迭代出全序列)在图像成熟、文本上仍在探索——自回归不是唯一解,但它是当前 token 级生成验证最充分的工程最优。
💻 全栈开发专家
自回归属性(autoregressive property):模型逐 token 生成,每一步都以已生成的全部内容为条件预测下一个:
P(x1, x2, ..., xn) = P(x1)·P(x2|x1)·P(x3|x1,x2)···P(xn|x1..xn-1)链式法则把联合分布拆成条件分布的连乘——这是 GPT/LLaMA 类模型的生成数学基础。
带来的工程特性(全是有实际后果的):
生成是串行的:第 n 个 token 必须等前 n-1 个——输出无法并行(这是输出 token 贵、生成慢的根本原因;投机解码/prefill 并行只在缓解);
KV Cache 加速:已生成部分的 K/V 不随步数重算(缓存复用,注意力只需算新 token 对历史的查询)——自回归结构直接催生了这套推理优化,vLLM 的 PagedAttention 管的就是它;
错误累积(exposure bias):早期一个错词会把后续生成带偏(一步错步步错的雪崩);解码参数(temperature/top_p)和重试策略都是在管理这个随机游走的方差;
前缀决定分布:相同前缀产生相同后续分布——prompt caching 的可行基础;
训练-推理一致性:训练时 teacher forcing(并行算所有位置的 next-token loss)与推理时逐 token 是同一条件分布的自回归——这也是「续写」范式的根基。
一句话:自回归 = 「生成=反复的条件预测」,它定义了 LLM 的能力形态(任意长度生成)和成本形态(串行计算),理解它就理解了推理优化的一半。