File size: 18,243 Bytes
6aa3801 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 | # Aleph Differentiation, Part 3-D (Diffusion): The Conditioning Law
*The aleph adapter program leaves language: relays on frozen denoisers,
band experts on the sigma axis, a step-gated controller β and the law
that decides where structural supervision can pay at all.*
This is the diffusion branch of the aleph adapter program.
[Part 1](https://huggingface.co/blog/AbstractPhil/aleph-autoregressive-differentiation-ft1)
established the addressing architecture on byte-level models.
[Part 2](https://huggingface.co/AbstractPhil/geolip-aleph-qwen/blob/main/article_ft2.md)
certified the two-regime dispatch law on Qwen2.5-0.5B.
[Part 3](https://huggingface.co/AbstractPhil/geolip-aleph-qwen-3.5-0.8b-instruct/blob/main/article_ft3.md)
survived a second substrate and sharpened the law into a deployment
instrument. Part 3-D asks a harder transfer question: the machinery was
built for autoregressive token streams β **does any of it survive a
generative model with no token axis, a sigma axis instead, and three
different parameterizations of the same denoising problem?** The
answer, after 16 experiment packages, a 2-seed program, and one
four-day rented GPU: the *machinery* transfers almost embarrassingly
well, the *routing* does not transfer at all, and the sigma axis gives
back something the language line never had β a law that predicts, from
the parameterization alone, whether structural supervision will pay
before you spend a single GPU-hour on it.
Everything below links to a self-contained package in the
[research record](https://huggingface.co/AbstractPhil/geolip-aleph-diffusion)
with raw ledgers and self-asserting results files. The production
artifacts are the
[aleph-diffusion-adapters](https://huggingface.co/AbstractPhil/aleph-diffusion-adapters)
repo (curated safetensors) and the
[amoe-lora](https://huggingface.co/AbstractPhil/amoe-lora) framework,
whose 0.2 release ships everything in this article as five verbs
(`amoe.diffusion`: train / attach / toggle / detach, plus the
controller); the multi-GPU trainer is the
[diffusion-pipe fork](https://github.com/AbstractEyes/diffusion-pipe)
with the adapters baked in.
## The substrate is not a bystander
The language line learned this lesson once; diffusion teaches it three
times simultaneously. The campaign ran one adapter architecture against
three substrate classes: **SD15-Lune** (an undertrained rectified-flow
finetune β the cheap flow testbed), the **stock SD1.5 core** (epsilon
objective, the "most powerful element" of the family and the primary
target), and the **Anima/Cosmos-Predict2 2B DiT** (bf16, flow, trained
through the DeepSpeed pipeline fork rather than our own beds). Three
parameterizations, two architectures, two dtypes, two trainers.
Two substrate findings frame everything else. First, **gate dynamics
are substrate-dependent**: on the stock core the relay gates *grow*
(0.047β0.070 β the trunk opts in, the Part-2 mechanism), on the
undertrained Lune they *shrink*, and neither lands in the LM band. The
2.5-line gate-growth law survives as a mechanism, not as a constant.
Second, the dtype of the adapter is not a detail: attaching fp32
relays to a bf16 trunk spins fp32 noise into the environment, and the
integration gate caught our own code doing exactly that β sniffing a
first parameter that was still a meta tensor and reading fp32 off it.
The **dtype law** (adapters attach at the *declared* trunk dtype,
never a sniffed one; judged gauges stay fp32) is now encoded in the
framework and the fork both.
The judging floor also deserves its sentence: CLIP-L image-image
cosine has a ~0.988 floor on pure-noise pairs, so every grounding
number below lives in a narrow band and the paired
derangement-controlled design is load-bearing, not decorative. The
zero-shot baseline wall
([exp000](https://huggingface.co/AbstractPhil/geolip-aleph-diffusion/tree/main/exp000_baselines),
[exp000b](https://huggingface.co/AbstractPhil/geolip-aleph-diffusion/tree/main/exp000b_natural))
put numbers under every later claim β and produced its own finding on
the way: conditioning-format specialization is a **double
dissociation** (the base model doubles its grounding on plain-English
prompts exactly where the JSON-finetuned variant drops), and the stock
epred cores are strong natural carriers zero-shot.
## The deliverable first: the relay certifies 3-for-3
[exp001](https://huggingface.co/AbstractPhil/geolip-aleph-diffusion/tree/main/exp001_sd15_relay)
attached the certified 16-slot relay (zero-init output weight *and*
bias; gate β3.0; bit-exact code-path-skip toggle) to all 16
cross-attention blocks of the frozen Lune flow trunk, against a
parameter-matched LoRA-r32 control and the frozen baseline. Paired
val flow-MSE: relay **β0.85%** vs frozen, with round-trip grounding
preserved (+0.2052 vs the wall's +0.2099) β while the matched LoRA
landed *below frozen* (+0.85% worse) and degraded grounding outright
(+0.2099 β +0.1694). On the primary substrate
([exp006](https://huggingface.co/AbstractPhil/geolip-aleph-diffusion/tree/main/exp006_sd15core_relay),
stock SD1.5, epsilon objective, 2-seed) the pattern repeats stronger:
relay β2.5% vs frozen, LoRA behind it, and the relay *gains* grounding
over the zero-shot core (+0.1809 β +0.2172) exactly where LoRA trades
it away (+0.1596). And on the third substrate class
([exp004](https://huggingface.co/AbstractPhil/geolip-aleph-diffusion/tree/main/exp004_anima_relay),
the Anima DiT trained end-to-end through the diffusion-pipe fork,
bf16, 28 blocks), the relay improves its loss (0.123β0.115) while the
fork's own native LoRA control *degrades* over training (0.138β0.142)
β the exp001 destabilization pattern on a third architecture.
**Relay-favorable 3-for-3 substrate classes, with matched controls
every time.** The toggle law held bit-exact post-train in every one of
these experiments. That contract is why the production story is
"attach, toggle, detach" and not "merge and hope": the deliverable
adapters in
[aleph-diffusion-adapters](https://huggingface.co/AbstractPhil/aleph-diffusion-adapters)
are removable, verifiably, to the bit.
## The sigma axis: bands, lesions, and a controller
The language line's registers had no equivalent of noise level. The
register probe
([exp003](https://huggingface.co/AbstractPhil/geolip-aleph-diffusion/tree/main/exp003_sigma_registers))
made the reorientation unmistakable: caption-content registers
separate *negatively* at every band and site (image content dominates
the code surface β multimodal compression in the extreme), and
**sigma is the only live register axis**, strongest at the deepest
site. So the mixture question became: assign experts *structurally*
along sigma instead of routing them comparatively.
[exp008](https://huggingface.co/AbstractPhil/geolip-aleph-diffusion/tree/main/exp008_multiband)
built the mechanism: three band experts per site (LOW/MID/HIGH noise),
combined by smooth cosine crossfade windows β positional gating, dense
and differentiable, no selection event anywhere. The certification is
the lesion battery: **disabling a band's experts damages that band's
validation 50β200Γ more than any other band's, 3-for-3 bands, both
seeds.** Band assignment manufactures true specialists. What it does
*not* do by itself is pay on the aggregate objective β the matched
monolith keeps a small edge under uniform pressure at both seeds,
which is the language line's Law-1 (architecture alone doesn't pay;
differentiated pressure must) reproduced on a new modality. Frequency
reweighting as that pressure
([exp009](https://huggingface.co/AbstractPhil/geolip-aleph-diffusion/tree/main/exp009_bandroles))
was directionally right 4/4 and negligible in magnitude β an honest
near-collinearity, confessed and rejudged.
The instrument upgrade settled where the payment actually lives.
[exp010](https://huggingface.co/AbstractPhil/geolip-aleph-diffusion/tree/main/exp010_controller)
ships the **StepGatedSampler** β per-step band gating at inference, so
experts activate coarse-to-fine across the trajectory exactly as
trained β and judges in image space, where per-step eps-MSE turned out
to be gauge-blind (0.2% moves there vs these effects). The controller
lifted round-trip grounding to **+0.2135 vs the frozen trunk's
+0.1247**; band lesions cut grounding monotonically (LOW β0.016 / MID
β0.031 / HIGH β0.035); and the HIGH-band lesion's image-space
signature is **14Γ LP-dominated** (coarse structure) where LOW leans
detail β the coarse-to-fine thesis confirmed by lesion signatures, not
by narrative. On real fused data
([exp011](https://huggingface.co/AbstractPhil/geolip-aleph-diffusion/tree/main/exp011_fused_multiband),
2-seed) the whole structural story replicates and the adapters pay
2β3Γ more than on synthetic rows.
Then the payer instrument arrived.
[exp012](https://huggingface.co/AbstractPhil/geolip-aleph-diffusion/tree/main/exp012_blob_supervised)'s
in-bed **role-aligned gauge** (HIGH-band foreground-LP error on x0)
revealed what every aggregate comparison had hidden: **multiband beats
the matched monolith by ~10% on HIGH-band foreground structure
(0.1115 vs 0.1234; frozen 0.1555), both seeds.** Band specialists earn
exactly where the role map says they should β and nowhere an
aggregate-eps gauge can see.
## The conditioning law
exp012's actual assignment β blob supervision (segmentation-derived
foreground masks rasterized to the latent grid, coupled to the HIGH
band) on the eps substrate β returned an honest negative at both
seeds: +0.03%/β1.0%, inert. The operator's hypothesis said this was
not a failure of blob supervision but of the *parameterization*:
epsilon recovers structure through
`x0 = (x_t β sqrt(1βαΎ±)Β·Ξ΅Μ)/sqrt(αΎ±)`, which divides by a vanishing
`sqrt(αΎ±)` exactly at high noise β exactly where blob supervision
applies. Flow recovers `x0 = x_t β ΟΒ·v` **exactly and linearly at
every sigma**.
[exp013](https://huggingface.co/AbstractPhil/geolip-aleph-diffusion/tree/main/exp013_blob_flow)
ran the identical coupling on the flow substrate with a preregistered
5Γ bar:
> **The conditioning law (2-seed).** Structural supervision pays where
> x0 recovery is linear and is inert where it is ill-conditioned. The
> identical blob coupling moved its gauge β5.9%/β3.7% on flow vs
> +0.03%/β1.0% on eps β a ~125β200Γ effect ratio, past the
> preregistered bar at both seeds, with the common gauge inside
> tolerance.
The three-point dose curve (Ξ» = 0.5 / 1.0 / 2.0 β β5.9%@+0.2% /
β8.3%@+0.4% / β8.4%@+0.9%) is monotone and saturating: **Ξ»β1 captures
the full blob gain inside the common-gauge bound**, and that constant
now ships as the framework default. A bonus row with its own
consequence: the undertrained Lune trunk pays adapters β9.1% vs frozen
β the largest in the line β so adapter headroom scales inversely with
trunk training. The stated caveat stands: the flow-vs-eps contrast
rides on different trunks; the v-pred same-trunk arm is the sharpest
follow-up and is queued, not run.
This is the article's namesake because it is *predictive*: you can
read the parameterization of a trunk and know, before training,
whether structure-level supervision has a linear path to pay through.
In the framework it is encoded literally β `blob=True` with
`objective="eps"` refuses, with the receipt in the error message.
## Where routing died: three falsifications with teeth
The language line's dispatch rescued specialize-regime anchors. On
diffusion, comparative routing failed **every** honest test we could
build, and the failures were as informative as the certifications:
- [exp007](https://huggingface.co/AbstractPhil/geolip-aleph-diffusion/tree/main/exp007_amoe_lora)
(2-seed): a 4-expert bank with dense signed state+sigma dispatch
ties/loses to a rank-matched monolith under uniform pressure, with
*flat* sigma-band usage (spread 9e-4) β the aggregation channel
alone creates no specialization.
- [exp014](https://huggingface.co/AbstractPhil/geolip-aleph-diffusion/tree/main/exp014_te_dispatch)
(2-seed): putting text in the dispatch key beats nothing β because
the hidden-state key **already routes by prompt** (usage variance
2.4e-2 with zero text input); and the raw-flattened [32,128] address
*kills* routing outright (1.4e-5) β the language line's
high-dimensional disease geometry reproduced on a dispatch key. The
bed also confessed its own null was wrong (a shuffled-key null
measures diversity, not correctness) and rebuilt it.
- [exp015](https://huggingface.co/AbstractPhil/geolip-aleph-diffusion/tree/main/exp015_router_v2)
(2-seed, corrected instruments): the M-hat slot-bottlenecked address
key β the version the disease-geometry lesson demanded β shows
routing excess of **2.5e-06 over a repeated-key null** and a match
advantage of ~0. **Address-as-key, in its frozen form, is
falsified.** The open form (a text-encoder adapter trained jointly
with the dispatch β the operator's "router solidifier") remains
queued science.
The address itself is not dead:
[exp002](https://huggingface.co/AbstractPhil/geolip-aleph-diffusion/tree/main/exp002_sd15_addrcond)
showed the frozen address appended to *full text* conditioning is
redundant (real β deranged) β but the address **alone** steers the
UNet (+0.029 after 2k steps) and the trunk grew its gates to read it.
Redundant-in-context, not dead: the redesign target is
complementarity, injecting where text is not.
The consequence is architectural and encoded: on diffusion,
`amoe.align()` raises with this record in the error message, and the
certified alternative to comparative routing is the *structural*
banding of the previous section. A framework that ships its own
falsifications as API behavior is the honesty discipline of Parts 2β3
carried to its conclusion.
## The process is the product
The line kept the house discipline under a four-day clock: every
major claim 2-seed or explicitly bounded; preregistered bars stated
before spend (and reported when missed); a label inversion in a
shipped README corrected and confessed within the hour; an instrument
gap (reference arms missing role gauges) confessed and rejudged; a
5.7-hour idle gap confessed in the ledger with the operational law it
re-earned (never end a turn on an intention β launch first, report
after); the final replication run disclosed as reserve spend before it
ran. The complete run record β 47 queue jobs, ~61 GPU-hours at ~97%
in-window utilization, 27 run logs and the machine-readable ledger β
is archived with the program's research memory, and every package
carries its slice.
The productization is part of the record too:
[amoe-lora 0.2](https://huggingface.co/AbstractPhil/amoe-lora) ships
the diffusion subsystem with the campaign's laws as constructors (the
dtype law, the conditioning-law refusal, pure Adam, the toggle and
zero-init contracts as CPU-testable invariants), the
[diffusion-pipe fork](https://github.com/AbstractEyes/diffusion-pipe)
bakes the adapters into its cosmos/anima and SDXL paths (with the
package's classes when installed, a vendored fallback when not β the
refactor verified bit-exact against the exp004 checkpoint), and every
adapter stack in the record now has a bitwise-verified safetensors
companion, with the curated set in
[aleph-diffusion-adapters](https://huggingface.co/AbstractPhil/aleph-diffusion-adapters).
## References
External references follow the verified bibliographies of
[Part 2](https://huggingface.co/AbstractPhil/geolip-aleph-qwen/blob/main/article_ft2.md)
and [Part 3](https://huggingface.co/AbstractPhil/geolip-aleph-qwen-3.5-0.8b-instruct/blob/main/article_ft3.md);
the directly load-bearing entries here are:
- Ho, J., Jain, A., & Abbeel, P. (2020). *Denoising Diffusion
Probabilistic Models.* [arXiv:2006.11239](https://arxiv.org/abs/2006.11239)
- Song, J., Meng, C., & Ermon, S. (2020). *Denoising Diffusion
Implicit Models.* [arXiv:2010.02502](https://arxiv.org/abs/2010.02502)
- Rombach, R., et al. (2022). *High-Resolution Image Synthesis with
Latent Diffusion Models.* [arXiv:2112.10752](https://arxiv.org/abs/2112.10752)
- Podell, D., et al. (2023). *SDXL: Improving Latent Diffusion Models
for High-Resolution Image Synthesis.* [arXiv:2307.01952](https://arxiv.org/abs/2307.01952)
- Lipman, Y., et al. (2022). *Flow Matching for Generative Modeling.*
[arXiv:2210.02747](https://arxiv.org/abs/2210.02747)
- Liu, X., Gong, C., & Liu, Q. (2022). *Flow Straight and Fast:
Learning to Generate and Transfer Data with Rectified Flow.*
[arXiv:2209.03003](https://arxiv.org/abs/2209.03003)
- Salimans, T., & Ho, J. (2022). *Progressive Distillation for Fast
Sampling of Diffusion Models* (the v-parameterization).
[arXiv:2202.00512](https://arxiv.org/abs/2202.00512)
- Hu, E. J., et al. (2021). *LoRA: Low-Rank Adaptation of Large
Language Models.* [arXiv:2106.09685](https://arxiv.org/abs/2106.09685)
- Shazeer, N., et al. (2017). *Outrageously Large Neural Networks: The
Sparsely-Gated Mixture-of-Experts Layer.*
[arXiv:1701.06538](https://arxiv.org/abs/1701.06538)
- Puigcerver, J., et al. (2023). *From Sparse to Soft Mixtures of
Experts.* [arXiv:2308.00951](https://arxiv.org/abs/2308.00951)
Internal record: the 16 experiment packages under
[geolip-aleph-diffusion](https://huggingface.co/AbstractPhil/geolip-aleph-diffusion)
(each with code, `results.json`, and ledger rows; weights in `.pt` +
verified `.safetensors`), the
[Part 1](https://huggingface.co/blog/AbstractPhil/aleph-autoregressive-differentiation-ft1),
[Part 2](https://huggingface.co/AbstractPhil/geolip-aleph-qwen/blob/main/article_ft2.md),
and [Part 3](https://huggingface.co/AbstractPhil/geolip-aleph-qwen-3.5-0.8b-instruct/blob/main/article_ft3.md)
articles, the
[qwen-deepfashion-fused](https://huggingface.co/datasets/AbstractPhil/qwen-deepfashion-fused)
dataset (the fused-data and blob-target source), and the production
repos
([aleph-diffusion-adapters](https://huggingface.co/AbstractPhil/aleph-diffusion-adapters),
[amoe-lora](https://huggingface.co/AbstractPhil/amoe-lora),
[diffusion-pipe](https://github.com/AbstractEyes/diffusion-pipe)).
|