Upload folder using huggingface_hub
Browse files
src/mathcompose/train/train.py
CHANGED
|
@@ -70,7 +70,23 @@ def build_and_train(args) -> str:
|
|
| 70 |
eval_ds = ds.get("validation")
|
| 71 |
|
| 72 |
t = cfg["train"]
|
| 73 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 74 |
optim = t.get("optim", "paged_adamw_8bit") if use_4bit else "adamw_torch"
|
| 75 |
|
| 76 |
sft_args = SFTConfig(
|
|
@@ -127,7 +143,13 @@ def main() -> None:
|
|
| 127 |
ap.add_argument("--val-file", default=None)
|
| 128 |
ap.add_argument("--output-dir", default=None)
|
| 129 |
ap.add_argument("--no-4bit", action="store_true", help="disable 4-bit (CPU smoke / debugging)")
|
| 130 |
-
ap.add_argument("--max-steps", type=int, default=0, help="cap steps (
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 131 |
ap.add_argument("--wandb", action="store_true")
|
| 132 |
ap.add_argument("--push", action="store_true", help="push adapter to HF Hub")
|
| 133 |
ap.add_argument("--hub-model-id", default=None)
|
|
|
|
| 70 |
eval_ds = ds.get("validation")
|
| 71 |
|
| 72 |
t = cfg["train"]
|
| 73 |
+
# optional CLI overrides (getattr keeps programmatic callers/tests working)
|
| 74 |
+
if getattr(args, "epochs", None):
|
| 75 |
+
t["epochs"] = args.epochs
|
| 76 |
+
if getattr(args, "batch_size", None):
|
| 77 |
+
t["per_device_train_batch_size"] = args.batch_size
|
| 78 |
+
if getattr(args, "grad_accum", None):
|
| 79 |
+
t["gradient_accumulation_steps"] = args.grad_accum
|
| 80 |
+
if getattr(args, "max_length", None):
|
| 81 |
+
t["max_length"] = args.max_length
|
| 82 |
+
|
| 83 |
+
gc_mode = getattr(args, "grad_ckpt", "auto")
|
| 84 |
+
if gc_mode == "on":
|
| 85 |
+
grad_ckpt = True
|
| 86 |
+
elif gc_mode == "off":
|
| 87 |
+
grad_ckpt = False
|
| 88 |
+
else:
|
| 89 |
+
grad_ckpt = bool(t.get("gradient_checkpointing", True)) and use_4bit
|
| 90 |
optim = t.get("optim", "paged_adamw_8bit") if use_4bit else "adamw_torch"
|
| 91 |
|
| 92 |
sft_args = SFTConfig(
|
|
|
|
| 143 |
ap.add_argument("--val-file", default=None)
|
| 144 |
ap.add_argument("--output-dir", default=None)
|
| 145 |
ap.add_argument("--no-4bit", action="store_true", help="disable 4-bit (CPU smoke / debugging)")
|
| 146 |
+
ap.add_argument("--max-steps", type=int, default=0, help="cap steps (GPU/CPU smoke)")
|
| 147 |
+
# per-run overrides for adapting to the GPU you got (T4 vs L4/A100/H100)
|
| 148 |
+
ap.add_argument("--epochs", type=int, default=None)
|
| 149 |
+
ap.add_argument("--batch-size", type=int, default=None, help="per-device train batch")
|
| 150 |
+
ap.add_argument("--grad-accum", type=int, default=None)
|
| 151 |
+
ap.add_argument("--max-length", type=int, default=None, help="sequence length (<=4096)")
|
| 152 |
+
ap.add_argument("--grad-ckpt", choices=["auto", "on", "off"], default="auto")
|
| 153 |
ap.add_argument("--wandb", action="store_true")
|
| 154 |
ap.add_argument("--push", action="store_true", help="push adapter to HF Hub")
|
| 155 |
ap.add_argument("--hub-model-id", default=None)
|