2-D CPU analysis of slider methods

September 23, 2026 · View on GitHub

Synthetic orthonormal field. Slider axis is energetic ↔ calm; attribute axis is male ↔ female. Ungated energetic leaks male and both poles sit above a quiet song (even / common mode). No Hub, no GPU, no Music 3 weights.

Verdict

methodverdictslider cosleak±1 coswhy
sd_enhanceneeds_help0.9440.350-1.000slider axis is right; leak 0.35 (expected without attributes)
sd_eraseneeds_help-0.944-0.350-1.000slider axis is right; leak 0.35 (expected without attributes)
sd_enhance_attrsright1.0000.000-1.000tracks the slider, attribute leak is small, ±1 are opposite
m3_nmse_axisneeds_help0.9490.333-1.000slider axis is right; leak 0.33 (expected without attributes)
m3_nmse_axis_attrsright1.0000.000-1.000tracks the slider, attribute leak is small, ±1 are opposite
m3_nmse_poleright0.997-0.081-1.000tracks slider, little leak
m3_mse_axisneeds_help0.9440.350-1.000slider axis is right; leak 0.35 (expected without attributes)
m3_eraseneeds_help-0.949-0.333-1.000slider axis is right; leak 0.33 (expected without attributes)
lm_rawneeds_help0.5091.6920.253raw pos/neg share an even mode; ±1 cos=0.25
lm_symmetricright0.9460.342-1.000±1 opposite on the slider; leak 0.34 remains without attributes
lm_raw_attrsright1.0000.000-1.000symmetric / odd targets keep ±1 opposite on the slider
enc_mseneeds_help0.5091.6920.253raw pos/neg share an even mode; ±1 cos=0.25
enc_mse_attrsright1.0000.000-1.000symmetric / odd targets keep ±1 opposite on the slider

Learned residuals on the teacher field

Attribute-vs-slider trajectories

Leak vs slider cosine

What this field can see

  • SD enhance/erase and Music 3 TF (nmse / mse / pole / axis) use the same neu ± g·(pos − neg) (or pole) target. On this field they agree: the slider axis is right; without --attributes the attribute axis leaks.
  • --attributes male,female pins gender on every caption. The pos−neg difference becomes parallel to the slider — paper disentangle is geometrically right here.
  • Music 3 pole vs axis: neu is off the pos−neg chord, so the even (common) part differs. An odd LoRA multiplier cannot represent that even part. nmse + pole also reweights the two edges by 1/||edge||², so the odd fit is not exactly (pos-neg)/2.
  • LM --symmetric (default) keeps ±1 opposite. The axis is still whatever pos−neg is, so ungated leak remains. Attribute-prefixed raw targets also stay antipodal (pinned gender cancels in pos−neg). Raw LM/encoder targets without attributes learn the shared even mode → collapse. That matches gender-lm v2 → v3 in MUSIC3.md.

What this field cannot see

  • Real multi-row Music 3 captions whose slider axes are not parallel (MUSIC3.md: attributes averaging destroys TF style sliders). Additive prefixes here always cancel.
  • Pixels, CLAP, render gates, AR endreg/planreg, uncond_weight, trajectory training, gain compounding across a 50-step solve.
  • train_lora.py (SD1) is stale against prompt_util.py (wrong PromptEmbedsPair arity and unconditional_latents kwarg). Scored is the XL/SD3 formula and the SD1 intent.

How to run

PYTHONPATH=. python analysis/slider2d/run_analysis.py --out docs/2d-analysis
PYTHONPATH=. pytest tests/test_2d_slider_geometry.py -q

Shared loss extract: conceptmod/textsliders/slider_targets.py. train_lora_music3.py imports music3_slider_loss from there. The GPU trainers were not rewritten beyond that import.

Seed 0, 250 Adam steps, CPU.

See lm-2d-adv.md for the ParticleGAN RpGAN + b_cap port onto these same leftover-gated fixtures (CPU only; not a live --pole_mode). YuE2's released-v2 gmix head on the UNI PairField is a separate cell: yue2-gmix-v2-2d-scoreboard.md.

See tf-leak.md for whether that gender leak is a Music 3 TF trainer bug (it is not) or caption BPM sitting inside pos − neg (it is). See lm-v9-2d.md for the LM recipe on this same field: published Hub v9 (leakage_floor + anchor) still leaks; short-û project is leak-0 here because û is the pole names. That hid both live failures. Gender-like and energy-like cells are lm-live-cells.md. Default --lm_target v9 is now full pair-odd + hold-on-ê, not short-û project. See lm-faithful-2d.md for whether v6 faithful (raw-pole MSE) can be fixed on this field while remaining faithful. See lm-rich-2d.md for whether structured poles can keep slider-detail without unused mix / BPM / gender riding along. See lm-hold-overlap.md for hold-ê when ê is not unused gender (live energy leak captions that are energy).