Skip to content

Navigation Menu

Sign in
Sign up

Experiment Results Mar 14 2026 M4 Pro

David graham edited this page Mar 14, 2026 · 1 revision

M4 Pro (24 GB) — Mar 14, 2026 Experiment Results

Hardware

Spec Value
Chip Apple M4 Pro
Unified Memory 24 GB
GPU Cores 16
Est. bf16 TFLOPS ~11.2 (16 cores x 0.7 TFLOPS/core)
Auto-detected Tier Pro (depth=6, device_batch=16, total_batch=64K)

Best Result

Metric Value
val_bpb 1.429396
Improvement over baseline 29.5% (2.026 -> 1.429)
Peak Memory 4,511 MB (18.8% of 24 GB)
MFU 13.54%
Training Steps 751
Total Tokens 6.2M

Best Configuration

# Architecture
ASPECT_RATIO = 64
HEAD_DIM = 128
MLP_RATIO = 1.5 # narrow MLP (from 4x default)
WINDOW_PATTERN = "SSSL"
DEPTH = 6 # Pro tier default
# Optimization
TOTAL_BATCH_SIZE = 8192 # 8x smaller than Pro default (64K)
DEVICE_BATCH_SIZE = 4 # 4x smaller than Pro default (16)
EMBEDDING_LR = 0.6
UNEMBEDDING_LR = 0.004
MATRIX_LR = 0.04
SCALAR_LR = 0.5
WEIGHT_DECAY = 0.2
ADAM_BETAS = (0.8, 0.95)
WARMUP_RATIO = 0.0
WARMDOWN_RATIO = 0.7 # longer cooldown (from 0.5)
FINAL_LR_FRAC = 0.0

Full Experiment Log (15 experiments)

# commit val_bpb mem_gb status description
0 baseline 2.026063 32.1 baseline Unmodified master, Pro tier defaults (depth=6, batch=16, total=64K, MLP=4x)
1 bc5cdc1 1.439990 8.4 keep MLP 1.5x + batch 16K/8 + warmdown 0.7 (all mar11 wins)
4 1d83776 1.429396 4.5 keep Batch 8K/4 — more steps, slightly better
5 ad65c98 1.505310 6.0 discard depth=7 — too slow, fewer steps hurt convergence
6 fc3deb2 1.473686 5.4 discard ASPECT_RATIO=80 — wider model too slow, fewer steps
7 27b9d9f 1.429607 4.4 discard MLP_RATIO=1.0 — tied with 1.5x, no benefit
8a 71de4f7 1.457287 4.5 discard MATRIX_LR=0.05 — too high, worse convergence
8b 1ddabf6 1.437987 4.5 discard MATRIX_LR=0.03 — slightly worse, default 0.04 optimal
9a cd09729 1.436647 4.5 discard WARMDOWN_RATIO=0.75 — slightly worse than 0.7
9b 8f00506 1.432641 4.5 discard WARMDOWN_RATIO=0.65 — slightly worse than 0.7
10a cc51630 1.432399 4.5 discard Window "SL" — more long-range, slightly worse
10b 9ab893a 1.434336 4.5 discard Window "SSSSL" — more short windows, slightly worse
11 000e04d 1.430230 4.5 discard Softcap 12 — tied, no meaningful improvement
12 b0df72e 1.452558 2.8 discard Batch 4K/2 — too noisy despite 1372 steps
13 398387c 1.443693 4.5 discard EMBEDDING_LR=0.8 — worse than default 0.6
14 24408f3 1.433078 4.5 discard WEIGHT_DECAY=0.15 — slightly worse than 0.2
15 7186347 1.435216 4.4 discard MLP_RATIO=1.25 — worse than 1.5, not the sweet spot

Comparison vs M1 Max (mar11)

Metric M1 Max (mar11) M4 Pro (mar14)
Best val_bpb 1.621 1.429
Memory 64 GB 24 GB
GPU Cores 32 16
Peak Memory Used 11.3 GB 4.5 GB
Training Steps ~388* 751
TOTAL_BATCH_SIZE 16,384 8,192
DEVICE_BATCH_SIZE 8 4
MLP_RATIO 1.5 1.5
WARMDOWN_RATIO 0.7 0.7

*M1 Max mar11 step count is estimated from their total_tokens/batch_size.

Key Observations

Why M4 Pro beat M1 Max despite less hardware

  1. No memory swapping: The M1 Max baseline used 94 GB on a 64 GB machine (heavy swap). The M4 Pro baseline used 32 GB on 24 GB (also swapping). But the optimized M4 Pro config uses only 4.5 GB — fully in-memory with zero swap overhead.

  2. Smaller batch = more steps: M4 Pro went further with batch 8K (vs M1 Max at 16K). The M4 Pro's faster per-core performance (~40% faster than M1) made each step faster, so 8K batch worked where M1 Max found it "too noisy" — the extra steps compensated for gradient noise.

  3. Step speed dominates: On M4 Pro, the critical factor is maximizing training steps within the 5-minute window. Every experiment that increased model size (depth, width, MLP ratio) failed because fewer steps outweighed the per-step quality gains.

Parameters tested but confirmed optimal at defaults

Parameter Values Tested Optimal
MLP_RATIO 1.0, 1.25, 1.5, 4.0 1.5
TOTAL_BATCH 4096, 8192, 16384, 65536 8192
MATRIX_LR 0.03, 0.04, 0.05 0.04
WARMDOWN_RATIO 0.5, 0.65, 0.7, 0.75 0.7
WINDOW_PATTERN SL, SSSL, SSSSL SSSL
DEPTH 6, 7 6
ASPECT_RATIO 64, 80 64
Softcap 12, 15 15
WEIGHT_DECAY 0.15, 0.2 0.2
EMBEDDING_LR 0.6, 0.8 0.6

Branch

  • Branch: autoresearch/mar14
  • Agent: Claude Opus 4.6 (autonomous experiment runner)
  • Date: March 14, 2026

Clone this wiki locally

AltStyle によって変換されたページ (->オリジナル) /