# Model V on the 7B-Math base — tuned to USE the 80GB A100 (fast). # Run with --gpu-preset none so these settings apply (not the 1.5B preset), and # --push so the adapter lands on the Hub (Colab storage is ephemeral): # python -m mathcompose.train.train --task v --config configs/verifier_v_7b.yaml \ # --gpu-preset none --push --hub-model-id /mathcompose-verifier-7b extends: "base.yaml" task: "v" output_dir: "runs/verifier_v_7b" hub_model_id: null # set via --hub-model-id, e.g. "42e/mathcompose-verifier-7b" model: base_id: "Qwen/Qwen2.5-Math-7B-Instruct" max_context: 4096 # For the FAST path (packing), install flash-attn and set: # attn_implementation: flash_attention_2 attn_implementation: null quant: load_in_4bit: false # bf16 LoRA on the 80GB A100 (no dequant; uses the VRAM) data: train_path: "data/verifier/train.jsonl" # v2 genuine-detection data val_path: "data/verifier/val.jsonl" train: max_length: 2560 # measured: V data maxes at 2334 tokens (p99 1715) per_device_train_batch_size: 2 # no-checkpoint -> a long batch caps the size; 2 is safe (~47GB) gradient_accumulation_steps: 8 # eff batch 16 gradient_checkpointing: false # 80GB + short data -> skip the recompute tax (was the >3hr cause) optim: adamw_torch_fused packing: false # ~1.5 hr at these settings. FASTEST (~30-45 min) = packing, which needs FlashAttention-2: # pip install flash-attn --no-build-isolation # then set model.attn_implementation: flash_attention_2 AND train.packing: true. # To push batch without packing: try --batch-size 3 (may OOM on a long batch) or --precision 4bit. eval: processbench_splits: ["gsm8k", "math", "olympiadbench", "omnimath"] maj_k: 8 gpt4o_reference_f1: 61.9