27届大模型面试准备(四十六):多模态生成式架构------扩散与自回归的统一
引言
大模型的能力版图里,A14 讲了视觉语言模型(VLM,理解侧),A31 讲了多模态推理,A40 讲了多模态大模型训练与对齐,A44 讲了生成式世界模型与视频生成(偏"世界如何被模拟")。本文把镜头对准"生成范式"本身:同样是文生图、文生视频,底层为什么会出现自回归(Autoregressive, AR)和扩散(Diffusion)两条技术路线?它们各自擅长什么、又为什么正在相互靠拢?
这不仅是论文里的分类游戏,更是面试高频考点:华为等多模态岗常问"为什么文生图用扩散、文生视频又开始用自回归""DiT 和 Transformer 什么关系""扩散和 AR 能不能统一"。把这条主线讲清楚,能直接体现你对生成式模型架构演进的全局理解。
一、两条生成主线:自回归 vs 扩散
如果只记一句话:自回归是按顺序"一个词一个词"往外蹦,扩散是"从一团噪声里逐步擦干净"。二者对"生成"的数学建模完全不同。
生成范式的两种世界观
自回归 AR: 噪声/起始 ──-> token1 ──-> token2 ──-> ... ──-> tokenN (因果、串行)
扩散 Diffusion: 纯噪声 x_T ──-> x_{T-1} ──-> ... ──-> x_0 (去噪、可并行)
两者都收敛到"数据分布",但路径与表示不同
| 维度 | 自回归(AR) | 扩散(Diffusion) |
|---|---|---|
| 表示空间 | 离散 token(VQ codebook) | 连续 latent(VAE 隐空间) |
| 采样方式 | 因果、串行、不可并行 | 迭代去噪、单步可并行 |
| 与 LLM 关系 | 天然统一(同一套 Transformer) | 需桥接(DiT 用 Transformer 但非因果) |
| 文本对齐 | 强(语言即序列) | 需条件注入(CFG/cross-attn) |
| 保真度 | 中(误差累积) | 高(去噪稳定) |
| 速度 | 慢(串行) | 相对快(少步蒸馏后) |
| 代表 | DALL-E 1、VideoPoet、LVM | DDPM、Stable Diffusion、DiT、Sora |
关键直觉:AR 把"生成"当成语言建模的一段延续,因此天然能吃指令、好控、易和 LLM 拼装;扩散把"生成"当成从噪声分布的逆过程,保真度更高但对语言指令是"外挂"的。
二、自回归生成:从 VQGAN 到视频 token
AR 生成图像的第一步是把连续图像变成离散 token。做法是用 VQ-VAE(Vector Quantized VAE):编码器把图像压成 latent,再用一个 codebook 把每个 latent 量化成最近邻的离散码,于是整张图变成一串"视觉单词"。
VQ 量化示意(图像 -> token 序列)
图像 ──encoder──-> latent grid (H/d x W/d x C)
│ codebook 最近邻量化
v
token map (H/d x W/d) ──展平──-> 1D token 序列
(每个 token in {0..K-1})
import torch, torch.nn as nn
class VQ(nn.Module):
def __init__(self, n_embed=1024, embed_dim=8):
super().__init__()
self.embed = nn.Embedding(n_embed, embed_dim)
# 推理:把 latent 量化成最近 codebook 项
def quantize(self, z):
d = (z[..., None, :] - self.embed.weight[None, None, None, :, :]).pow(2).sum(-1)
idx = d.argmin(-1) # 最近邻索引 = 离散 token
z_q = self.embed(idx) # 量化后的 latent
return z_q, idx
视频则是把时间轴也 token 化:把视频切成时空 patch,沿"(时间, 高, 宽)"展平成超长序列,喂给标准因果 Transformer。优势是和语言模型用同一套架构、天然支持文本条件;劣势是序列极长、串行采样慢、且逐 token 的误差会累积,高分辨率下保真度吃亏。
三、扩散生成:从 DDPM 到 DiT
扩散模型的思路反过来:训练时给干净图逐步加高斯噪声直到变成纯噪,模型学"给定带噪图、预测加进去的噪声";采样时从纯噪出发,反复减去预测噪声,逐步还原。
DDPM 训练 / 采样
训练: x0 ──加噪 q(x_t|x_0)──-> x_t (越来越糊)
模型 eps_theta(x_t, t) 预测噪声
损失 ‖ eps_theta - eps_true ‖2
采样: x_T~N(0,I) ──反复 x_{t-1}=denoise(x_t)──-> x_0 (清晰图)
def sample_step(model, x_t, t, cfg=7.5, cond=None, uncond=None):
# classifier-free guidance:有条件与无条件预测之差放大
eps_cond = model(x_t, t, cond)
eps_uncond = model(x_t, t, uncond)
eps = eps_uncond + cfg * (eps_cond - eps_uncond)
x_prev = denoise_step(x_t, eps, t) # 一步去噪
return x_prev
架构上,早期扩散用 U-Net;当分辨率/规模上来后,DiT(Diffusion Transformer)用标准 Transformer 替代 U-Net 主干,把 latent patch 当成 token 做注意力,质量与可扩展性显著提升,也是 Sora 一类系统的底座。文本对齐靠 cross-attention 把文本编码注入,靠 CFG 强化"听话程度"。
四、统一架构:两条线为什么在收敛
近年一个清晰趋势:AR 和扩散在互相借鉴,边界模糊。核心统一视角是------二者都是"从某个初始状态(噪声或掩码)迭代细化到数据",差别只在采样顺序(因果串行 vs 并行去噪)与表示(离散 vs 连续)。
几条收敛路线:
-
离散扩散 / 掩码生成(Masked Generative):把图像 token 随机掩码,模型并行预测所有掩码位,迭代揭开,训练目标类似 BERT 的 MLM,但用于生成。它既有 AR 的离散表示,又有扩散的并行迭代。
-
MAR(Masked Autoregressive):把"按块自回归"和"块内并行掩码"结合,兼顾可控与速度。
-
把扩散写成 AR:用离散化噪声水平构造似然分解;把 AR 写成并行:用 speculative 解码或块级并行提速。
掩码生成(Masked Generative)的训练目标示意
def masked_gen_target(tokens, mask_ratio=0.5):
mask = torch.rand(tokens.shape) < mask_ratio
corrupted = tokens.masked_fill(mask, MASK_ID)
pred = model(corrupted) # 并行预测所有掩码位
loss = ce(pred[mask], tokens[mask]) # 只在掩码位算损失
return loss
一句话总结统一:生成 = 迭代细化;AR 选"因果顺序 + 离散码",扩散选"并行去噪 + 连续 latent",而掩码生成等中间形态让两者可平滑过渡。
五、文生视频的工程要点
文生视频是两条路线交锋最激烈的地方。视频在时间和空间上都相关,工程要点:
- 时空 patchify:把视频切成(帧, 高, 宽)三维 patch,作为 Transformer 的 token。
- 时空注意力:联合时空注意力保运动连贯,或分解为空间注意力 + 时间注意力以省算力。
- 时序一致性:扩散在 latent 视频空间逐步去噪,天然能保持时序平滑;AR 则需靠因果顺序自身保证,但长视频易"漂移"。
- 与 A44 世界模型的关系:Sora 类用扩散在 latent 视频空间"生成看起来合理的视频";世界模型(JEPA/Dreamer)强调在 latent 空间做"可物理推演的预测",目标更偏"模拟"而非"画面好看"。两者共享"视频 latent 建模"底座,但评价目标不同。
评测上常用 FID(图)、FVD(视频,衡量帧序列分布差距)、文本-视频对齐分数(如 CLIPScore 的视频版)与人工评测。注意 FVD 对帧率、分辨率敏感,跨模型比较要同口径。
六、选型与部署取舍
落到工程,选 AR 还是扩散取决于你最在意什么:
| 目标 | 推荐路线 | 理由 |
|---|---|---|
| 强文本可控、要接 LLM Agent | 自回归 | 与语言模型同架构,指令跟随天然 |
| 高保真图像、质量优先 | 扩散 / DiT | 去噪稳定、保真度高 |
| 实时、低延迟 | 扩散 + 少步蒸馏 | 单步可并行,蒸馏到 1~4 步 |
| 长视频一致性 | 扩散(latent) | 时序平滑,漂移小 |
| 统一多模态(图/文/视频一体) | 自回归 token | 一套架构通吃 |
部署侧:扩散常用 UNet/DiT + VAE 编码器/解码器,显存峰值高,但可少步采样提速;AR 受限于序列长度,长视频显存和时延都吃紧,常用时空分块或分层生成缓解。量化上两者都能吃 INT8/FP8,但 VAE 解码端对精度更敏感,需单独校准。
七、扩散与自回归的工程权衡再谈
落到真刀真枪的选型,不能只说"各有所长",要能量化。延迟上,AR 串行采样,生一张图要吐几百到上千 token,首字延迟高、总时长随分辨率线性增长;扩散单步可并行,且能用少步蒸馏(LCM、一致性模型)压到 1 到 4 步,吞吐反而高。显存上,扩散要常驻 VAE 编码/解码加 DiT 主干,峰值高但稳定;AR 受序列长度拖累,高分辨率下 KV Cache 占显存爆炸。质量上,扩散保真度与细节通常更优,AR 在强文本对齐、复杂排版(带文字的图、UI 截图)上更稳。
一个被低估的工程技巧是"混合架构":用 AR 定结构与布局(先把场景、物体、位置关系用 token 敲定),再用扩散在 latent 上细化纹理与光照。这样兼顾 AR 的可控与扩散的保真,也缓解 AR 长程误差累积。视频场景同理:用 AR 做关键帧与镜头脚本,用扩散做帧间插值与时序细化。
部署侧,扩散常走"VAE 编码 - DiT 去噪 - VAE 解码"三段,瓶颈在 DiT 与解码;量化时 DiT 吃 INT8/FP8 稳,VAE 解码对精度敏感需单独校准(呼应 A34 端侧部署)。AR 走"Tokenizer 编码 - Transformer 生成 - Tokenizer 解码",瓶颈在序列长度,常用时空分块或分层生成(先粗后细)把序列压短。两者都能上连续批处理(A25)提吞吐。
八、收口:统一架构的落地趋势
把本文放回系列坐标:A14 讲 VLM(理解侧多模态),A31 讲多模态推理,A40 讲多模态训练与对齐,A44 讲生成式世界模型与视频生成,本文讲生成范式本身。五篇拼起来,就是"多模态从看懂、到推理、到对齐、到生成世界"的全景。
面试讲多模态生成,建议用"范式-统一-工程"三层答题:先讲清 AR 与扩散两条范式的表示与采样差异(第一节表格),再讲它们为何在收敛(掩码生成、MAR,第四节),最后落到工程权衡(本节的质量-速度-可控三角与混合架构)。一句话收尾:未来不会是 AR 或扩散二选一,而是"统一迭代细化框架"------离散还是连续、因果还是并行,只是同一目标下的超参数,选哪个取决于你最在意质量、速度还是可控性。这也正是 A44 世界模型与本文文生视频共享的底层逻辑:都在 latent 空间做生成式建模,只是评价目标一个偏"模拟"、一个偏"画面"。
九、收口补充:多模态生成的工程易错点与进阶考点
最后把多模态生成最常踩的坑和面试官最爱追的点收一遍。第一个易错点是把扩散和自回归当成非此即彼。前文已讲清二者是'迭代细化'这同一目标的两种采样超参数:离散还是连续、因果还是并行。成熟系统常混合------AR 定结构与布局,扩散细化纹理与时序,这样兼顾可控与保真。
第二个易错点是忽视文本对齐的来源。扩散的文本对齐是'外挂'的(cross-attention 加 CFG),天然弱于 AR 把语言当成自身序列;强文字、强排版场景(带字图、UI 截图、图表)往往 AR 更稳。第三个易错点是混淆文生视频与生成式世界模型(A44):前者追求画面合理好看,后者追求 latent 空间可物理推演;二者共享视频 latent 建模底座,但评价目标不同,别在面试里混为一谈。
进阶考点有两个方向。其一是少步采样:一致性模型、LCM 把 50 步扩散压到 1 到 4 步,靠把概率流 ODE 的轨迹蒸馏成单步映射,是部署侧提速的关键,要能说清'为什么能少步'。其二是表示统一:把图像、视频、文本都切成 token 或 patch,用一套 Transformer 通吃(统一多模态),这是当下明显趋势,也呼应 A40 多模态训练与对齐。把这三点讲透,你的多模态生成答题就有了'架构演进'的纵深,而不是停留在'SD 画图、Sora 视频'的表层。
收尾一句话:未来不是 AR 或扩散二选一,而是'统一迭代细化框架'------选离散还是连续、因果还是并行,只看你最在意质量、速度还是可控性。能按场景做这个权衡,比背下任何一份模型清单都更能打动面试官。
十、实战选型清单与面试深化
把前面结论落成可执行的选型表,面试时直接甩出来最加分。第一,纯文生图且质量优先,选扩散或 DiT,必要时少步蒸馏压延迟;第二,强文本对齐、带字截图、UI 生成,优选自回归,因为它把语言当自身序列;第三,视频且要时序一致,扩散在 latent 视频空间更稳,自回归易漂移;第四,要接 LLM Agent 统一多模态,自回归 token 化最顺;第五,预算吃紧,混合架构(AR 定结构、扩散细化)通常性价比最高;第六,实时场景必须少步采样,否则扩散的多步去噪扛不住延迟预算。
再补几个面试高频深化点。其一是 DiT 为什么比 U-Net 好:Transformer 主干随数据规模持续受益,注意力天然建模长程空间依赖,质量上限更高,代价是训练算力更贵、部署峰值显存更高。其二是少步采样为什么成立:扩散前向加噪可写成概率流 ODE,沿轨迹任意点都能映射回数据,一致性模型把轨迹蒸馏成单步近似,所以 1 到 4 步也能还原合理样本,但极端少步会丢细节,要在速度与保真间权衡。其三是评测口径:图像看 FID/IS,视频看 FVD(对帧率分辨率敏感,跨模型比较要同口径),文本对齐看 CLIPScore 类指标加人工评测,不能只看单分数。其四是视频 tokenization 的压缩技巧:时空分块、关键帧复用、沿时间轴做余弦相似帧合并,都是把爆炸的 token 数压下来的工程手段,直接关系到显存与成本。
再往架构演进看,统一多模态是明显趋势:把图像、视频、文本都切成 token 或 patch,用一套 Transformer 通吃,避免为每个模态训一个模型。这呼应 A40 多模态训练与对齐------对齐的本质就是让不同模态落到同一表示空间,而生成侧的统一 token 化是它的自然延伸。文生视频与生成式世界模型(A44)共享视频 latent 建模底座,但评价目标不同:前者求画面合理好看,后者求 latent 可物理推演、能预测状态转移,面试里别混为一谈。
常见陷阱有三个:把扩散和 AR 当非此即彼(其实是同一目标的不同采样超参数)、忽视文本对齐来源(扩散是外挂的 cross-attention 加 CFG,天然弱于 AR)、只追新模型不谈权衡(质量速度可控三角才是决策依据)。部署侧再点一句:扩散量化时 DiT 吃 INT8/FP8 稳,VAE 解码对精度敏感需单独校准;自回归量化瓶颈在序列长度,常用分层生成把序列压短。最后收一句:多模态生成没有银弹,只有按质量、速度、可控性三目标做有依据权衡。能把这权衡讲清楚,比背任何模型清单都更能体现架构判断力。
十一、把多模态生成讲成体系
面试时最怕把多模态生成讲成一串模型名字(DiT、Sora、MAR 背一遍)。更好的讲法是按"表示-生成-评价"三层来串,把每个模型落到框架里的具体位置,而不是当成孤立名词。表示层回答"图和文字怎么进同一个空间":自回归走 VQ 离散 token,扩散走 VAE 连续 latent,统一多模态趋势是把两者都切成 patch 用一套 Transformer,这呼应 A40 多模态训练与对齐里"对齐即落到同一表示空间"的结论。生成层回答"从噪声或掩码到数据怎么迭代":自回归是因果串行、扩散是并行去噪、掩码生成是并行填掩码,本文主线就是把三者统一到"迭代细化"这一个目标下。评价层回答"怎么知道生成得好":图像看 FID/IS,视频看 FVD,文本对齐看 CLIPScore 类指标加人工评测,跨模型比较必须同口径。
再给一个收束视角:本文在系列里的位置网------A14 VLM 是理解侧、A31 多模态推理是思考侧、A40 训练与对齐是底座、A44 生成式世界模型是模拟侧、本文是生成侧。五篇拼成"多模态从看懂、到推理、到对齐、到生成世界"的全景。面试时你能随手指出任意一篇在这个框架里的位置,并讲清 AR 与扩散为何收敛,面试官就会认定你真的建立了体系,而不是背了五篇稿子。最后落一句工程提醒:选生成范式永远回到质量、速度、可控性三角,没有哪个模型能同时赢三项,权衡本身才是考察点,能把权衡讲清楚比报模型清单值钱得多。
面试速答
问:为什么文生图多用扩散、文生视频又开始用自回归?
答:文生图重保真,扩散去噪稳定、质量高;视频序列极长,纯扩散在超长时空上训练/采样成本高,而把视频 token 化后用 AR Transformer 可复用 LLM 基础设施、文本对齐更强。两条线在工程上各有最优区间。
问:DiT 和 U-Net 扩散什么关系?
答:DiT 是用 Transformer 替换扩散里 U-Net 主干。把 latent patch 当 token 做注意力,可扩展性、质量优于 U-Net,是 Sora 类系统的底座。
问:CFG(classifier-free guidance)做什么?
答:采样时用"有条件预测"与"无条件预测"之差放大条件信号,让生成更"听话"、文本-图对齐更强,代价是多样性下降。
问:AR 和扩散能统一吗?
答:能。统一视角是"生成=迭代细化",区别在采样顺序与表示。掩码生成、MAR 等中间形态并行预测掩码位、兼具离散表示与并行迭代,使两者可平滑过渡。
问:VQ 量化有什么用?
答:把连续图像/视频压成离散 token,使 AR 模型能用标准因果 Transformer 生成视觉内容,并与语言序列共享同一生成框架。
问:扩散为什么保真度高、AR 为什么误差累积?
答:扩散每步只预测"该减多少噪声",目标平滑、并行去噪;AR 逐 token 串行,前一步错会带入后续,长程易退化。
问:文生视频怎么保时序一致?
答:扩散在 latent 视频空间联合时空去噪,时序天然平滑;AR 靠因果顺序自身保证,但长视频易漂移,需分层或分块生成。
问:和世界模型(A44)什么区别?
答:文生视频(扩散类)追求"画面合理好看";世界模型追求"latent 空间可物理推演、能预测状态转移"。共享视频 latent 建模底座,但评价目标不同。
高频追问清单
- 离散扩散和连续扩散在训练目标上具体差在哪?
- 掩码生成如何保证生成顺序不崩(先揭哪些掩码)?
- 视频 token 化后序列长度爆炸,有哪些压缩手段(时空分块、关键帧)?
- CFG 的引导系数过大/过小分别有什么副作用?
- 少步蒸馏(一致性模型 / LCM)怎么把 50 步压到 1~4 步?
- 扩散模型能做"图像编辑/局部重绘"吗?inpainting 怎么实现?
- AR 视频如何缓解长程漂移?有没有用检索/参考帧?
- 量化部署时 VAE 解码端为什么对精度更敏感,怎么单独校准?