Compute budget — WP-AI-0001 (measured where stated)
Resources audited 2026-11-09 (scripts/audit_environment.py --cluster, docs/ENVIRONMENT_AUDIT.json)
- Laptop: Apple M5 Max, 48 GB unified memory, 18 cores, 921 GB free; Python 3.14.4; torch 2.12.0 (MPS on), MLX 0.32.2 (Metal on), mlx_lm 0.31.3, transformers 5.8.1. Cached checkpoints: Qwen2.5-1.5B-Instruct-bf16, Qwen2.5-3B-Instruct-bf16, Llama-3.2-3B-Instruct-bf16 (mlx-community), OLMoE-1B-7B-0125-Instruct-4bit.
- MacLustr nodes reachable with Python ≥ 3.14: M3U96a (M3 Ultra 96 GB, mlx_lm 0.31.3), M3U96b (M3 Ultra 96 GB,
mlx_lm 0.31.3, 110 GB free), M4M64a (M4 Max 64 GB, torch 2.12.1), M4M64b (M4 Max 64 GB, 16 GB free — not
usable for checkpoints). Nodes with only system Python 3.9 (M2U64, M4M64c, M5M36, M4BP48, m4mm, m4mn)
need
mld prepare-style setup before use. M4M36 was unreachable. - No paid compute is required for Tiers 0–1. Tier 2 fits M3U96a/b.
Measured costs (Tier 0)
| Item | Measurement |
|---|---|
| Toy model 0.80 M params, 200 optimizer steps, batch 256 | 5.3 s MPS, 10.0 s CPU |
| 3 000 steps (one model) | ≈ 44 s MPS |
| Quick CPU smoke test (2 seeds × 2 roles, 200 steps, localization) | 22 s |
| Full pilot (3 seeds × 2 roles, 3 000 steps ≈ 45 s each, localization 3 families × 4 layers × 7 positions × 2 repeats + heads, bootstrap 2 000) | 276 s on the laptop (MPS), run pilot_tier0_opseq_451ef5087182 |
Projected (not measured) — to be replaced by pilot measurements
- Tier 1 activation capture on a 3B bf16 model: ≈ 6–7 GB weights + activations; one layer × 1 000 prompts × 32 tokens × 3 072 dims in fp16 ≈ 200 MB; feasible on the laptop. Full-layer capture for 36 layers is to be streamed to disk (do not hold in memory).
- Tier 2 (7B–14B bf16): 14–28 GB weights; M3U96a/b only; one node per model.
| Model matrix (17 toy models × 3 000 steps) | ≈ 13 min MPS (≈ 45 s each) |
| Transplant run (9 pairs, all families, bootstrap 2 000) | 140 s (v1), 176 s (v2), 167 s (confirmatory) on MPS |
| Fresh-process persistence check | ≈ 40 s |
| Tier-1 quick (1 pair, 12 queries/task, bf16 3B + 1.5B) | 150 s MLX (laptop) |
| Tier-1 dev (3 models localized, 4 pairs, 22–40 queries/task, replace grafts) | measured in the run manifest (tier1_taskvector_*); localization ≈ 10–20 min per model when the GPU is shared |
| Qwen2.5-7B-Instruct bf16 download for Tier 2 (M3U96b) | ≈ 15 GB |
Rule: no parallel heavy runs until the single-node profile is recorded in EXPERIMENT_LOG.md.