Binary Discrete Diffusion: Candidate-Set Diffusion for Logic and Planning Tasks
Organizations: ETH Zurich · Max Planck Institute for Intelligent Systems · ELLIS Institute Tübingen
Abstract
Discrete diffusion models iteratively denoise a noisy sequence of categorical data such as text, enabling any-order generation with self-correction and in-filling capabilities. This makes them promising candidates for reasoning, planning, and constrained-generation tasks like coding and math. Yet masked and uniform diffusion erase a token's identity in a single corruption event, so their noisy states cannot explicitly represent partially resolved uncertainty in which several alternatives remain plausible. We close this gap with Binary Discrete Diffusion, a family of continuous-time discrete-diffusion processes whose noisy state is a set of candidate tokens per position, represented as a binary membership vector. Binary diffusion changes candidate sets through additions and removals, allowing information to be lost and recovered gradually while the diffusion state itself represents partial uncertainty. On Sudoku-Extreme, Boxoban, and graph coloring, the symmetric formulation of binary diffusion consistently outperforms strong, well-tuned masked and uniform baselines under matched architectures and controlled training, sampling, and tuning budgets, with its largest gains on the hardest instances, while remaining competitive on language modeling (Text8, TinyStories, OpenWebText). These results support candidate sets as an effective intermediate representation for iterative reasoning and show that the corruption kernel can materially change the computation learned by the reverse model.
Figures & tables
| Sudoku | Boxoban | Graph coloring | ||||
|---|---|---|---|---|---|---|
| Kernel | All | Hard | All | Hard | All | Hard |
| Binary symmetric | 96.27 (0.21) | 92.66 (0.39) | 94.29 (0.30) | 84.65 (0.56) | 99.35 (0.00) | 64.13 (1.10) |
| Uniform | 95.47 (0.21) | 89.81 (0.47) | 92.38 (0.64) | 78.73 (1.20) | 99.01 (0.02) | 61.41 (0.34) |
| Binary absorbing | 91.24 (0.11) | 81.08 (0.26) | 87.30 (0.81) | 69.13 (1.66) | 98.83 (0.02) | 54.77 (0.39) |
| Masked | 87.96 (0.16) | 76.12 (0.10) | 91.26 (0.31) | 75.47 (0.69) | 97.44 (0.04) | 4.85 (0.33) |
| Dataset | Binary symmetric | Uniform | Binary absorbing | Masked |
|---|---|---|---|---|
| Text8 | 0.913 (0.001) | 0.896 (0.006) | 0.821 (0.000) | 0.854 (0.008) |
| TinyStories | 0.882 (0.006) | 0.904 (0.001) | 0.585 (0.011) | 0.850 (0.009) |
| OpenWebText | 0.840 (0.001) | 0.822 (0.004) | 0.747 (0.004) | 0.871 (0.013) |
Appendix figures & tables13 assets
Supplementary material from the paper’s appendix.
Appendix
| Architecture | |
|---|---|
| transformer layers | 12 |
| hidden width | 512 |
| attention heads | 8 |
| MLP width | 2048 |
| time-conditioning width | 128 |
| conditioning | Sudoku: clue embedding; Boxoban: board prefix; graph coloring: adjacency in attention |
| Architecture | |
|---|---|
| transformer layers | 12; OpenWebText 16 |
| hidden width | 768; OpenWebText 1024 |
| attention heads | 12; OpenWebText 16 |
| MLP width | 3072; OpenWebText 4096 |
| time-conditioning width | 128 |
| sequence length | Text8 256, TinyStories 512, OpenWebText 1024 |
| Task | Kernel | |||
|---|---|---|---|---|
| Sudoku | Binary symmetric | 0.0163 (0.0005) | 0.0175 (0.0002) | 0.0230 (0.0007) |
| Uniform | 0.0162 (0.0013) | 0.0179 (0.0001) | 0.0226 (0.0005) | |
| Binary absorbing | 0.0148 (0.0001) | 0.0178 (0.0010) | 0.0229 (0.0011) | |
| Masked | 0.0154 (0.0004) | 0.0176 (0.0002) | 0.0245 (0.0009) | |
| Boxoban | Binary symmetric | 0.0286 (0.0017) | 0.0306 (0.0034) | 0.0358 (0.0006) |
| Uniform | 0.0267 (0.0026) | 0.0256 (0.0009) | 0.0332 (0.0007) |
| Task | Binary symmetric | Uniform | Binary absorbing | Masked |
|---|---|---|---|---|
| Sudoku | 0.0165 (0.0003) | 0.0160 (0.0004) | 0.0161 (0.0001) | 0.0166 (0.0002) |
| Boxoban | 0.0224 (0.0002) | 0.0235 (0.0005) | 0.0278 (0.0004) | 0.0236 (0.0002) |
| Graph coloring | 0.0860 (0.0001) | 0.0857 (0.0001) | 0.0877 (0.0001) | 0.0837 (0.0000) |
| Setting | Logic tasks | Text |
|---|---|---|
| Temperature | ||
| Re-corrupt fraction | ||
| masked also | ||
| Position confidence | ||
| Ordering tilt | ||
| masked also |
| Kernel | Setting | Sudoku All | Sudoku Hard | Boxoban All | Boxoban Hard | Graph coloring All | Graph coloring Hard |
| Binary symmetric | 0 | 0 | 0 | 1 | 1 | 0 | |
| 1 | 1 | 1 | 1 | 0.8 | 1 | ||
| coord. | c | c | c | c | c | c | |
| 0 | 0 | 0 | 0 | 0 | 0 | ||
| 0 | 0 | 3 | 3 | 0 | 3 | ||
| 0.5 | 0.5 | 3 | 0.5 | 0 | 0 |
| Kernel | Setting | Text8 | TinyStories | OpenWebText |
| Binary symmetric | 1 | 0.9 | 0.9 | |
| top- | 1 | 1 | 1 | |
| spacing | log | cosine | log | |
| 1 | 0.5 | 0.8 | ||
| coord. | c | d | c | |
| 0 | 10 | 0 |
| Binary symmetric | Uniform | Binary absorbing | Masked | |||||
| Sampler | All | Hard | All | Hard | All | Hard | All | Hard |
| Sudoku | ||||||||
| Ancestral | 76.41 (0.33) | 59.22 (0.34) | 76.66 (0.49) | 60.37 (0.42) | 71.90 (0.24) | 52.25 (0.34) | 70.31 (0.29) | 50.75 (0.48) |
| Re-corrupt | 94.54 (0.18) | 87.78 (0.40) | 94.77 (0.31) | 88.27 (0.64) | 86.03 (0.24) | 71.75 (0.54) | 80.84 (0.09) | 64.39 (0.21) |
| -sampler | 94.54 (0.18) | 87.78 (0.40) | 94.77 (0.31) | 88.40 (0.68) | 86.03 (0.24) | 71.89 (0.49) | 80.49 (0.13) | 63.95 (0.24) |
| + position conf. | 94.37 (0.18) | 87.47 (0.21) | 95.48 (0.22) | 89.90 (0.48) | 91.23 (0.11) | 81.24 (0.21) | 88.19 (0.19) | 76.56 (0.29) |
| Dataset | Kernel | MAUVE | GenPPL | NELBO | |
|---|---|---|---|---|---|
| Text8 | Binary symmetric | 6.805 (0.004) | 0.913 (0.001) | 186 (3) | 1.454 (0.004) |
| Uniform | 7.244 (0.008) | 0.896 (0.006) | 492 (1) | 1.428 (0.003) | |
| Binary absorbing | 6.873 (0.003) | 0.821 (0.000) | 404 (7) | 1.476 (0.004) | |
| Masked | 6.650 (0.010) | 0.854 (0.008) | 272 (3) | 1.384 (0.003) | |
| TinyStories | Binary symmetric | 5.676 (0.005) | 0.882 (0.006) | 9.4 (0.1) | 0.658 (0.002) |
| Uniform | 5.682 (0.004) | 0.904 (0.001) | 9.2 (0.0) | 0.493 (0.001) |
| Dataset | Kernel | MAUVE | GenPPL | |
|---|---|---|---|---|
| Text8 | Binary symmetric | 6.805 (0.004) | 0.913 (0.001) | 186 (3) |
| Uniform | 6.924 (0.003) | 0.891 (0.006) | 358 (1) | |
| Binary absorbing | 6.803 (0.011) | 0.821 (0.007) | 329 (10) | |
| Masked | 6.650 (0.010) | 0.854 (0.008) | 272 (3) | |
| TinyStories | Binary symmetric | 5.676 (0.005) | 0.882 (0.006) | 9.4 (0.1) |
| Uniform | 5.756 (0.007) | 0.877 (0.001) | 12.3 (0.0) |
Diffusion Models
Diffusion models learn to reverse gradual data corruption, enabling flexible generation, editing, forecasting, and inference.
See all 1,169 papers