apple-aiml-research/ml-diffucoder

DiffuCoder: Understanding and Improving Masked Diffusion Models for Code Generation

해결하는 문제

DiffuCoder는 코드 생성에서 자기회귀(AR) 모델의 한계를 해결하며, 마스크 확산 모델(dLLM)이 코드를 더 유연하고 효율적으로 생성할 수 있는 방법을 탐구합니다. 또한 새로운 샘플링 기법을 도입하여 모든 토큰이 학습 신호를 받도록 함으로써 dLLM의 사후 훈련 비효율성과 높은 분산을 해결합니다.

작동 방식

DiffuCoder는 코드 생성을 위한 마스크 확산 모델입니다. 텍스트를 왼쪽에서 오른쪽으로 생성하는 AR 모델과 달리 확산 프로세스를 사용하여 토큰을 정제합니다. 성능을 향상시키기 위해 이 프로젝트는 결합 샘플링 기법을 사용하는 사후 훈련 방법인 Coupled-GRPO를 도입합니다. 이 기법은 모든 대상 토큰을 함께 커버하는 타임스텝 쌍을 선택하여 각 토큰의 로그 확률이 최소 한 번 계산되도록 보장하고, 현실적인 부분 마스크 컨텍스트에서 더 정확한 확률 추정을 제공합니다.

대상 독자

이 프로젝트는 비자기회귀 생성, 확산 기반 언어 모델, 특수 코드 생성 모델을 연구하는 AI 연구자와 개발자를 대상으로 합니다.

주요 특징

  • Coupled-GRPO: 확산 LLM의 분산을 줄이고 학습 효율을 향상시키는 새로운 사후 훈련 방법.
  • 비선형 생성: 기존 AR 모델의 엄격한 왼쪽에서 오른쪽 편향을 깨는 능력.
  • 자기회귀 점수: 생성 과정 중 인과 패턴을 정량화하는 새로운 지표.
  • 사전 훈련 모델: Hugging Face에서 7B 모델의 Base, Instruct, cpGRPO 버전을 사용할 수 있습니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트