SPB Git

spb/wp33_uqo

Public MIT
5.8 KB

# WP33 TITAN-MoE — final report of session 1 (2026-11-01)

Everything below links to a file in this repository; nothing is claimed without one. Status words: implemented (code exists and is exercised by a test or a benchmark), verified (a raw log under benchmarks/raw/ supports the stated number), unverified (implemented, no measurement yet), blocked (needs a resource or authorization the agent does not have).

# 1. Implemented and verified

Deliverable Evidence
Live hardware inventory (21 reachable Macs; 8 aliases unreachable), 1 GbE everywhere, no active Thunderbolt link artifacts/environment.json; raw probes in artifacts/private/ (not committed); research/LOG.md 2026-11-01
Network characterization: iperf3 0.945–0.947 Gbit/s between Studios, RTT 0.5–1.0 ms, app-level ping 0.74–1.17 ms artifacts/private/netprobe*.txt, benchmarks/raw/gateE/remote_cost_breakdown_m3u96a_m3u96b.txt
Prior-art audit: 59 verified works + code audit of colibri/mlx/mlx-lm/llama.cpp at recorded commits; novelty matrix research/prior_art.csv, research/RELATED_WORK.md, paper/references.bib
Expert registry (per-expert and stacked safetensors layouts; byte ranges; routing semantics) titan/registry.py, tests/test_registry_store.py, tests/test_registry_stacked.py (M3U96a)
SSD tier: pread store, parallel demand reads, expert-contiguous TITAN layout (one read per expert) titan/store.py, scripts/convert_layout.py; cold 16-slot decode 8–10 → 18 → 36 tok/s (benchmarks/raw/gateC/cold_nvme_laptop/)
Slot tables (LRU/LFU), exact execution block over gather_qmm, sync-free fast path, lazy batched installs titan/slots.py, titan/moe.py; bit-identical logits vs mlx-lm (OLMoE 64/32/16/8 slots; Qwen3-30B 128/64/32/16): benchmarks/raw/tests/
All-resident parity: 489.1 [488.2, 489.5] vs 495.0 tok/s (laptop); 121.6 vs 121.7 (M3U96a, Qwen3-30B) benchmarks/processed/audit.json, benchmarks/raw/gateB/capacity_sweep_laptop/, benchmarks/raw/gateC/qwen3_m3u96a/
Routing traces (18 + 65 prompts OLMoE; 65 prompts Qwen3-30B) and trace-driven simulator benchmarks/raw/gateC/traces_*, benchmarks/raw/gateF/traces_qwen3_m3u96a, benchmarks/scripts/simulate_cache.py, benchmarks/processed/gateC/
Predictors (prev-rank, transition depth 1–4 ± confidence threshold, logistic probe depth 1–4, oracle) and async prefetcher titan/predictors.py, titan/prefetch.py; probe recall@8 0.761 held-out
H1 verdict (not supported on OLMoE / laptop NVMe) with full host-time attribution benchmarks/raw/gateC/cold_nvme_laptop/{sweep,attribution}.jsonl, figures/attribution.pdf, audit CIs
Gate D profiling (launch-bound decode, 151 GB/s = 28 % of nominal) and fused up+gate option (bit-identical, ±2 %) → H4 not supported benchmarks/raw/gateD/, tests/test_fused_upgate.py
Authenticated TCP transport (HMAC per frame, allow-list, timeouts), expert worker, remote executor with local fallback; bit-identical on localhost and across M3U96a↔M3U96b transport/, titan/distributed.py, tests/test_distributed_local.py, benchmarks/raw/tests/m3u96a/distributed_localhost_*.json, benchmarks/raw/gateE/two_node_m3u96a_m3u96b.jsonl
Two-node result: odd experts remote over 1 GbE = 15 vs 81 tok/s local (−66 [−72, −55]); 2.5 ms per layer round trip same + remote_cost_breakdown_*.txt
Statistical audit (bootstrap CIs for every comparison), figures and tables generated from logs, manifest with SHA-256 scripts/audit_stats.py, scripts/make_figures.py, scripts/make_tables.py, artifacts/manifest.json
Paper v0.1 (30 pages, compiles, 0 undefined references), preliminary/negative results labelled paper/main.pdf

# 2. Implemented, running or unverified at the time of writing

Item State
Gate F: Qwen3-30B two-node sweep (local cold NVMe vs odd vs frequency-based placement, 32/64 slots) script benchmarks/scripts/run_gateF_qwen3.sh; worker on M3U96b; running / to be read from benchmarks/raw/gateF/
H5 energy per token (powermetrics) for 4 single-node configurations benchmarks/scripts/run_energy_laptop.sh, scripts/analyze_energy.py; running
Adaptive scheduler (online cost re-estimation, bandits) not implemented; the deterministic heuristic (Algorithm 2) is specified and its static version is exercised by Gate F
Replication of a hot set on the coordinator not implemented
Colibri and llama.cpp speed baselines not run (non-comparable precision; flagged in the protocol)
Core ML / ANE feasibility not explored (documented as out of scope for v0.1)

# 3. Blocked (needs the author)

Item Why
Thunderbolt 5 / RDMA (JACCL) tier no Thunderbolt cable between any two nodes (all TB interfaces inactive); physical cabling required
Large model tier (gpt-oss-120b, 62 GB) — the regime where a node cannot hold the experts download > 20 GB requires explicit authorization (D-003, D-008)
8 unreachable aliases (M2M32, M2M32b, M4M36, m4ma, m4mb, m4mc, m2m16, M4BP48) SSH timeout at inventory time
Push to spbgit (wp33_uqo.git) mandate: no push without authorization; local commits only

# 4. What the evidence says, in one paragraph

The runtime is exact and free when everything fits; when it does not, the storage layout and the number of host-side operations per missed expert dominate, not prediction accuracy and not kernel fusion; and gigabit Ethernet makes remote execution a capacity tool rather than a speed tool. The next version should (i) install an expert with one copy instead of nine slice writes, then re-run the probe experiments; (ii) run the medium model on the 36–48 GB nodes with experts beyond their budget; (iii) measure energy on the cluster, not only on the laptop; (iv) if cabled, add the Thunderbolt tier.

Files · e0179f6574745be33cff2b16fda99d154b18eabd
Menu

Theme