Put train.py
Browse files
train.py
CHANGED
|
@@ -9,7 +9,7 @@ definitions or user prompts.
|
|
| 9 |
|
| 10 |
Usage:
|
| 11 |
python train.py [--smoke] [--max_steps N] [--max_length N] [--epochs N]
|
| 12 |
-
[--batch N] [--grad_accum N] [--lr F] [--output REPO_ID]
|
| 13 |
"""
|
| 14 |
import argparse
|
| 15 |
import os
|
|
@@ -61,9 +61,10 @@ def main():
|
|
| 61 |
ap.add_argument("--max_steps", type=int, default=-1)
|
| 62 |
ap.add_argument("--max_length", type=int, default=8192)
|
| 63 |
ap.add_argument("--epochs", type=int, default=3)
|
| 64 |
-
ap.add_argument("--batch", type=int, default=
|
| 65 |
-
ap.add_argument("--grad_accum", type=int, default=
|
| 66 |
ap.add_argument("--lr", type=float, default=5e-5)
|
|
|
|
| 67 |
ap.add_argument("--report_lengths", action="store_true")
|
| 68 |
ap.add_argument("--output", default="victor/functiongemma-270m-agent-sft-lora")
|
| 69 |
args = ap.parse_args()
|
|
@@ -99,7 +100,7 @@ def main():
|
|
| 99 |
lens[-1],
|
| 100 |
)
|
| 101 |
)
|
| 102 |
-
for ml in (2048, 4096, 8192
|
| 103 |
truncated = sum(1 for l in lens if l > ml)
|
| 104 |
print(f" would-truncate at max_length={ml}: {truncated}/{len(lens)}")
|
| 105 |
|
|
@@ -111,7 +112,6 @@ def main():
|
|
| 111 |
BASE,
|
| 112 |
trust_remote_code=True,
|
| 113 |
torch_dtype=torch.bfloat16 if torch.cuda.is_bf16_supported() else torch.float16,
|
| 114 |
-
attn_implementation="eager",
|
| 115 |
)
|
| 116 |
model.config.pad_token_id = tokenizer.pad_token_id
|
| 117 |
|
|
@@ -140,11 +140,11 @@ def main():
|
|
| 140 |
max_length=args.max_length,
|
| 141 |
packing=False,
|
| 142 |
eval_strategy="steps",
|
| 143 |
-
eval_steps=
|
| 144 |
-
logging_steps=
|
| 145 |
save_strategy="epoch",
|
| 146 |
report_to="none",
|
| 147 |
-
gradient_checkpointing=
|
| 148 |
push_to_hub=False,
|
| 149 |
hub_model_id=args.output,
|
| 150 |
)
|
|
|
|
| 9 |
|
| 10 |
Usage:
|
| 11 |
python train.py [--smoke] [--max_steps N] [--max_length N] [--epochs N]
|
| 12 |
+
[--batch N] [--grad_accum N] [--lr F] [--gc] [--output REPO_ID]
|
| 13 |
"""
|
| 14 |
import argparse
|
| 15 |
import os
|
|
|
|
| 61 |
ap.add_argument("--max_steps", type=int, default=-1)
|
| 62 |
ap.add_argument("--max_length", type=int, default=8192)
|
| 63 |
ap.add_argument("--epochs", type=int, default=3)
|
| 64 |
+
ap.add_argument("--batch", type=int, default=8)
|
| 65 |
+
ap.add_argument("--grad_accum", type=int, default=4)
|
| 66 |
ap.add_argument("--lr", type=float, default=5e-5)
|
| 67 |
+
ap.add_argument("--gc", action="store_true", help="enable gradient checkpointing")
|
| 68 |
ap.add_argument("--report_lengths", action="store_true")
|
| 69 |
ap.add_argument("--output", default="victor/functiongemma-270m-agent-sft-lora")
|
| 70 |
args = ap.parse_args()
|
|
|
|
| 100 |
lens[-1],
|
| 101 |
)
|
| 102 |
)
|
| 103 |
+
for ml in (2048, 4096, 8192):
|
| 104 |
truncated = sum(1 for l in lens if l > ml)
|
| 105 |
print(f" would-truncate at max_length={ml}: {truncated}/{len(lens)}")
|
| 106 |
|
|
|
|
| 112 |
BASE,
|
| 113 |
trust_remote_code=True,
|
| 114 |
torch_dtype=torch.bfloat16 if torch.cuda.is_bf16_supported() else torch.float16,
|
|
|
|
| 115 |
)
|
| 116 |
model.config.pad_token_id = tokenizer.pad_token_id
|
| 117 |
|
|
|
|
| 140 |
max_length=args.max_length,
|
| 141 |
packing=False,
|
| 142 |
eval_strategy="steps",
|
| 143 |
+
eval_steps=200,
|
| 144 |
+
logging_steps=20,
|
| 145 |
save_strategy="epoch",
|
| 146 |
report_to="none",
|
| 147 |
+
gradient_checkpointing=args.gc,
|
| 148 |
push_to_hub=False,
|
| 149 |
hub_model_id=args.output,
|
| 150 |
)
|