geolip-aleph-qwen-3.5-0.8b-instruct
Second-model validation of the geolip-aleph-qwen program on Qwen/Qwen3.5-0.8B β a dual-tower VLM whose LLM tower is a hybrid: 18 Gated-DeltaNet linear-attention blocks + 6 full-attention blocks (indices 3,7,11,15,19,23), d=1024, 248,320-token vocab, tied embeddings. Every law certified on the Qwen2.5-0.5B line is re-tested here under one discipline: preregistered rules where applicable, strong zero-shot baselines (this is a post-trained model), single-seed results labeled as candidates, honest negatives shipped as findings.
The dispatch under test is the aleph closed-form addressing MΜ = Ξ£β sinh(uβ)Aβ / Ξ£β cosh(uβ) β dense signed mixing, frozen key path, no selectors, no top-k, no load-balancing losses.
Substrate (frozen at the gate)
fp32 throughout (TF32 off), gradient checkpointing + chunked CE (248K-vocab
logits never materialized per-sequence), memory fraction 0.92 on a 48GB
card. Gates passed before any science: template constants discovered (not
assumed) β <|im_end|> / <tool_call> identical to the 2.5 line; control
vocab bands (30000β33063) collision-free against the 248K tokenizer;
adapter wrap fires on both DeltaNet and full-attention blocks; fp32
DeltaNet fallback path benched at 3548 tok/s prefill; a 9k-token training
step fits in 16.22GB under the riders. See substrate/v35_substrate.py.
Experiments
| # | package | status | headline |
|---|---|---|---|
| 001 | exp001_placement/ |
complete (s0) | all24 placement = series default; no runaway SSM-drift within 9k (norm ratio +2.3β+4.0%, still rising at window edge; s0); gate-growth did not replicate (gates shrink, ppl β41%) |
| 002 | exp002_registers/ |
complete (s0+s1) | register capture transfers; seed lottery replicates; zero-shot is strong (0.73β0.92); always-on stack costs +9.2/+9.9 ppl@512 (s0/s1) |
| 003 | exp003_termination/ |
complete (s0, n=8) β candidate | termination direction favors rows (7/8 vs 6/8 β a one-sample gap; the direction is carried by the failure mode: a capped packed sample degenerates into repetition); the instruct prior softens the sharp dichotomy; includes the judge-window amendment |
| 004 | exp004_caption/ |
complete β 2 seeds | caption anchor: token-F1 0.408 β 0.706 (s0) / 0.401 β 0.704 (s1) β the +0.30 distribution-match delta replicates within 0.005 across seeds (no seed lottery); terminate/nonempty 1.0; the deliverable's base checkpoint |
| 005 | exp005_specialists/ |
complete (s0) β candidates | bbox: 0.000 β 0.69 valid / 0.89 IoU-score (genuine grounding gain); depth: valid JSON scoring 0.0 β 0.83 pair-order accuracy (cleanest gain); fixation: a format anchor (0.35β1.0 valid; localization was already 0.94 when format succeeded); first-pass judgments had been invalidated (GT contract) and are preserved with reasons |
| 006 | exp006_math/ |
complete (s0) β negative | substrate already at ceiling on synthetic math (0.958β1.0 zero-shot); training gains nothing and costs ppl 24.9 β 116.5; the causal amendment measured the mechanism: indiscriminate runtime amplitude (~90% of on-task delta ratio on neutral text) compounding superlinearly with depth; detach counterfactual recovers the bare trunk exactly (24.3914); math excluded from the collective roster as trained |
| 007 | exp007_collective/ |
complete (s0) β candidate | five anchors under damped dispatch cost +11.0 ppl β roughly the price of the exp002 register stack, but ~3Γ the exp009 multi-task monolith (+3.66, same four tasks) (see the tax ladder below, and its limits); 5,000 steps with zero starvation alarms; blend-dominant usage (caption 0.77); the trainable new stays alive at 0.03 with no dedicated stream (exp010 later showed that survival is not benign: composites collapse with new active and recover on its removal; candidate, s0) |
| 008 | exp008_battery/ |
stage 1 complete (s0, n=12/cell) β candidates | surgical decoupling replicates multimodally: three double dissociations (caption-off, bbox-off, depth-off each kill exactly their own task; depth's is a pure content kill at intact validity); fixation-off changes nothing β the redundancy the P1 blend call predicted; new-alone reverts everything to ~frozen (no absorber β and exp010 subsequently closed the controller reading against new: all_on 0.0 on composites, spec_only rescues to 0.417/0.167; candidate, s0) |
| 009 | exp009_monolith/ |
complete (s0) β candidate | single always-on multi-task stack (no dispatch) matches the collective on bbox/fixation/depth, loses caption 0.588 vs 0.743, taxes +3.66 ppl vs the collective's +11.0 β the cheapest measured carrier; composites 0.0/0.167 |
| 010 | exp010_controller/ |
complete (s0, n=12/cell) β candidate | controller hypothesis not supported: all_on β spec_only = β0.417/β0.167 vs the preregistered β₯+0.15; mechanism classified by the raw-dump amendment: format derailment β with new active, 9/12 detect samples ramble past budget without closing JSON and 12/12 fixate samples emit no JSON at all, while spec_only makes clean two-part attempts under the identical judge; surviving positive: emergent composition from dispatched specialists (spec_only 0.417) beating the monolith (0.0/0.167) |
| 011 | exp011_probes/ |
complete (s0) β candidates | toggle law confirmed bit-exact (all-off β‘ frozen, max |
Zero-shot baselines (Night 0: 15 vision tasks Γ 200 images, bf16, greedy)
The instruct model's fingerprint before any adapter β the baseline every
conditioning claim is read against. schema_valid = parseable +
schema-conformant JSON; score = task-specific deterministic judge.
| task | valid | score | task | valid | score | |
|---|---|---|---|---|---|---|
| image_classification | 0.965 | 0.000 | camera_rotational_offset | 0.945 | 0.487 | |
| bbox_grounding | 0.000 | 0.000 | geometric_3d_object_id | 1.000 | 0.000 | |
| ocr_text | 0.005 | 0.005 | semantic_association | 1.000 | 0.031 | |
| segmentation | 0.410 | 0.000 | structural_spatial_awareness | 1.000 | 0.000 | |
| outline_association | 0.000 | 0.000 | style_structural_awareness | 1.000 | 0.400 | |
| subject_fixation | 0.000 | 0.000 | data_type_differentiation | 0.675 | 0.090 | |
| depth_analysis | 1.000 | 0.083 | data_type_utilization | 0.080 | 0.080 | |
| vit_accuracy_to_prompt | 0.540 | 0.435 |
The always-on tax ladder (the series' central measurement)
Wikitext ppl@512 cost of adapter machinery on this substrate, all under identical gauges:
| configuration | tax |
|---|---|
| one always-on register stack (exp002, 2 seeds) | +9.2 / +9.9 |
| one ungated math stack (exp006 β fires at ~90% on-task amplitude on neutral text) | +91.6 |
| five anchors under damped aleph dispatch (exp007) | +11.0 |
| one always-on multi-task monolith stack, same four image tasks (exp009) | +3.66 |
Five anchors ride at roughly the cost of the exp002 register stack and ~8Γ under the measured ungated worst case β but ~3Γ the exp009 monolith, which carries the same four tasks always-on for +3.66 (candidate, s0). Always-on is therefore not intrinsically expensive: the tax tracks what the stack learned (math +91.6; text registers +9.2/+9.9; multi-task image monolith +3.66), and most of the collective's +11.0 belongs to the dispatch machinery itself. What that premium buys is caption fidelity (0.743 vs the monolith's 0.588) and composite composition (exp010: spec_only 0.417/0.167 vs monolith 0.0/0.167) β not ppl economy. Read the ladder's limits honestly: the first three rows are different machinery on different training data, sharing only the wikitext gauge; only the exp009 row is like-for-like with exp007 (same tasks, same data mix). Per-anchor solo taxes remain unmeasured (P4 pending) β no measured sub-additivity is claimed.
Laws under test (running tally)
| law (2.5-line status) | 3.5 status |
|---|---|
| relay retrofit works on a frozen trunk | candidate, s0 (ppl 24.4β14.3 @512; seed 1 pending) |
| gate-growth = the trunk opting in | not replicated β gates shrink while ppl improves (1 seed, flagged) |
| adapter deltas safe on recurrent state (new) | candidate, s0 β no runaway within 9k (ratio +2.3β+4.0%, still rising at window edge) |
| register capture β multi-task resolution (2 seeds) | validated w/ caveats (2 seeds; seed lottery; strong baseline) |
| specialists as seed-robustness | rationale supported (exp002 seed lottery, 2 seeds); specialist seed-robustness itself untested on 3.5 (exp005 is s0-only) |
| no-correctness-tax | on task correctness: holds at ~solo levels for 3 of 4 anchors at A=5 (exp008 all-on; candidate, s0, n=12/cell) with a β0.14 depth content dip flagged. Separately, the general-LM (ppl) side is quantified by the tax ladder above β damping bounds but does not eliminate (+11.0 at A=5) |
| termination-as-sample-semantics (2 seeds) | directional candidate at 12Γ length (rows > packed, n=8 s0; instruct prior softens the dichotomy) |
| two-regime dispatch / probe prediction (3-for-3) | first multimodal confirmation (candidate, s0, n=12/cell): blend-regime anchor (fixation, P1 sep 0.279) dissolved into redundancy; domain-distance anchors specialize-and-carry (3 double dissociations, exp008). Threshold calibration does NOT transfer to shared-image registers (all pairs β€0.465) β the law holds directionally |
| surgical decoupling (damped one-off masks) | replicates multimodally (candidate, s0, n=12/cell) β exp008's table |
| dilution/starvation boundary (w/ safeguards) | zero alarms at A=5 across 5,000 steps (usage_ppl 2.3β4.1); depth shows a β0.14 dilution dip vs solo (n=12, flagged) |
| denominator damping at scale | bounded, not economical: +11.0 for five anchors is sub-additive only relative to the series' reference stacks; the exp009 always-on monolith carries the same four tasks at +3.66 (candidate, s0), so the dispatch machinery itself owns most of the collective's tax; per-anchor re-measure (P4) pending |
| controller hypothesis (P3, falsifiable) | not supported (exp010; candidate, s0, n=12/cell): no-absorber screen passed (exp008), but all_on scores 0.0 on composites and spec_only (new removed) rescues to 0.417/0.167 β the preregistered β₯+0.15 threshold missed by β0.417/β0.167. Composition emerges from the dispatched specialists, not from a trained controller (monolith: 0.0/0.167, below spec_only). Magnitude/mechanism classification pending the raw-output diag |
| toggle gates bit-exact | confirmed (exp011, candidate s0) β all-off reproduces the frozen trunk at max |
| P4 damping decomposition (preregistered) | landed with a finding (exp011): specialists damped 5β11Γ on neutral text, but the blend-dominant caption anchor rides at ~solo-ungated amplitude (0.100 vs the 0.102 reference) β damping protects against specialize-regime anchors; blend-regime anchors escape it. Decomposes the +11.0 tax |
Port surfaces (what did NOT transfer from 2.5)
- Tool-call render format: Qwen3.5's template emits XML-parameter
blocks (
<function=β¦><parameter=β¦>), not<tool_call>{json}</tool_call>. The 2.5-line parser silently zeroes every valid output (see exp002's amendment). - Batch-1 decode is a ~32 tok/s ceiling on the hybrid trunk with the naive torch DeltaNet fallback (one CPU core pinned, GPU idle). Batched generation recovers 10β13Γ; all judges in this series batch.
- Fused linear-attention kernels (
fla) are three-way blocked on torch 2.4.1 (fla 0.5.x needs triton β₯3.3; torch 2.4 pins 3.0; fla 0.1β0.2 needs torch β₯2.5 APIs). This series runs the torch fallback uniformly β slower, but numerically consistent across every run. - Judge windows must cover the trained length distribution: a 2,048-token generation cap scored two healthy 3β4.5k-token emitters at exactly 0.0 (exp003's amendment) β the judge measured its own ceiling.
- M-RoPE needs
mm_token_type_idsin hand-built training batches, and native-resolution images can exceed a whole prefix budget on their own (exp004's gates; both handled insidesubstrate/vlm_collator.py).
All runs on a single RTX 6000 Ada (48GB), wall-clock ledgered.