This document is a practical route to reach strong task-level quality quickly on one machine.
Important scope:
- Do NOT train a GPT-3.5-scale model from scratch.
- Use parameter-efficient fine-tuning (LoRA/QLoRA) on an open base model.
- Target: approach GPT-3.5-level quality on a bounded benchmark suite.
Define a constrained target benchmark:
- Domain QA (your domain)
- Structured instruction following
- Chinese/English bilingual tasks (if needed)
- Hallucination-sensitive prompts
Primary metrics:
- task accuracy/pass rate
- hallucination rate
- latency and memory footprint
- Start from an open base model (7B/8B class)
- Use QLoRA (4-bit loading + LoRA adapters)
- Curate small high-quality supervised dataset first
- Run short training cycles with frequent eval checkpoints
- Stop early once validation plateau appears
- CPU role: data pipeline, tokenization, checkpoint I/O
- GPU role: forward/backward and optimizer math
- Use bf16/fp16 when available
- Keep batch size small and use grad accumulation
- Prepare data in instruction format JSONL
- Run baseline eval on base model
- Fine-tune with QLoRA
- Re-evaluate on same benchmark
- Compare against baseline and target model outputs
- Significant gain over base model on your benchmark
- Reproducible across at least 3 seeds
- Acceptable latency on your single machine
- Base model:
- Train method: QLoRA
- Train time:
- Peak VRAM:
- Benchmark score before:
- Benchmark score after:
- Relative gain:
Use the checklist in FAST_TRAINING_CHECKLIST.md and log runs in output/reports/fast_training_runs.csv.