ChatPaper.aiChatPaper

DiffuCoder: Понимание и улучшение маскированных диффузионных моделей для генерации кода

DiffuCoder: Understanding and Improving Masked Diffusion Models for Code Generation

June 25, 2025
Авторы: Shansan Gong, Ruixiang Zhang, Huangjie Zheng, Jiatao Gu, Navdeep Jaitly, Lingpeng Kong, Yizhe Zhang
cs.AI

Аннотация

Диффузионные большие языковые модели (dLLM) представляют собой убедительную альтернативу авторегрессивным (AR) моделям, поскольку их модели удаления шума работают со всей последовательностью целиком. Глобальное планирование и итеративное уточнение, характерные для dLLM, особенно полезны для генерации кода. Однако текущие механизмы обучения и вывода для dLLM в области программирования всё ещё недостаточно изучены. Чтобы раскрыть поведение декодирования dLLM и реализовать их потенциал для генерации кода, мы систематически исследуем процессы удаления шума и методы обучения с подкреплением (RL). Мы обучаем 7B-модель dLLM, DiffuCoder, на 130 миллиардах токенов кода. Используя эту модель в качестве тестовой платформы, мы анализируем её поведение при декодировании, выявляя, чем оно отличается от AR-моделей: (1) dLLM могут определять, насколько каузальной должна быть их генерация, не полагаясь на полу-AR декодирование, и (2) увеличение температуры сэмплинга разнообразит не только выбор токенов, но и порядок их генерации. Это разнообразие создаёт богатое пространство поиска для RL-прогонов. Для RL-обучения, чтобы снизить дисперсию оценок логарифмической вероятности токенов и сохранить эффективность обучения, мы предлагаем coupled-GRPO — новую схему сэмплинга, которая создаёт комплементарный маскирующий шум для завершений, используемых в обучении. В наших экспериментах coupled-GRPO значительно улучшает производительность DiffuCoder на бенчмарках генерации кода (+4.4% на EvalPlus) и снижает зависимость от каузальности AR при декодировании. Наша работа даёт более глубокое понимание механизмов генерации dLLM и предлагает эффективную, нативную для диффузии RL-обучающую структуру. https://github.com/apple/ml-diffucoder.
English
Diffusion large language models (dLLMs) are compelling alternatives to autoregressive (AR) models because their denoising models operate over the entire sequence. The global planning and iterative refinement features of dLLMs are particularly useful for code generation. However, current training and inference mechanisms for dLLMs in coding are still under-explored. To demystify the decoding behavior of dLLMs and unlock their potential for coding, we systematically investigate their denoising processes and reinforcement learning (RL) methods. We train a 7B dLLM, DiffuCoder, on 130B tokens of code. Using this model as a testbed, we analyze its decoding behavior, revealing how it differs from that of AR models: (1) dLLMs can decide how causal their generation should be without relying on semi-AR decoding, and (2) increasing the sampling temperature diversifies not only token choices but also their generation order. This diversity creates a rich search space for RL rollouts. For RL training, to reduce the variance of token log-likelihood estimates and maintain training efficiency, we propose coupled-GRPO, a novel sampling scheme that constructs complementary mask noise for completions used in training. In our experiments, coupled-GRPO significantly improves DiffuCoder's performance on code generation benchmarks (+4.4\% on EvalPlus) and reduces reliance on AR causal during decoding. Our work provides deeper insight into the machinery of dLLM generation and offers an effective, diffusion-native RL training framework. https://github.com/apple/ml-diffucoder.
PDF171July 2, 2025