Skip to content

Navigation Menu

Sign in
Sign up

Agent Run Mar 16 2026

Dave Graham edited this page Mar 17, 2026 · 1 revision

Autonomous Agent Run — Mar 16, 2026 (M5 Max)

Overview

This was the first fully autonomous experiment run using the TUI Dashboard agent mode. Claude Sonnet designed and executed 81 experiments over ~7 hours, iterating on hyperparameters to minimize val_bpb on the Apple M5 Max (64 GB).

The agent achieved a 1.3% improvement over the starting baseline, reducing val_bpb from 1.3529 → 1.3353 through a series of incremental optimizations to learning rates, weight decay, and warmdown scheduling.

Results Chart

Agent Run Results — Mar 16, 2026

Hardware

Spec Value
Chip Apple M5 Max
Unified Memory 64 GB
GPU Cores 40
Est. bf16 TFLOPS ~34.0
Backend MLX
Time Budget 5 minutes per experiment

Summary Statistics

Metric Value
Total Experiments 81 (exp0–exp80)
Kept 9 (11.1%)
Discarded 69 (85.2%)
Crashed 3 (3.7%)
Best val_bpb 1.3353 (exp72)
Baseline val_bpb 1.3529 (exp0)
Total Improvement -0.0176 (1.3%)
LLM Backend Claude Sonnet
Branch autoresearch/mar16-agent

Cumulative Improvements (Kept Experiments)

The agent found 8 improvements beyond the baseline, each building on the previous best:

Exp val_bpb Delta Description Key Change
exp0 1.3529 Baseline (no modifications) Starting point
exp2 1.3402 -0.0127 Increase MATRIX_LR from 0.04 to 0.06 Higher Muon LR
exp4 1.3393 -0.0009 Decrease WEIGHT_DECAY from 0.2 to 0.1 Less regularization
exp24 1.3388 -0.0005 Decrease WEIGHT_DECAY from 0.1 to 0.05 Even less regularization
exp25 1.3377 -0.0011 Decrease WEIGHT_DECAY from 0.05 to 0.02 Optimal WD found
exp48 1.3365 -0.0012 Decrease WARMDOWN_RATIO from 0.5 to 0.4 Shorter cooldown
exp60 1.3357 -0.0008 Decrease EMBEDDING_LR from 0.6 to 0.59 Fine-tuned embedding LR
exp69 1.3355 -0.0002 Increase UNEMBEDDING_LR from 0.004 to 0.0041 Fine-tuned unembedding LR
exp72 1.3353 -0.0002 Decrease EMBEDDING_LR from 0.59 to 0.585 Final embedding LR tweak

Best Configuration

# Architecture (unchanged from defaults)
DEPTH = 8
ASPECT_RATIO = 64 # → model_dim=512, 4 heads
HEAD_DIM = 128
WINDOW_PATTERN = "SSSL"
MLP_RATIO = 4.0
# Optimization (agent-tuned)
TOTAL_BATCH_SIZE = 32768
DEVICE_BATCH_SIZE = 16
MATRIX_LR = 0.06 # ↑ from 0.04 (exp2)
EMBEDDING_LR = 0.585 # ↓ from 0.6 (exp60, exp72)
UNEMBEDDING_LR = 0.0041 # ↑ from 0.004 (exp69)
SCALAR_LR = 0.5 # unchanged
WEIGHT_DECAY = 0.02 # ↓ from 0.2 (exp4→exp24→exp25)
ADAM_BETAS = (0.8, 0.95) # unchanged
WARMUP_RATIO = 0.0 # unchanged
WARMDOWN_RATIO = 0.4 # ↓ from 0.5 (exp48)
FINAL_LR_FRAC = 0.0 # unchanged

Full Experiment Log (81 experiments)

