File size: 1,039 Bytes
fd0b01f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# lora sft on qwen2.5-0.5b-instruct. writes runs/<run-id>/model + training_history.json.

import argparse
from pathlib import Path

from cleanup.config import load_train_config
from cleanup.train.trainer import train


def main() -> None:
    parser = argparse.ArgumentParser()
    parser.add_argument("--config", default="configs/train.yaml")
    parser.add_argument("--runs-dir", default="runs")
    parser.add_argument("--run-id", required=True)
    parser.add_argument("--lr", type=float, default=None)
    parser.add_argument("--epochs", type=int, default=None)
    parser.add_argument("--smoke", action="store_true", help="tiny cpu validation run")
    args = parser.parse_args()

    cfg = load_train_config(args.config)
    run_dir = Path(args.runs_dir) / args.run_id
    summary = train(
        cfg,
        run_dir,
        smoke=args.smoke,
        epochs_override=args.epochs,
        lr_override=args.lr,
    )
    print(summary)
    print(f"next: make evaluate RUN_ID={args.run_id}")


if __name__ == "__main__":
    main()