DiffuCoder:理解和改进代码生成的掩模扩散模型

扩散大语言模型 (dLLM) 是自回归 (AR) 模型的引人注目的替代品,因为它们的去噪模型在整个序列上运行。 dLLM 的全局规划和迭代细化功能对于代码生成特别有用。然而,目前 dLLM 在编码方面的训练和推理机制仍有待探索。为了揭开 dLLM 解码行为的神秘面纱并释放其编码潜力,我们系统地研究了它们的去噪过程和强化学习 (RL) 方法。我们在 130B 上训练 7B dLLM,\textbf{DiffuCoder}...

来源:Apple机器学习研究

扩散大语言模型 (dLLM) 是自回归 (AR) 模型的引人注目的替代品,因为它们的去噪模型在整个序列上运行。 dLLM 的全局规划和迭代细化功能对于代码生成特别有用。然而,目前 dLLM 在编码方面的训练和推理机制仍有待探索。为了揭开 dLLM 解码行为的神秘面纱并释放其编码潜力,我们系统地研究了它们的去噪过程和强化学习 (RL) 方法。我们在 130B 代码标记上训练 7B dLLM,\textbf{DiffuCoder}。使用该模型作为测试平台,我们分析了它的解码行为,揭示了它与 AR 模型的不同之处:(1) dLLM 可以在不依赖半 AR 解码的情况下决定其生成的因果关系,(2) 提高采样温度不仅可以使令牌选择多样化,还可以使其生成顺序多样化。这种多样性为 RL 的推出创造了丰富的搜索空间。对于强化学习训练,为了减少标记对数似然估计的方差并保持训练效率,我们提出了 \textbf{ Coupled-GRPO} ,这是一种新颖的采样方案,可以为训练中使用的补全构建互补掩模噪声。在我们的实验中,耦合 GRPO 显着提高了 DiffuCoder 在代码生成基准上的性能(在 EvalPlus 上提高了 4.4%),并减少了解码过程中对 AR 偏差的依赖。我们的工作提供了对 dLLM 生成机制的更深入的了解,并提供了有效的、扩散原生的 RL 训练框架。

  • † 香港大学 (HKU)
  • ** 在 Apple 期间完成的工作