# val_bpb mem_gb tok/sec mfu steps status description
exp0 1.353 26.1 29,333 26.1% 270 baseline No modifications
exp1 1.369 25.0 27,269 24.1% 251 discard DEVICE_BATCH_SIZE=8
exp2 1.340 26.1 30,232 26.8% 278 keep MATRIX_LR=0.06 (from 0.04)
exp3 1.341 26.1 30,313 27.0% 279 discard EMBEDDING_LR=0.8
exp4 1.339 26.1 30,242 26.9% 279 keep WEIGHT_DECAY=0.1 (from 0.2)
exp5 crash DEVICE_BATCH_SIZE=6
exp6 crash DEVICE_BATCH_SIZE=7
exp7 1.363 26.1 30,636 27.2% 281 discard SCALAR_LR=0.7
exp8 1.350 26.1 30,282 26.8% 277 discard UNEMBEDDING_LR=0.003
exp9 1.398 29.4 22,553 28.8% 209 discard HEAD_DIM=160
exp10 1.422 31.4 22,288 28.3% 205 discard ASPECT_RATIO=80
exp11 1.350 26.1 30,646 27.1% 280 discard ADAM_BETAS=(0.9, 0.95)
exp12 1.343 26.1 30,554 27.0% 280 discard MATRIX_LR=0.08
exp13 1.340 26.1 30,252 26.9% 279 discard UNEMBEDDING_LR=0.005
exp14 1.344 26.1 29,910 26.6% 276 discard EMBEDDING_LR=0.7
exp15 crash TOTAL_BATCH_SIZE reduction
exp16 1.371 26.1 30,242 26.9% 279 discard WARMUP_RATIO=0.1
exp17 1.365 26.1 30,313 26.8% 277 discard FINAL_LR_FRAC=-0.1
exp18 1.342 26.1 30,232 26.9% 279 discard WARMDOWN_RATIO=0.3
exp19 1.341 26.1 30,222 27.5% 278 discard WINDOW_PATTERN="SSL"
exp20 1.342 26.1 30,595 27.1% 280 discard MATRIX_LR=0.07
exp21 1.342 24.0 32,258 25.7% 297 discard Reduced DEPTH
exp22 1.346 26.1 30,292 26.9% 278 discard SCALAR_LR=0.6
exp23 1.343 26.1 30,323 26.8% 277 discard MATRIX_LR=0.065
exp24 1.339 26.1 30,595 27.1% 280 keep WEIGHT_DECAY=0.05 (from 0.1)
exp25 1.338 26.1 30,927 27.4% 284 keep WEIGHT_DECAY=0.02 (from 0.05)
exp26 1.341 26.1 30,666 27.2% 281 discard WEIGHT_DECAY=0.01 — too low
exp27 1.343 26.1 30,595 27.2% 282 discard MATRIX_LR=0.05
exp28 1.346 26.1 29,646 26.4% 273 discard EMBEDDING_LR=0.65
exp29 1.361 26.1 28,000 24.6% 255 discard EMBEDDING_LR=0.55
exp30 1.354 26.1 28,894 25.4% 264 discard MATRIX_LR=0.063
exp31 1.358 26.1 28,618 25.3% 262 discard UNEMBEDDING_LR=0.0035
exp32 1.353 26.1 28,903 25.5% 265 discard MATRIX_LR=0.062
exp33 1.342 26.1 30,585 27.2% 282 discard UNEMBEDDING_LR=0.0045
exp34 1.339 26.1 30,938 27.4% 283 discard MATRIX_LR=0.061
exp35 1.340 26.1 30,646 27.2% 281 discard UNEMBEDDING_LR=0.0038
exp36 1.340 26.1 30,282 27.0% 279 discard ADAM_BETAS=(0.7, 0.95)
exp37 1.348 26.1 29,920 26.6% 276 discard ADAM_BETAS=(0.85, 0.95)
exp38 1.348 26.1 28,951 25.8% 267 discard ADAM_BETAS=(0.75, 0.95)
exp39 1.361 26.1 27,944 24.6% 255 discard ADAM_BETAS=(0.8, 0.92)
exp40 1.357 26.1 28,267 24.9% 258 discard ADAM_BETAS=(0.8, 0.96)
exp41 1.359 26.1 28,323 25.0% 259 discard SCALAR_LR=0.4
exp42 1.359 26.1 28,286 25.1% 260 discard SCALAR_LR=0.45
exp43 1.369 26.1 27,269 23.9% 249 discard SCALAR_LR=0.55
exp44 1.364 26.1 27,906 24.6% 256 discard WARMDOWN_RATIO=0.6
exp45 1.360 26.1 27,944 24.8% 257 discard UNEMBEDDING_LR=0.0036
exp46 1.363 26.1 27,565 24.4% 254 discard UNEMBEDDING_LR=0.0042
exp47 1.361 26.1 27,602 25.7% 254 discard WINDOW_PATTERN="SL"
exp48 1.337 26.1 30,897 27.5% 285 keep WARMDOWN_RATIO=0.4 (from 0.5)
exp49 1.341 26.1 30,636 27.2% 281 discard WARMDOWN_RATIO=0.3
exp50 1.340 26.1 30,666 27.1% 280 discard WARMDOWN_RATIO=0.35
exp51 1.341 26.1 30,656 27.1% 280 discard MATRIX_LR=0.058
exp52 1.341 26.1 30,292 27.0% 279 discard MATRIX_LR=0.059
exp53 1.339 26.1 30,605 27.1% 280 discard EMBEDDING_LR=0.62
exp54 1.340 26.1 30,625 27.1% 280 discard EMBEDDING_LR=0.58
exp55 1.339 26.1 30,595 27.1% 281 discard UNEMBEDDING_LR=0.0041
exp56 1.342 26.1 30,232 26.9% 279 discard MATRIX_LR=0.057
exp57 1.342 26.1 30,000 26.6% 275 discard WARMDOWN_RATIO=0.45
exp58 1.343 26.1 30,262 26.8% 277 discard MATRIX_LR=0.055
exp59 1.338 26.1 30,958 27.4% 283 discard EMBEDDING_LR=0.61
exp60 1.336 26.1 31,281 27.7% 286 keep EMBEDDING_LR=0.59 (from 0.6)
exp61 1.336 26.1 30,938 27.5% 284 discard EMBEDDING_LR=0.58
exp62 1.372 26.1 25,887 22.9% 239 discard EMBEDDING_LR=0.595
exp63 1.374 26.1 25,956 23.0% 239 discard UNEMBEDDING_LR=0.0043
exp64 1.372 26.1 25,956 23.0% 239 discard UNEMBEDDING_LR=0.0039
exp65 1.375 26.1 25,974 22.8% 237 discard UNEMBEDDING_LR=0.0037
exp66 1.374 26.1 25,632 22.7% 236 discard MATRIX_LR=0.0605
exp67 1.375 26.1 25,939 22.8% 237 discard MATRIX_LR=0.0595
exp68 1.438 31.8 23,000 24.4% 210 discard HEAD_DIM=96
exp69 1.336 26.1 31,312 27.9% 288 keep UNEMBEDDING_LR=0.0041 (from 0.004)
exp70 1.337 26.1 31,229 27.8% 288 discard MATRIX_LR=0.0598
exp71 1.336 26.1 31,302 27.8% 287 discard MATRIX_LR=0.0602
exp72 1.335 26.1 31,624 28.0% 289 keep EMBEDDING_LR=0.585 (from 0.59)
exp73 1.343 26.1 30,282 26.8% 277 discard UNEMBEDDING_LR=0.0042
exp74 1.345 26.1 29,617 26.4% 273 discard EMBEDDING_LR=0.58
exp75 1.346 26.1 29,568 26.3% 273 discard UNEMBEDDING_LR=0.0042
exp76 1.341 26.1 30,282 26.9% 278 discard UNEMBEDDING_LR=0.004
exp77 1.341 26.1 30,262 26.9% 279 discard MATRIX_LR=0.0601
exp78 1.340 26.1 30,656 27.1% 280 discard UNEMBEDDING_LR=0.004
exp79 1.340 26.1 30,323 27.0% 279 discard MATRIX_LR=0.0599
exp80 1.344 26.1 29,950 26.7% 276 discard WEIGHT_DECAY=0.015

