Overnight Training Pipeline (2026-07-22)

# Overnight Training Pipeline — 2026-07-22

## Goal
Train Gen5 neural nets to beat all previous generations at 9-max tables. Be profitable against every opponent type.

## Key Fix: 9-Max Tables
Both collection scripts updated: `TABLE_SIZES="9 9 9 9 9 9 9 9"` (was `"3 3 4 4 5 5 6 6"`).

## Pipeline Stages

### Stage 1: RangeNet v9 (GPU) — IN PROGRESS
- Training on 5.6M diverse range samples (57-dim features with action history)
- 25 epochs, batch 512, lr 1e-4
- Epoch 8 metrics: top1=2.53%, top10=18.7% (vs v8: top1=3.41%, top10=21.5%)
- v9 has less data (5.6M vs 23.4M for v8) but richer features

### Stage 2: v4 Postflop (GPU)
- **v4a**: CF v7 warm-start, Q-reg on old data (g48_v16 + sp_i1b + sp_i2, ~6.4M postflop transitions)
- **v4b**: Fine-tune v4a on combined data (add diverse transitions when G48 collection finishes)
- Aggressive masking: BetPot/Bet2x/Raise25x/RaisePot/AllIn masked at >25 BB

### Stage 3: Preflop v2 (GPU)
- Q-reg on diverse preflop data (when available)
- Preflop v1 (corr=0.435) currently deployed with Bet2x/AllIn safety masking

### Stage 4: Evaluation (9-max)
- Script: `scripts/eval_9max.sh`
- Tests vs ALL opponent types: Fish, Station, Chump, Flock, Gen3, Gen2, Tag, Lag, Nit, Maniac
- 3 seeds × 2000-3000 hands per opponent (sequential to avoid GPU contention)

### Stage 5: 9-Max Data Collection (CPU)
- 8 tables × 500K hands, all 9-max
- Diverse opponent pool (Fisher-Yates shuffled per table)

### Stage 6: v5 Training
- Warm-start from v4b
- Combined data: old + diverse + 9-max
- Target: best overall model

## Current State (21:55)
- Preflop v1: DONE (corr=0.435)
- RangeNet v9: TRAINING (epoch 16/25)
- G48 diverse collection: RUNNING (3/8 tables done, 4M transitions)
- Baseline eval: CRASHED (GPU contention), will re-run later

## Models Produced
- `gen5_preflop_v1.safetensors` — preflop NN v1 (done)
- `range_v9.safetensors` — RangeNet v9 (training)
- `gen5_postflop_v4.safetensors` — postflop v4 (planned)
- `gen5_preflop_v2.safetensors` — preflop v2 (planned)
- `gen5_postflop_v5.safetensors` — postflop v5 (planned)

## Scripts
- `scripts/eval_9max.sh` — 9-max evaluation suite
- `scripts/overnight_pipeline.sh` — full automated pipeline
- Updated: `scripts/gen5_collect_g48.sh`, `scripts/gen5_selfplay_collect.sh` (9-max default)


id: 5d13b683b14241f2b3ff11c0a5b2ea92
parent_id: 2c8da247905946c3aa19eb4936e16323
created_time: 2026-07-22T19:54:39.126Z
updated_time: 2026-07-31T12:55:54.504Z
is_conflict: 0
latitude: 0.00000000
longitude: 0.00000000
altitude: 0.0000
author: 
source_url: 
is_todo: 0
todo_due: 0
todo_completed: 0
source: joplin-desktop
source_application: net.cozic.joplin-desktop
application_data: 
order: 1784750079126
user_created_time: 2026-07-22T19:54:39.126Z
user_updated_time: 2026-07-22T19:54:39.126Z
encryption_cipher_text: 
encryption_applied: 0
markup_language: 1
is_shared: 0
share_id: 
conflict_original_id: 
master_key_id: 
user_data: 
deleted_time: 1785502554504
is_locked: 0
extracted_resource_ids: 
type_: 1