概述
本研究提出了基于离散状态扩散(DSD)的快速推理模型–种子扩散预览(Seed Diffusion Preview),作为大规模语言建模的一种新方法。
传统的自回归(AR)模型是按顺序生成标记的,这限制了推理速度,即使是高精度推理也是如此。
另一方面,扩散模型可以并行生成,但由于其连续数据假设设计和顺序恢复过程,在自然语言处理领域存在速度和性能问题。
该方法将专门用于代码生成的学习流水线与两阶段课程学习、受限生成顺序学习、策略学习和分块并行推理等复杂改进相结合。
其结果是在 H20 GPU 上实现了每秒 2,146 个 token 的快速推理,同时在 HumanEval、LiveCodeBench 和 MBXP 等多个代码生成基准测试中保持了高性能。
这打破了速度与质量之间的权衡,证明了扩散语言模型的实际可行性。
建议的方法
种子扩散预览集成了以下要素,以克服自然语言处理的独特挑战,同时利用扩散模型的优势。
首先,它采用了 “两阶段课程学习(TSC)”,在初始阶段通过基于掩码的销毁过程建立稳健的基础,并在后期阶段增加基于编辑的销毁过程,以提高自我修正能力。
其次,"生成顺序约束学习 "利用 ELBO 最大化准则从大量候选生成顺序中提取高质量轨迹,并抑制顺序变化。
第三,"策略学习 "提高了速度,同时优化了推理过程中的步骤数量。此外,在推理过程中还采用了 "逐块并行生成 "技术,在保持块之间因果关系的同时高效生成标记。
除了这些设计,内部基础设施优化和 KV 缓存相结合,实现了速度和质量的双赢。
实验
该模型在代码生成领域的各种基准上进行了评估。
HumanEval和MBPP上的基本编码性能,BigCodeBench和LiveCodeBench上的实用和无时间污染竞争编程性能,以及MBXP上的多语言代码生成性能。
还使用 NaturalCodeBench 测试了基于自然用户查询的性能。
此外,还通过 Aider 和 CanItEdit 等代码编辑任务评估了修改现有代码的能力。
结果表明,Seed Diffusion Preview 在多项指标上的表现不亚于或优于其同等规模的前代产品(如 Mercury Coder 和 Gemini Diffusion),同时推理速度提高了 2 到 3 倍。
特别是在编辑任务方面,性能提升非常明显,证明了基于扩散的方法在代码生成和编辑方面的有效性。