Analysis

Phases of Exploration

The agent's behavior shows three distinct phases:

Phase 1 — Broad exploration (exp0–exp25): The agent tested a wide range of parameters including architecture changes (HEAD_DIM, ASPECT_RATIO, DEPTH, WINDOW_PATTERN), batch sizes, learning rates, and regularization. Key discoveries: MATRIX_LR=0.06 and the weight decay reduction chain (0.2 → 0.1 → 0.05 → 0.02). Three crashes occurred from overly aggressive batch size reductions (exp5, exp6, exp15).

Phase 2 — Fine-tuning (exp26–exp55): With WEIGHT_DECAY=0.02 established, the agent explored finer-grained adjustments to Adam betas, scalar LR, matrix LR, and warmdown ratio. Most experiments were very close to the best (within 0.005 val_bpb). The key find was WARMDOWN_RATIO=0.4 (exp48).

Phase 3 — Precision tuning (exp56–exp80): The agent shifted to very small incremental changes (e.g., EMBEDDING_LR from 0.6 to 0.59, then 0.585; UNEMBEDDING_LR from 0.004 to 0.0041). Improvements became vanishingly small (~0.0002 per keep), suggesting convergence to a local optimum.

Key Findings

  1. Weight decay was the biggest lever: Reducing from the default 0.2 down to 0.02 across three experiments (exp4→exp24→exp25) contributed the most cumulative improvement. However, going further to 0.01 hurt (exp26), establishing 0.02 as optimal.

  2. Learning rate tuning at the margins: MATRIX_LR=0.06 (1.5x default) was the single biggest single-experiment improvement. Embedding and unembedding LR changes in the ±0.01 range produced measurable but tiny gains.

  3. Warmdown ratio matters: Reducing from 0.5 to 0.4 (exp48) was a meaningful improvement, but going lower to 0.3 (exp49) or higher to 0.6 (exp44) both hurt. The model benefits from a slightly shorter cooldown phase.

  4. Architecture changes didn't help: HEAD_DIM=160, ASPECT_RATIO=80, reduced DEPTH, and alternative WINDOW_PATTERN="SSL"/"SL" were all worse. The default architecture is well-suited for this chip.

  5. Adam betas are robust: Testing β1 in {0.7, 0.75, 0.85, 0.9} and β2 in {0.92, 0.96} all performed worse than the default (0.8, 0.95).

  6. Diminishing returns are real: After ~50 experiments, the agent was making sub-0.001 improvements. The last 30 experiments collectively improved val_bpb by only ~0.002.

