| 1280 | } |
| 1281 | |
| 1282 | static void train_print_usage(int argc, char ** argv, const struct train_params * params) { |
| 1283 | fprintf(stderr, "usage: %s [options]\n", argv[0]); |
| 1284 | fprintf(stderr, "\n"); |
| 1285 | fprintf(stderr, "options:\n"); |
| 1286 | fprintf(stderr, " -h, --help show this help message and exit\n"); |
| 1287 | |
| 1288 | fprintf(stderr, " --model-base FNAME model path from which to load base model (default '%s')\n", params->fn_model_base); |
| 1289 | fprintf(stderr, " --lora-out FNAME path to save llama lora (default '%s')\n", params->fn_lora_out); |
| 1290 | fprintf(stderr, " --only-write-lora only save llama lora, don't do any training. use this if you only want to convert a checkpoint to a lora adapter.\n"); |
| 1291 | fprintf(stderr, " --norm-rms-eps F RMS-Norm epsilon value (default %f)\n", params->f_norm_rms_eps); |
| 1292 | fprintf(stderr, " --rope-freq-base F Frequency base for ROPE (default %f)\n", params->rope_freq_base); |
| 1293 | fprintf(stderr, " --rope-freq-scale F Frequency scale for ROPE (default %f)\n", params->rope_freq_scale); |
| 1294 | fprintf(stderr, " --lora-alpha N LORA alpha : resulting LORA scaling is alpha/r. (default %d)\n", params->lora_alpha); |
| 1295 | fprintf(stderr, " --lora-r N LORA r: default rank. Also specifies resulting scaling together with lora-alpha. (default %d)\n", params->lora_r); |
| 1296 | fprintf(stderr, " --rank-att-norm N LORA rank for attention norm tensor, overrides default rank. Norm tensors should generally have rank 1.\n"); |
| 1297 | fprintf(stderr, " --rank-ffn-norm N LORA rank for feed-forward norm tensor, overrides default rank. Norm tensors should generally have rank 1.\n"); |
| 1298 | fprintf(stderr, " --rank-out-norm N LORA rank for output norm tensor, overrides default rank. Norm tensors should generally have rank 1.\n"); |
| 1299 | fprintf(stderr, " --rank-tok-embd N LORA rank for token embeddings tensor, overrides default rank.\n"); |
| 1300 | fprintf(stderr, " --rank-out N LORA rank for output tensor, overrides default rank.\n"); |
| 1301 | fprintf(stderr, " --rank-wq N LORA rank for wq tensor, overrides default rank.\n"); |
| 1302 | fprintf(stderr, " --rank-wk N LORA rank for wk tensor, overrides default rank.\n"); |
| 1303 | fprintf(stderr, " --rank-wv N LORA rank for wv tensor, overrides default rank.\n"); |
| 1304 | fprintf(stderr, " --rank-wo N LORA rank for wo tensor, overrides default rank.\n"); |
| 1305 | fprintf(stderr, " --rank-w1 N LORA rank for w1 tensor, overrides default rank.\n"); |
| 1306 | fprintf(stderr, " --rank-w2 N LORA rank for w2 tensor, overrides default rank.\n"); |
| 1307 | fprintf(stderr, " --rank-w3 N LORA rank for w3 tensor, overrides default rank.\n"); |
| 1308 | |
| 1309 | print_common_train_usage(argc, argv, ¶ms->common); |
| 1310 | } |
| 1311 | |
| 1312 | static bool train_params_parse(int argc, char ** argv, struct train_params * params) { |
| 1313 | bool invalid_param = false; |
no test coverage detected