Generalized Discrete Diffusion with Self-Correction
Abstract
Self-correction is an effective technique for maintaining parallel sampling in discrete diffusion models with minimal performance degradation. Prior work has explored self-correction at inference time or during post-training; however, such approaches often suffer from limited generalization and may impair reasoning performance. GIDD pioneers pretraining-based self-correction via a multi-step BERT-style uniform-absorbing objective. However, GIDD relies on a continuous interpolation-based pipeline with opaque interactions between uniform transitions and absorbing masks, which complicates hyperparameter tuning and hinders practical performance. In this work, we propose a Self-Correcting Discrete Diffusion (SCDD) model to reformulate pretrained self-correction with explicit state transitions and learn directly in discrete time. Our framework also simplifies the training noise schedule, eliminates a redundant remasking step, and relies exclusively on uniform transitions to learn self-correction. Experiments at the GPT-2 scale demonstrate that our method enables more efficient parallel decoding while preserving generation quality. Our code is available at https://github.com/laaaarrywang/Self-Correcting-Discrete-Diffusion.git.
Lay Summary
Computers can be taught to write text. The usual method produces one word at a time — accurate, but slow for long passages. A faster alternative fills in many blank words simultaneously, but it tends to make mistakes, and in most such systems a word can't be changed once it's written. We wondered whether a fast, fill-in-the-blanks writer could also revise its own errors as it goes — an ability we call self-correction — and learn that habit from the very start of training rather than having it patched in afterward. So we built SCDD. Rather than erasing a bad word and refilling the gap (a wasteful two-step detour), it rewrites mistakes directly. For example, it can turn a garbled "haveulhu" into "have received" in a single step. We found this makes correction roughly twice as efficient and improves quality, especially during fast generation — it can even restore about two-thirds of deliberately scrambled words in one pass.