Spherical Brownian Diffusion for Language Modeling
Organizations: University of Basel
Abstract
Continuous diffusion language models involve two coupled design choices: how to corrupt continuous token representations and how to invert that corruption at generation time. Recent work has explored language generation on the unit sphere through geodesic and von Mises--Fisher (vMF) paths, raising the question of which forward process to use on this geometry and how much that choice matters relative to inference. We introduce Spherical Brownian Diffusion, using Brownian motion as the canonical isotropic diffusion on the sphere. Its heat semigroup provides a principled forward process, an additive dimension-free noise clock, and an exact ancestral bridge, while a clean-token posterior learned with cross-entropy supports multiple samplers. To separate corruption from inference, we derive high-dimensional approximation rates between Brownian and moment-matched vMF corruption and use this relationship for controlled substitutions. On Sudoku, Brownian and moment-matched vMF give nearly identical results across four samplers and five budgets under otherwise identical settings. In contrast, with the corruption process fixed, sampler choice produces a 25.0-point spread at a sampler budget of 180 calls. Using the ancestral bridge, we split this gain into a memory effect from re-noising the state, present on Sudoku and GSM8K, and a token-selection effect on GSM8K and largest at small budgets. Across reasoning tasks, categorical refinement improves performance, whereas unconditional text generation benefits from stochastic updates that preserve diversity.
Figures & tables
| Kernel | Residual |
|---|---|
| Heat | |
| moment vMF | – |
| Mix | – |
| Mix | – |
| Task ( ) | Memory | Token |
|---|---|---|
| Sudoku (16) | ||
| Sudoku (180) | ||
| GSM8K (16) | ||
| GSM8K (256) |
| Model | Easy | Medium | Hard |
|---|---|---|---|
| AR (greedy) | 14.6 | 5.1 | 1.0 |
| MDLM | 92.0 | 77.1 | 30.2 |
| Duo | 96.3 | 84.7 | 58.4 |
| CANDI | 79.3 | 45.9 | 16.7 |
| FLM | 94.2 | 82.7 | 44.5 |
| S-FLM | 94.8 | 85.2 | 45.0 |
Appendix figures & tables59 assets
Supplementary material from the paper’s appendix.
Appendix
| Method | Forward family | Noise parameterization | Semigroup / path |
|---|---|---|---|
| S-FLM | Geodesic interpolation | Interpolation schedule | Designed path |
| vMF | vMF family | Concentration | Chosen concentration schedule |
| Ours | Spherical heat kernel | Retained-cosine clock | Heat semigroup |
| Task | Heat model | Evaluation set | Restart protocol |
|---|---|---|---|
| Hard Sudoku | 8-layer DiT, width 512; frozen codebook; 20k updates, batch 256 | 1,000 tuning and 2,000 disjoint evaluation puzzles | ; seed regimes specified per table |
| GSM8K | Heat-trained online 250k checkpoint; context length 512 | All 1,319 test problems | ; three paired inference seeds |
| Sampler | Ungated | Gated (tuned) | ||
|---|---|---|---|---|
| q-argmax | – | – | ||
| Bridge, argmax token | ||||
| Bridge, sampled token | ||||
| Memoryless, | (n.s.) | – | – |
| Retained cosine | Argmax token | Sampled token ( ) | |
|---|---|---|---|
| (bridge) | |||
| (near-memoryless) |
| Diagnostic | Memoryless | Bridge | Restart |
|---|---|---|---|
| KS versus forward cosine marginal | 0.004 | 0.006 | 0.005 |
| Codeword margin | 0.115 | 0.115 | 0.116 |
| Calibration error on trajectory states | 0.050 | 0.070 | 0.053 |
| Cell accuracy after (%) | 95.0 | 92.7 | 94.6 |
| Diagnostic | Memoryless | Bridge | Bridge-fresh | Restart |
|---|---|---|---|---|
| Valid grids (%) | 74.8 | 58.6 | 73.1 | 74.8 |
| Wrong right | 0.291 | 0.168 | 1.390 | 0.273 |
| Right wrong | 0.252 | 0.148 | 1.351 | 0.233 |
| Net revision | 0.040 | 0.020 | 0.039 | 0.040 |
| Wrong-cell confidence, trajectory / redrawn | .976/.976 | .968/.969 | .975/.975 | .976/.976 |
| Calibration error, trajectory / redrawn | .052/.052 | .068/.067 | .055/.055 | .052/.052 |
| (Sudoku / GSM8K) | Sudoku | GSM8K | ||||
|---|---|---|---|---|---|---|
| Bridge | q-argmax | Difference | Bridge | q-argmax | Difference | |
| 16 | 58.8 | 65.1 | 14.6 | 18.2 | ||
| 32 | 59.1 | 69.2 | 15.3 | 20.9 | ||
| 64 | 58.9 | 73.7 | 15.5 | 23.6 | ||
| 128 | 59.3 | 77.0 | 16.6 | 25.6 | ||
| 180 / 256 | 59.5 | 78.0 | 17.6 | 27.1 | ||
| Task ( ) | q-argmax bridge | q-argmax |
|---|---|---|
| Sudoku (16) | ||
| Sudoku (64) | ||
| Sudoku (128) | ||
| Sudoku (180) | ||
| GSM8K (16) | ||
| GSM8K (64) |
| Sampler | Accuracy (%) | Difference (points) |
|---|---|---|
| q-argmax | 23.63 | – |
| Exact bridge | 15.49 | |
| Bridge-fresh | 13.34 |
| GSM8K accuracy (%) | Difference from q-argmax (points) | |
|---|---|---|
| (exact ancestral) | ||
| (q-argmax) | – |
| NFE | Duo | MDLM | SBD memoryless | Duo | MDLM | SBD q-argmax |
|---|---|---|---|---|---|---|
| 16 | ||||||
| 32 | ||||||
| 64 | ||||||
| 128 | ||||||
| 256 |
| NFE | Memoryless, | q-argmax |
|---|---|---|
| 1 | ||
| 4 | ||
| 16 | ||
| 64 | ||
| 256 | ||
| 512 |
| Updates/s | Duration (h) | GPU-hours | ||||
|---|---|---|---|---|---|---|
| Model | TinyGSM | OWT | TinyGSM | OWT | TinyGSM | OWT |
| AR | 5.4 | 6.0 | 12.8 | 46.6 | 102.1 | 745.7 |
| MDLM | 3.0 | 3.5 | 22.8 | 80.3 | 182.7 | 1,284.5 |
| Duo | 3.0 | 3.5 | 22.8 | 80.3 | 182.7 | 1,284.5 |
| CANDI | 3.0 | 2.5 | 23.5 | 108.9 | 188.3 | 1,742.9 |
| FLM | 3.2 | 3.3 | 21.7 | 84.2 | 173.6 | 1,346.8 |
| Method | Latency (s/sample) | Throughput (tokens/s) | Peak memory (GiB) |
|---|---|---|---|
| MDLM | 3.40 | 979 | 3.73 |
| Duo | 3.21 | 1,259 | 3.73 |
| S-FLM | 3.62 | 620 | 5.59 |
| Ours: q-argmax | 3.37 | 1,221 | 2.31 |
| Ours: Heun SDE | 7.54 | 257 | 2.73 |
| Ours: OWT hybrid, | 7.03 | 277 | 5.80 |
| Setting | Sudoku | TinyGSM GSM8K | OpenWebText |
|---|---|---|---|
| Backbone | 8 layers, width 512, 8 heads | 12 blocks, width 768, 12 heads; conditioning width 128 | Same as GSM8K |
| Parameters | 26.2M | 130.8M + 37.7M codebook | 131.6M + 38.6M codebook |
| Codebook | 128 | 768 | 768 |
| Tokenizer | Sudoku digits | SmolLM-135M; 49,152 + PAD | GPT-2; 50,257 + 1 |
| Sequence length | 180 | 512 | 1,024, wrapped |
| Training updates | 20k | 250k | 1M |
| Difficulty | Sampler / | 16 | 32 | 64 | 128 | 180 |
|---|---|---|---|---|---|---|
| Easy | SDE | |||||
| ODE | ||||||
| q-argmax | ||||||
| gated q-argmax | ||||||
| Medium | SDE | |||||
| ODE |
| Study | Accuracy | Training | Grid | Decode | Seeds |
|---|---|---|---|---|---|
| Benchmark | online, 20k | information | none, 180 calls | 5 sampler; 1 checkpoint | |
| Heat–vMF contrast | 20k updates | log-radius | q-argmax | 3 paired training seeds | |
| Kernel Heat diagonal | online, 20k | information-matched | posterior, 181 calls | 5 training seeds | |
| Frozen-codebook ablation | online, 20k | information | posterior, 181 calls | 3 sampler; 1 checkpoint |
| Difficulty | SDE log | SDE information | ODE log | ODE information |
|---|---|---|---|---|
| Easy | ||||
| Medium | ||||
| Hard |
| NFE | Easy | Medium | Hard |
|---|---|---|---|
| 4 | |||
| 16 | |||
| 64 | |||
| 180 |
| Sampler | Valid | Legal | Wrong puzzle | Rows | Columns | Boxes |
|---|---|---|---|---|---|---|
| SDE | 63.25 | 68.96 | 5.71 | 75.01 | 75.77 | 81.00 |
| ODE | 58.24 | 62.80 | 4.56 | 70.32 | 71.53 | 77.75 |
| q-argmax | 79.70 | 86.94 | 7.24 | 89.39 | 89.70 | 91.92 |
| gated, nearest | 82.59 | 82.66 | 0.07 | 85.87 | 86.27 | 89.01 |
| gated, posterior | 83.36 | 85.00 | 1.64 | 87.98 | 88.07 | 90.56 |
| Training kernel | ODE | SDE | q-argmax | Gated q-argmax |
|---|---|---|---|---|
| Heat | ||||
| Moment-matched vMF | ||||
| (vMF heat) |
| Heat | vMF | Mix | Mix | |
| .05 | 1.05 | 1.03 | .47 | .056 |
| .25 | 1.31 | 1.31 | .81 | .31 |
| .50 | 1.56 | 1.55 | 1.18 | .73 |
| .90 | 2.39 | 2.38 | 2.51 | 2.30 |
| SLERP (full): relative to Heat; | ||||
| separate truncation ablation: . | ||||
| Heat | moment vMF | mix | mix | |
|---|---|---|---|---|
| .05 | 1.00 | 6.49 | ||
| 1.0 | .87 | 3.69 | ||
| 1.6 | .84 | 4.33 | ||
| 3.0 | .80 | 1.41 |
| Kernel | , repeats | , repeats | Tail share | |
|---|---|---|---|---|
| vMF | 1.0 | .019 / .019 | .024 / .024 | .001 |
| Mix | 1.0 | .87 / .87 | .99 / .99 | .90–.94 |
| Mix | .05 | 7.40 / 7.34 | 2.46 / 1.51 | .84–.96 |
| Mix | 1.0 | 4.14 / 4.32 | 1.05 / 1.12 | .97–.99 |
| Heat | vMF | SLERP (full) | Mix | Mix | |
|---|---|---|---|---|---|
| 180 | |||||
| 720 | – |
| Kernel | Raw ( ) | Residual | KS | ||
|---|---|---|---|---|---|
| Heat | 128 | 1.000 | |||
| Heat | 768 | 1.000 | |||
| moment vMF | 128 | – | – | – | – |
| moment vMF | 768 | – | – | – | – |
| info-vMF | 768 | – | – | – | – |
| SLERP (S-FLM path) | 128 | – | – |
| Kernel | Figure residual | Cost vs. Heat (points) |
|---|---|---|
| Moment-matched vMF | ||
| SLERP (S-FLM path) | ||
| Mixture | ||
| Mixture |
| Kernel | Dynamics | Nearest | Posterior |
|---|---|---|---|
| Mix | Brownian ODE | ||
| quantile ODE | |||
| Mix | Brownian ODE | ||
| quantile ODE |
| Moment-matched vMF | SLERP | Mix | Mix | |
|---|---|---|---|---|
| 16 | – | |||
| 64 | ||||
| 180 |
| Sampler | Heat | SLERP | SLERP truncated | |
|---|---|---|---|---|
| ODE | 16 | |||
| ODE | 180 | |||
| q-argmax | 64 | |||
| q-argmax | 180 | |||
| Gating, tuned | 64 | |||
| Gating, tuned | 180 |
| Model | Easy | Medium | Hard |
|---|---|---|---|
| Autoregressive | |||
| AR (sample) | 13.9 | 5.1 | 0.6 |
| AR (greedy) | 14.6 | 5.1 | 1.0 |
| Discrete diffusion | |||
| MDLM | 92.0 | 77.1 | 30.2 |
| Duo | 96.3 | 84.7 | 58.4 |
| Model | Accuracy |
|---|---|
| Autoregressive | |
| AR (sample) | 53.9 |
| AR (greedy) | 63.3 |
| Discrete diffusion | |
| MDLM | 16.91 |
| Duo | 18.95 |
| Model | 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512 | 1024 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Autoregressive | |||||||||||
| AR (sample) | NR | NR | NR | NR | NR | NR | NR | NR | NR | 53.9 | NR |
| AR (greedy) | NR | NR | NR | NR | NR | NR | NR | NR | NR | 63.3 | NR |
| Discrete diffusion and distillation | |||||||||||
| MDLM | 0.00 | 0.00 | 0.00 | 0.23 | 1.82 | 5.69 | 10.01 | 13.57 | 15.09 | 14.94 | 16.91 |
| Duo | 0.00 | 0.38 | 1.67 | 3.64 | 10.01 | 13.87 | 16.60 | 15.39 | 18.50 | 18.27 | 18.95 |
| NFE | 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512 | 1024 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Accuracy (%) | 0.8 | 3.3 | 8.2 | 14.9 | 20.5 | 23.2 | 26.2 | 28.7 | 29.3 | 30.5 | 31.2 |
| Weights kernel | q-argmax | quantile ODE | ||
|---|---|---|---|---|
| Heat Heat | ||||
| Heat moment vMF | ||||
| Heat mixture | ||||
| Heat mixture | ||||
| Info-vMF info-vMF | ||||
| Heat Heat | info-vMF info-vMF | Difference | |
|---|---|---|---|
| 1 | 0.66 | 0.96 | |
| 2 | 3.94 | 4.20 | |
| 4 | 8.34 | 8.82 | |
| 8 | 14.99 | 14.25 | |
| 16 | 18.15 | 18.12 | |
| 32 | 20.85 | 19.18 | ( , ) |
| Heat | moment vMF | mix | mix , best | mix | mix , best | |
|---|---|---|---|---|---|---|
| .2 | 1.000 | 1.000 | .996 | .999 | .828 | .971 |
| .5 | .999 | .999 | .994 | .998 | .620 | .945 |
| 1.0 | .996 | .996 | .949 | .988 | .381 | .880 |
| 1.6 | .984 | .983 | .860 | .960 | .213 | .758 |
| 2.5 | .936 | .936 | .814 | .883 | .153 | .481 |
| Length range (mean) | Heat | mix , relabelled | ratio | |
|---|---|---|---|---|
| 67–108 (96) | 259 | 44.3 | 21.0 | .47 |
| 108–125 (116) | 258 | 40.8 | 13.3 | .33 |
| 125–142 (132) | 265 | 26.7 | 6.2 | .23 |
| 142–164 (152) | 266 | 17.8 | 3.5 | .20 |
| 164–290 (189) | 271 | 7.3 | .25 | .03 |
| Posterior decoding, EMA | (257 NFEs) |
|---|---|
| Heat fine-tune Heat | |
| Mix fine-tune mix |
| NFE | frozen default | learned default | entropy + log sampling | entropy + entropy sampling | online adaptive |
|---|---|---|---|---|---|
| 1 | 0.38 (5) | 0.15 (2) | 0.53 (7) | 0.53 (7) | 0.76 (10) |
| 2 | 0.45 (6) | 0.15 (2) | 0.53 (7) | 4.17 (55) | 4.70 (62) |
| 4 | 1.59 (21) | 0.68 (9) | 1.21 (16) | 9.63 (127) | 9.70 (128) |
| 8 | NR | NR | NR | NR | 14.86 |
| 16 | 5.99 (79) | 4.62 (61) | 8.95 (118) | 19.48 (257) | 18.50 (244) |
| 32 | 9.48 (125) | 11.37 (150) | 14.10 (186) | 21.53 (284) | 21.15 (279) |
| NFE | ODE | Heun SDE |
|---|---|---|
| 32 | 3.64 | 0.00 |
| 64 | 7.81 | 7.20 |
| 128 | 7.96 | 10.08 |
| 256 | 8.34 | 12.21 |
| 512 | 8.34 | 11.60 |
| 1024 | 8.26 | 11.98 |
| PPL | PPL | PPL | ||||
|---|---|---|---|---|---|---|
| 0.80 | 4.56 | 16.32 | 4.61 | 20.82 | 4.78 | 26.13 |
| 1.00 | 5.18 | 35.12 | 5.24 | 43.58 | 5.36 | 59.42 |
| 1.20 | 5.36 | 65.10 | 5.57 | 136.87 | 5.75 | 230.57 |
| Task | Checkpoint | Trajectory settings |
|---|---|---|
| Sudoku easy/medium | 8-layer DiT, embedding 512; , learned-online, 20k updates | , log-radius grid |
| TinyGSM / GSM8K | Online 250k checkpoint, EMA | Length 512, , entropy grid |
| OWT | Free-online 1M checkpoint, EMA | Length 1,024, entropy grid; score-temperature sweep |
| Task | Posterior entropy | MAP stability | |
|---|---|---|---|
| Sudoku easy | 100 | 100 | |
| Sudoku medium | 99.99 | 100 | |
| TinyGSM | 0.20 | 79.4 | 97.2 |
| OWT | 5.61 | 0.51 | 55.3 |
| Task | Metric | q-argmax | Heun SDE |
|---|---|---|---|
| TinyGSM | Posterior entropy | 0.12 | 0.32 |
| Positions with | 83.6 | 70.9 | |
| Executed-answer accuracy | 39.1 | 20.3 | |
| GSM8K | Executed-answer accuracy | 24.2 | 12.5 |
| OWT | Sample unigram entropy | 5.31 |
| Metric | Learned | Max-min | Random |
| NN angle: median | 0.970 | 1.327 | 1.202 |
| NN angle: first percentile | 0.784 | 1.294 | 1.128 |
| NN angle: minimum | 0.237 | 1.232 | 1.035 |
| Codewords with NN cosine | 624 | 0 | 0 |
| Centered effective rank | 50.4 | 127.9 | 127.7 |
| Mean pairwise cosine | 0.041 | 0.00005 |
| Updates | NN median | Eff. rank | Pearson | GPT-2 top-10 (%) | Space agreement (%) |
|---|---|---|---|---|---|
| 5k | 1.279 | 127.0 | 0.8 | 57.8 | |
| 25k | 1.160 | 103.5 | 0.050 | 6.7 | 79.1 |
| 50k | 1.082 | 83.3 | 0.102 | 14.5 | 85.2 |
| 75k | 1.055 | 76.2 | 0.130 | 18.9 | 86.0 |
| 100k | 1.044 | 73.2 | 0.146 | 21.1 | 86.2 |
| 125k | 0.970 | 52.6 | 0.167 | 21.3 | 94.8 |
| Pair sampling | Pearson |
|---|---|
| Uniform, full vocabulary | 0.176 |
| Frequency-weighted by unigram prior | 0.210 |
| Uniform, 20,000 most frequent tokens | 0.277 |
| Uniform, 8,000 most frequent tokens | 0.382 |
| Uniform, 2,000 most frequent tokens | 0.463 |
Diffusion Language Models
Diffusion language models generate and refine text through iterative denoising, enabling bidirectional context and parallel token updates.
See all 473 papers