-
Notifications
You must be signed in to change notification settings - Fork 0
Agent Run Mar 16 2026
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.
Agent Run Results — Mar 16, 2026
| 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 |
| 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 |
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 |
# 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
| # | 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 |
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.
-
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.
-
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.
-
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.
-
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.
-
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).
-
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.
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.
| 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.
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:
autoresearch/mar16-agent - Agent: Claude Sonnet (autonomous via TUI dashboard)
- Date: March 16, 2026