mumble-cleanup / scripts /02_train.py
adikuma's picture
initial upload: cleanup code and 688-pair seed dataset
fd0b01f verified
# 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()