Critical Fixes: - MAMBA-2 device mismatch fixed (3 methods: train_batch, validate, calculate_accuracy) - PPO batch size increased 64→512 (fixes explained variance -23.56→+0.58) - CUDA 12.9 migration complete (Runpod driver 550 compatibility) MAMBA-2 Device Fix (ml/src/mamba/mod.rs): - Added .to_device(&self.device)? calls in train_batch (L1216-1219) - Added device transfers in validate (L1829-1831) - Added device transfers in calculate_accuracy (L1856-1858) - Training validated: 2 epochs, 40.35s, 171,900 params PPO Optimization (ml/src/ppo/ppo.rs, ml/examples/train_ppo.rs): - Changed default mini_batch_size from 64 to 512 - Gradient variance reduction: 88% - Explained variance improvement: -23.56 → +0.58 - Training time: 33.0s (10 epochs), stable convergence - All 59 unit tests pass CUDA 12.9 Migration: - Dockerfile.runpod updated to CUDA 12.9.1 + cuDNN 9 - All 4 binaries rebuilt with CUDA 12.9 (75MB total) - Uploaded to Runpod S3: s3://se3zdnb5o4/binaries/ - Compatible with Runpod driver 550 (CUDA 13.0 requires driver 580+) Training Validations: - DQN: ✅ 15s training - MAMBA-2: ✅ 40.35s training (device fix validated) - PPO: ✅ 33.0s training (batch size fix validated) - TFT: ⚠️ Memory leak investigation ongoing (+1216MB growth) Test Results: - ML tests: 1,337/1,337 pass (100%) - Workspace tests: 3,196/3,196 pass (100%) - PPO unit tests: 59/59 pass (100%) 🤖 Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
2.1 KiB
2.1 KiB