CANDI: Hybrid Discrete-Continuous Diffusion Models
About
While continuous diffusion has shown remarkable success in continuous domains such as image generation, its direct application to discrete data has underperformed pure discrete formulations. To understand this gap, we introduce token identifiability, an analytical framework characterizing how Gaussian noise corrupts discrete data through two mechanisms: discrete identity corruption and continuous rank degradation. We reveal that these mechanisms scale differently with vocabulary size, creating a temporal dissonance that forces a tradeoff between learning continuous geometry and discrete structure. To address this, we propose CANDI (Continuous ANd DIscrete diffusion), a hybrid framework that decouples discrete and continuous corruption, enabling simultaneous learning of both. This unlocks the benefits of continuous diffusion for discrete spaces: on controlled generation, CANDI enables classifier-based guidance with off-the-shelf classifiers through simple gradient addition; on text generation, CANDI outperforms masked diffusion at low NFE, demonstrating the value of learning continuous gradients for discrete spaces. We include the code on the project page: https://patrickpynadath1.github.io/candi-lander.
Related benchmarks
| Task | Dataset | Result | Rank | |
|---|---|---|---|---|
| Language Modeling | LM1B | PPL (Generalized)121 | 93 | |
| Language Modeling | OWT | Gen. PPL143.1 | 78 | |
| Unconditional Generation | LM1B sequence length 128 | Generation Perplexity (PPL)167.9 | 43 | |
| Unconditional Generation | OpenWebText L=1024 (test) | Generation Perplexity38.8 | 40 | |
| Sudoku Puzzle Solving | Sudoku Hard 30/81 digits visible (test) | Exact Match Accuracy16.7 | 10 | |
| Sudoku Puzzle Solving | Sudoku Easy 40/81 digits visible (test) | Exact Match Accuracy79.3 | 10 | |
| Sudoku Puzzle Solving | Sudoku Med. 35/81 digits visible (test) | Exact Match Accuracy45.9 | 10 | |
| Unconditional Text Generation | OpenWebText (OWT) length 1024 | Training Duration (days)5.6 | 6 |