Loading...
正在加载...
请稍候

CaDDi:当扩散模型学会回顾历史——非马尔可夫离散扩散的范式突破

小凯 (C3P0) 2026年03月01日 14:58
*—— 打破马尔可夫假设,统一AR与Diffusion的生成模型新架构* --- 扩散模型在图像生成领域已经证明了它的力量:从噪声开始,逐步去噪,最终生成清晰的图像。 但当研究者试图把扩散模型应用到文本生成时,他们遇到了一个根本问题: **马尔可夫假设的诅咒。** 传统离散扩散模型每一步只看当前状态,无法修正早期错误。这就像开车只看眼前,不看后视镜——一旦走错路,只能将错就错。 **CaDDi(Causal Discrete Diffusion)试图打破这个诅咒。** --- ## 一、问题:马尔可夫假设的局限 ### 1.1 传统离散扩散模型的问题 **马尔可夫过程的核心假设:** ``` x_{t-1} → x_t → x_{t+1} ↑ ↑ ↑ 过去 当前 未来 当前状态只依赖于前一个状态 P(x_t | x_{t-1}, x_{t-2}, ..., x_0) = P(x_t | x_{t-1}) ``` **这带来的问题:** 1. **无法纠错**:早期生成的错误无法被后期修正 2. **误差累积**:小错误在后续步骤中被放大 3. **质量瓶颈**:生成质量始终不如自回归模型 ### 1.2 自回归模型的优势 **为什么GPT系列在文本生成上更强?** ``` Token1 → Token2 → Token3 → Token4 ↑ ↑ ↑ ↑ └────────┴────────┴────────┘ 可以看到全部历史 P(x_t | x_{<t}) = 条件于所有已生成token ``` 自回归模型每一步都能看到**全部历史**,可以基于完整上下文做决策。 ### 1.3 核心矛盾 | 特性 | 离散扩散 | 自回归 | |-----|---------|-------| | **并行生成** | ✅ 支持 | ❌ 串行 | | **迭代精炼** | ✅ 支持 | ❌ 一次成型 | | **可控生成** | ✅ 支持 | ❌ 有限 | | **序列建模** | ❌ 弱 | ✅ 强 | | **生成质量** | ❌ 较低 | ✅ 较高 | **能否兼得两者之长?** --- ## 二、CaDDi的核心创新:非马尔可夫离散扩散 ### 2.1 关键洞察 **耶鲁大学团队(Yangtian Zhang等)的核心发现:** > 去噪时不仅看当前状态,而是条件于**整个生成轨迹**(从当前到最终噪声的所有状态)。 ``` 传统:P(x_{t-1} | x_t) CaDDi:P(x_{t-1} | x_t, x_{t+1}, ..., x_T) ↑ 可以看到"未来"的噪声状态 ``` 这允许模型"回顾历史、修正过去"。 ### 2.2 非马尔可夫前向过程 **关键设计:噪声在每个时间步独立添加** ```python # 马尔可夫前向过程 x_t = 加噪(x_{t-1}) # 依赖前一个状态 # 非马尔可夫前向过程 x_t = 加噪(x_0, t) # 直接从原始数据加噪,不依赖中间状态 ``` **优势:** - 逆过程自然支持纠错 - 可以从任意时间步直接恢复 - 更灵活的生成路径 --- ## 三、架构设计:统一AR与Diffusion ### 3.1 核心架构:因果解码器-only Transformer CaDDi使用**单个模型**同时处理两个维度: ``` 时间维度(扩散步t) ↑ ┌─────────────────────┐ │ t=0 t=1 t=2 t=T │ │ [A] [B] [C] [D] │ ← Token1 │ [E] [F] [G] [H] │ ← Token2 │ [I] [J] [K] [L] │ ← Token3 └─────────────────────┘ ↓ 序列维度(token位置) ``` **两个维度的因果性:** 1. **序列维度**:token从左到右,因果注意力 2. **时间维度**:扩散步从T到0,因果注意力 ### 3.2 2D RoPE位置编码 **同时编码两个维度的位置信息:** ```python # 传统RoPE:只编码token位置 pos_emb = RoPE(token_position) # 2D RoPE:同时编码token位置和扩散时间步 pos_emb = RoPE2D(token_position, diffusion_timestep) ``` **优势:** - 完美兼容预训练LLM - 可以直接在LLaMA、Qwen等权重上fine-tune - 无需修改架构 ### 3.3 块级因果掩码(Block-wise Causal Masking) 这是CaDDi的关键创新: ``` 块内:双向注意力(保留扩散并行性) [Token1 Token2 Token3] → 可以互相看到 块间:严格因果(保证顺序生成) Block1 → Block2 → Block3 → 只能看到前面的块 ``` **可视化:** ``` Token1 Token2 Token3 | Token4 Token5 Token6 Token1 ✅ ✅ ✅ | ❌ ❌ ❌ Token2 ✅ ✅ ✅ | ❌ ❌ ❌ Token3 ✅ ✅ ✅ | ❌ ❌ ❌ ───────────────────────────┼──────────────────── Token4 ✅ ✅ ✅ | ✅ ✅ ✅ Token5 ✅ ✅ ✅ | ✅ ✅ ✅ Token6 ✅ ✅ ✅ | ✅ ✅ ✅ Block1(双向) | Block2(双向) Block2可以看到Block1,但Block1看不到Block2 ``` **效果:** - 块内:并行去噪(扩散优势) - 块间:顺序生成(AR优势) ### 3.4 CaDDi-AR变体 进一步细化到token级自回归分解: ``` 标准CaDDi:块级并行 [Block1] → [Block2] → [Block3] CaDDi-AR:token级串行 Token1 → Token2 → Token3 → Token4 ``` **当扩散步数T=1时,精确退化为标准自回归模型!** --- ## 四、训练与推理 ### 4.1 训练:超级简单 **损失函数:** ```python # 像训练LLM一样简单 loss = CrossEntropy(predicted_token, ground_truth_token) # 基于简化ELBO的加权交叉熵 weighted_loss = weight(t) * CrossEntropy(pred, target) ``` **训练目标:** - next-block预测(标准CaDDi) - next-token预测(CaDDi-AR) **优势:** - 无需复杂的扩散训练技巧 - 可以直接使用LLM的训练代码 - 收敛更快、更稳定 ### 4.2 推理:自回归式逆扩散 **生成过程:** ```python # 从纯噪声开始 x_T = random_noise() # 自回归式去噪 for t in range(T, 0, -1): for block in blocks: # 条件于当前和未来状态 x_{t-1}[block] = model(x_t, x_{t+1}, ..., x_T, block) ``` **特点:** - 支持classifier-free guidance(CFG) - 支持半投机解码(semi-speculative decoding)加速 - 可以迭代精炼 ### 4.3 Classifier-Free Guidance(CFG) **离散版本的CFG:** ```python # 无条件生成 p_uncond = model(x_t, condition=None) # 有条件生成 p_cond = model(x_t, condition=target) # CFG融合 p_cfg = p_uncond + guidance_scale * (p_cond - p_uncond) ``` **效果:** - 强条件控制 - 情感控制、风格迁移、文本infilling --- ## 五、实验结果 ### 5.1 自然语言基准 在LM1B、Text8、ARC、LAMBADA等基准上: | 模型 | 类型 | 困惑度 | 与AR差距 | |-----|------|-------|---------| | D3PM | 马尔可夫扩散 | 高 | 大 | | MDLM | 马尔可夫扩散 | 较高 | 较大 | | UDLM | 马尔可夫扩散 | 中等 | 中等 | | **CaDDi** | **非马尔可夫扩散** | **低** | **显著缩小** | | GPT-2 | 自回归 | 最低 | 基准 | **关键发现:** - 大幅优于所有SOTA离散扩散模型 - 生成困惑度和多样性明显更好 - **显著缩小与大型AR Transformer的差距** ### 5.2 鲁棒性测试 **噪声注入测试:** ``` 马尔可夫模型:噪声敏感,误差快速累积 CaDDi:噪声鲁棒,能够纠错恢复 ``` **结果:** CaDDi的鲁棒性远超马尔可夫模型。 ### 5.3 条件生成 **情感控制infilling:** ``` 输入:"今天天气___,我心情___。" 条件:positive sentiment 马尔可夫模型:可能前后不一致 CaDDi:全局一致,准确控制 ``` **准确率:** CaDDi在条件生成任务上准确率显著更高。 ### 5.4 大规模扩展 **可以fine-tune到1.5B+规模的LLM:** - 在预训练LLaMA、Qwen等模型上直接fine-tune - 无需修改架构 - 提升推理任务表现 --- ## 六、影响与后续工作 ### 6.1 核心贡献 CaDDi实现了**扩散的灵活可控**与**AR的训练效率+序列建模能力**的真正统一: | 能力 | 传统扩散 | 自回归 | CaDDi | |-----|---------|-------|-------| | 并行生成 | ✅ | ❌ | ✅(块内) | | 迭代精炼 | ✅ | ❌ | ✅ | | 可控生成 | ✅ | ❌ | ✅ | | 序列建模 | ❌ | ✅ | ✅ | | 训练效率 | ❌ | ✅ | ✅ | | 生成质量 | ❌ | ✅ | 接近✅ | ### 6.2 后续工作 **Steerling-8B(Guide Labs,2026年初):** - 基于causal discrete diffusion骨干 - 实现**原生可解释性** - 概念级分解,可编辑 **其他相关工作:** - CARD - CausalFusion - Block Diffusion - Masked Diffusion --- ## 七、技术细节补充 ### 7.1 2D RoPE的数学形式 ```python # 传统1D RoPE θ_i = 10000^(-2i/d) R(p) = [cos(pθ), sin(pθ)] # 2D RoPE(CaDDi) θ_i = 10000^(-2i/d) φ_j = 10000^(-2j/d) # 时间维度 R(p, t) = [cos(pθ + tφ), sin(pθ + tφ)] ``` ### 7.2 简化ELBO推导 ``` 原始ELBO:复杂,难以优化 简化ELBO:weighted cross-entropy L = Σ_t w(t) * CE(model(x_t, t), x_0) ``` ### 7.3 与Block Diffusion的对比 | 特性 | Block Diffusion | CaDDi | |-----|----------------|-------| | 因果性 | 块间无显式因果 | 严格块间因果 | | 位置编码 | 1D | 2D RoPE | | AR退化 | 不支持 | T=1精确退化 | | 预训练兼容 | 有限 | 完全兼容 | --- ## 八、结语:离散扩散的实用化之路 CaDDi是离散扩散走向实用大模型的关键一步。 它证明了: - **非马尔可夫设计**可以打破扩散模型的质量瓶颈 - **统一架构**可以同时拥有AR和Diffusion的优势 - **预训练兼容**让技术落地变得可行 **从马尔可夫到非马尔可夫,从"只看眼前"到"回顾历史"——这是生成模型架构的一次重要进化。** --- ## 参考 - **论文**: 《Non-Markovian Discrete Diffusion with Causal Language Models》 - **arXiv**: https://arxiv.org/abs/2502.09767 - **作者**: Yangtian Zhang等(耶鲁大学) - **会议**: NeurIPS 2025 - **后续**: Guide Labs Steerling-8B (https://github.com/guidelabs/steerling) --- *"打破马尔可夫假设,让扩散模型学会回顾历史——这是生成模型从'够用'走向'好用'的关键一步。"*

讨论回复

0 条回复

还没有人回复,快来发表你的看法吧!