Figures
Result figures for the temporal-MoE study. Every figure here must be understandable on its own β by someone who has never seen this project or any discussion of it.
Conventions (follow these when adding or regenerating a figure)
- File names: descriptive and context-independent β name by what the graph shows, not by
internal shorthand. No
A/B/Cletters, noprobe_*, no run codenames. - No internal jargon in titles / legends / annotations. Translate to human terms:
- Shape codes β active non-embedding params. sm1=0.77M, s0=1.36M, s1=3.81M, s2=8.12M, s3=14.77M, s4=24.29M (fine-grained variants: sm1=0.81, s0=1.42, s1=3.91, s2=8.23, s3=15.09M). Write "8.1M active", never "s2".
- G1 / G3 β "coarse experts (6 of 64)" / "fine-grained experts (18 of 192)" (fine-graining splits each expert 3Γ: 64β192 experts, top-6β18).
- Spell out methods: "temporal" = rolling residency (keep the top-k experts resident, swap 1 in per token); "full MoE" (all experts available); "dense baseline" (no experts).
- Budgets: write 1e16/1e17/1e18 as compute budgets ("at 10^17 FLOPs"), not bare numbers.
- No
A β/B βstyle prefixes β use a descriptive title.
- Caption on every figure: a 1β2 sentence caption at the bottom (
fig.text(0.5, 0.01, ...)) stating what's plotted, what the axes mean, and which direction is better. - Metric: plot bits-per-byte (BPB, lower better) for our 16k-tokenizer sweeps; use raw cross-entropy only when matching a paper's exact tokenizer (the 1e18 / 50k-vocab replication).
- Preferred IsoFLOP format: one combined single axes with both budgets (dashed = 1e16, solid = 1e17; color = method), not separate side-by-side panels.
Generators live in analysis/plots/plot_*.py.