# SFT Training Config for QMD Query Expansion # Target: Qwen3-1.7B with LoRA # # Usage: uv run train.py sft --config configs/sft.yaml model: base: "Qwen/Qwen3-1.7B" output: "outputs/sft" # Local training output (push to HF manually after eval) dataset: # Local: run `uv run dataset/prepare_data.py` first, then use "data/train/" # HuggingFace: use "tobil/qmd-query-expansion-train" (already prepared) name: "data/train/" text_field: "text" split: "train" eval_split: 0.1 training: epochs: 5 batch_size: 4 gradient_accumulation_steps: 4 learning_rate: 2e-4 max_length: 512 warmup_ratio: 0.03 lr_scheduler: "cosine" # Save checkpoints every 30 minutes save_interval_minutes: 30 # Fallback time-step save cadence if needed (not used for wall-clock mode) save_steps: 200 save_total_limit: 3 lora: rank: 16 alpha: 32 dropout: 0.0 target_modules: - "q_proj" - "k_proj" - "v_proj" - "o_proj" - "gate_proj" - "up_proj" - "down_proj" tracking: project: "qmd-query-expansion" run_name: "sft-1.7B"