Codeseys's picture
Wave 12: close V1-V8 brief — GPU smoke, SDPO firing, real-trace e2e
d88715c
|
Raw
History Blame Contribute Delete
2.25 kB
# Spike 002a-mini — Real GPU Smoke
**Closes**: cross-model review item #4 (zero GPU evidence anywhere) +
ADR-001's choice of local 5090 over Modal.
## Goal
Take Spike 006's CPU smoke and run it on real GPU hardware to confirm:
- bf16 numerics work end-to-end through the 3-channel loss
- VRAM usage is well-bounded on a 0.5B model
- Step time is stable on the local 5090 (no thermal throttling, no swap)
- The framework's design choices (mixed-precision compatibility, GPU
dtype casts, etc) hold on real hardware, not just CPU.
## Setup
- **Hardware**: local NVIDIA RTX 5090 (Blackwell sm_120, 32 GB VRAM)
- **Software**: torch 2.12.0+cu130, transformers 4.57.6, fp32 not used (we
go straight to bf16 — the modern default for 0.5B models)
- **Model**: `Qwen/Qwen2.5-0.5B-Instruct` (the same model as Spike 006
CPU smoke, for direct CPU↔GPU comparison)
## Run
```bash
cd spikes/002a-mini-gpu-smoke
python run_gpu_smoke.py
```
Default: 50 steps × `composer_total_loss` × Qwen2.5-0.5B-Instruct on
device='cuda', dtype=bf16. Captures per-step memory + step-time + finite-grads
check + monotonic loss-decrease check + peak-VRAM bound check.
## What this verifies (and what it doesn't)
VERIFIES:
- Real model loads on real GPU
- 3-channel loss runs end-to-end through bf16
- Peak VRAM is well under headroom (5.31 GB on 0.5B model with bf16)
- Step time is stable (no warmup churn after step 0)
- Loss decreases meaningfully (>50% reduction over 50 steps)
DOES NOT VERIFY:
- That the model is being trained correctly (this is a verification
harness, not a real GRPO run — see Spike 006-strict for the SDPO
channel exercise + the production path via `ComposerReplicationTrainer`)
- That training produces Composer-2.5-quality results (post-replication
GPU phase, requires real teacher rollouts)
- Multi-GPU or multi-replica DiLoCo (Spike 008 single-process limitation
applies; multi-process DiLoCo is post-replication work)
## Cost
- $0 (local 5090, no Modal spend per ADR-001)
- 35 s wall-clock total
- 5.31 GB peak VRAM
## Files
- `run_gpu_smoke.py` — runner
- `verdict.md` — pass/fail summary with metrics
- `results/gpu_loss_curve.csv` — per-step metrics
- `results/gpu_verdict.json` — programmatic verdict