Crash Analysis

Three experiments crashed (3.7% crash rate):

  • exp5 (DEVICE_BATCH_SIZE=6) — OOM or incompatible batch size
  • exp6 (DEVICE_BATCH_SIZE=7) — Same failure mode
  • exp15 (TOTAL_BATCH_SIZE reduction) — Invalid configuration

All crashes were from aggressive batch size changes. The agent learned from these and avoided similar changes afterward.

Comparison with Previous Runs

Metric Mar 15 (manual+agent, 17 exp) Mar 16 (fully autonomous, 81 exp)
Best val_bpb 1.3196 1.3353
Starting baseline 2.075 (batch=131K) 1.3529 (batch=32K, pre-tuned)
Total improvement -0.755 (36.4%) -0.018 (1.3%)
Crash rate 0% 3.7%
Keep rate 35% (6/17) 11.1% (9/81)

Note: The Mar 15 run started from the default configuration with batch=131K, where the initial batch size reduction alone gave a 0.534 improvement. The Mar 16 run started from an already-optimized baseline (batch=32K), leaving much less room for improvement. The Mar 16 run demonstrates the agent's ability to find small, incremental gains even on a well-tuned configuration.

Infrastructure

This run used the TUI Dashboard in agent mode:

uv run dashboard.py --agent --tag mar16-agent --max 100

The dashboard provided real-time monitoring with:

  • Live training metrics (loss, tok/sec, MFU, progress bar)
  • Hardware memory polling (RSS every 2s)
  • Experiment status panel (keep/discard/crash counts)
  • Activity log with full experiment history
  • Automatic git branching and commit/revert per experiment

See TUI Dashboard for more details.

Branch

  • Branch: autoresearch/mar16-agent
  • Agent: Claude Sonnet (autonomous via TUI dashboard)
  • Date: March 16, 2026

Clone this wiki locally

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