DFlash Qwen3-0.6B โ batch 24, 10 epochs
The 6-epoch run was underfitting, so this doubles per-GPU batch to 24 (global 192), extends to 10 epochs, and sqrt-scales the learning rate to 8.5e-4.
Workflow
Experiment description success finished 59d 0h ago #
What this experiment is: a baseline of its own, or a diff on top of an existing run. Carries the repository, the baseline it is measured against, and the setup it reuses.
GPU server success finished 59d 0h ago #
Which machine or cluster runs the training, and what hardware it provides. Chosen manually for now.
| server | cadence (H100 box) |
|---|---|
| kind | ssh |
| nodes | 1 |
| GPUs | 8 × H100 80GB HBM3 per node |
| CPUs | 96 per node |
| RAM | 1.5 TB per node |
| disk | 531 GB |
| notes | Chosen over the 8xA100-40GB box: the 787 GB hidden-state cache only fits in this one's 1 TB tmpfs. |
Experiment preparation success #
Get code, environment, and data onto the chosen server.
Copy code to server success finished 59d 0h ago #
~/working_dir/SpecForge
โ branch dflash-fast-setup
git clone https://github.com/MakArtKar/SpecForge ~/working_dir/SpecForge && git checkout dflash-fast-setup
Create venv and install prerequisites success finished 59d 0h ago #
~/cadence-env
โ training venv, cpython 3.12.11
~/sglang-venv
โ separate SGLang venv โ CUDA 13 compatibility trick keeps it off the training env
Download data and preprocess data cache success finished 59d 0h ago #
/mnt/ramcache
787 GB
โ hidden-state cache, tmpfs โ rebuilt from the S3 jsonl in ~20 min if lost
Other preparation success finished 59d 0h ago #
sudo mount -t tmpfs -o size=1000G,noatime tmpfs /mnt/ramcache
Sanity checks success #
Cheap checks that must pass before spending GPU hours on a full run.
Unit and integration tests success finished 59d 0h ago #
Cover the newly added code. For a diff on top of a baseline, run the affected tests rather than the full suite.
pytest tests/
Smoke test success finished 59d 0h ago #
A handful of training steps on a small setup with debug hyperparameters. Must finish within about 7 minutes.
CUDA_VISIBLE_DEVICES=7 python -m sglang.launch_server --model-path Qwen/Qwen3-8B \ --dtype bfloat16 --port 30000 --mem-fraction-static 0.85
~/dflash-run/sglang-smoke.log
Full training success #
The real training run and its health over time.
Launch and watch first steps success finished 59d 0h ago #
Start the full run and watch the first training steps to confirm it behaves like the smoke test did.
Scheduled monitoring success finished 59d 0h ago #
Every 30 minutes, check the run is alive and its metrics are healthy. Restart it if either check fails.
Full evaluation success #
The evaluation run, monitored the same way as training.
Launch and watch first steps success finished 59d 0h ago #
Start the evaluation and watch the first steps to confirm it is producing sane numbers.
Scheduled monitoring success finished 59d 0h ago #
Every 30 minutes, check the evaluation is alive and healthy. Restart it if either check fails.
Log
- 59d 0h ago evaluation.monitor Pipeline complete: regenerate to eval in ~2 h wall clock, versus ~14 h for the 8B run
- 59d 0h ago evaluation.launch Stage 4 hung after benchmarks finished: bare 'wait' also waited on the SGLang servers, which never exit. Patched to wait on benchmark PIDs only.
- 59d 0h ago training.launch Training live at 61.2 GB/GPU, 0.40 s/step, 479 samples/s
- 59d 0h ago preparation.data Re-uploaded regenerated jsonl and all three result JSONs to S3
- 59d 0h ago preparation.data S3 uploads failed silently: AWS credentials were never on this box
- 59d 0h ago preparation.other Mounted 1 TB tmpfs at /mnt/ramcache