| --output-dir OUTPUT_DIR | 输出目录,用于保存模型预测结果和检查点。默认 'trainer_output'。 | None |
| --overwrite-output-dir [OVERWRITE_OUTPUT_DIR] | 是否覆盖输出目录内容。用于在输出目录指向检查点时继续训练。 | FALSE |
| --do-train [DO_TRAIN] | 是否执行训练。 | FALSE |
| --do-eval [DO_EVAL] | 是否在开发集上执行评估。 | FALSE |
| --do-predict [DO_PREDICT] | 是否在测试集上执行预测。 | FALSE |
| --eval-strategy {no,steps,epoch} | 评估策略。 | no |
| --prediction-loss-only [PREDICTION_LOSS_ONLY] | 仅返回损失值。 | FALSE |
| --per-device-train-batch-size PER_DEVICE_TRAIN_BATCH_SIZE | 每个设备/CPU 核心的训练批量大小。 | 8 |
| --per-device-eval-batch-size PER_DEVICE_EVAL_BATCH_SIZE | 每个设备/CPU 核心的评估批量大小。 | 8 |
| --per-gpu-train-batch-size PER_GPU_TRAIN_BATCH_SIZE | 已废弃,推荐使用 --per_device_train_batch_size。 | None |
| --per-gpu-eval-batch-size PER_GPU_EVAL_BATCH_SIZE | 已废弃,推荐使用 --per_device_eval_batch_size。 | None |
| --gradient-accumulation-steps GRADIENT_ACCUMULATION_STEPS | 在执行反向传播/更新前累积的更新步数。 | 1 |
| --eval-accumulation-steps EVAL_ACCUMULATION_STEPS | 在将张量移动到 CPU 前累积的预测步数。 | None |
| --eval-delay EVAL_DELAY | 等待多少 epoch 或 step 后开始第一次评估,取决于 eval_strategy。 | 0 |
| --torch-empty-cache-steps TORCH_EMPTY_CACHE_STEPS | 调用 torch.empty_cache() 前等待的步数,可降低显存峰值,代价约 10% 性能。 | None |
| --learning-rate LEARNING_RATE | AdamW 优化器初始学习率。 | 5.00E-05 |
| --weight-decay WEIGHT_DECAY | AdamW 权重衰减。 | 0 |
| --adam-beta1 ADAM_BETA1 | AdamW 优化器 Beta1 参数。 | 0.9 |
| --adam-beta2 ADAM_BETA2 | AdamW 优化器 Beta2 参数。 | 0.999 |
| --adam-epsilon ADAM_EPSILON | AdamW 优化器 epsilon 参数。 | 1.00E-08 |
| --max-grad-norm MAX_GRAD_NORM | 最大梯度范数。 | 1 |
| --num-train-epochs NUM_TRAIN_EPOCHS | 总训练轮数。 | 3 |
| -max-steps MAX_STEPS | 若大于 0,则覆盖总训练步数,覆盖 num_train_epochs。 | -1 |
| --lr-scheduler-type {...} | 学习率调度器类型。 | linear |
| --lr-scheduler-kwargs LR_SCHEDULER_KWARGS | 调度器额外参数,例如 {'num_cycles': 1} 用于余弦重启。 | {} |
| --warmup-ratio WARMUP_RATIO | 总步数的线性预热比例。 | 0 |
| --warmup-steps WARMUP_STEPS | 线性预热步数。 | 0 |
| --log-level {...} | 主节点日志等级,可选:detail, debug, info, warning, error, critical, passive。 | passive |
| --log-level-replica {...} | 副本节点日志等级,同主节点选项。 | warning |
| --log-on-each-node [LOG_ON_EACH_NODE] | 多节点训练时,每节点是否都记录日志。 | TRUE |
| --no-log-on-each-node | 多节点训练时,仅主节点记录日志。 | FALSE |
| --logging-dir LOGGING_DIR | Tensorboard 日志目录。 | None |
| --logging-strategy {no,steps,epoch} | 日志记录策略。 | steps |
| --logging-first-step [LOGGING_FIRST_STEP] | 记录第一次 global_step。 | FALSE |
| --logging-steps LOGGING_STEPS | 每隔多少步记录一次日志。<1 表示比例。 | 500 |
| --logging-nan-inf-filter [LOGGING_NAN_INF_FILTER] | 过滤 NaN 和 Inf 损失。 | TRUE |
| --no-logging-nan-inf-filter | 不过滤 NaN 和 Inf 损失。 | FALSE |
| --save-strategy {no,steps,epoch,best} | 检查点保存策略。 | steps |
| --save-steps SAVE_STEPS | 每隔多少步保存检查点。<1 表示比例。 | 500 |
| --save-total-limit SAVE_TOTAL_LIMIT | 限制检查点总数,旧检查点将被删除。 | None |
| --save-safetensors [SAVE_SAFETENSORS] | 使用 safetensors 保存/加载 state_dict。 | TRUE |
| --no-save-safetensors | 不使用 safetensors 保存/加载。 | FALSE |
| --save-on-each-node [SAVE_ON_EACH_NODE] | 多节点训练时,每节点是否保存模型和检查点。 | FALSE |
| --save-only-model [SAVE_ONLY_MODEL] | 保存检查点时,只保存模型本身,不保存优化器、调度器和 RNG 状态。开启后无法从检查点恢复训练,只能用 from_pretrained 加载模型。 | FALSE |
| --restore-callback-states-from-checkpoint [RESTORE_CALLBACK_STATES_FROM_CHECKPOINT] | 是否从检查点恢复回调状态,如果 True,将覆盖 Trainer 中已存在的回调。 | FALSE |
| --no-cuda [NO_CUDA] | 已弃用参数,未来版本将移除。 | FALSE |
| --use-cpu [USE_CPU] | 是否使用 CPU。False 时使用可用的 Torch 设备(CUDA/MPS/XPU/HPU 等)。 | FALSE |
| --use-mps-device [USE_MPS_DEVICE] | 已弃用参数,MPS 设备会自动使用。 | FALSE |
| --seed SEED | 设置训练开始时的随机种子。 | 42 |
| --data-seed DATA_SEED | 数据采样器使用的随机种子。 | None |
| --jit-mode-eval [JIT_MODE_EVAL] | 是否在推理时使用 PyTorch JIT trace。 | FALSE |
| --use-ipex [USE_IPEX] | 是否使用 Intel PyTorch 扩展。 | FALSE |
| --bf16 [BF16] | 是否使用 bf16(混合精度)代替 32-bit,需要 Ampere 及以上 GPU 或 CPU/Ascend NPU。 | FALSE |
| --fp16 [FP16] | 是否使用 fp16(混合精度)代替 32-bit。 | FALSE |
| --fp16-opt-level FP16_OPT_LEVEL | fp16 的 Apex AMP 优化等级,选项:O0/O1/O2/O3。 | O1 |
| --half_precision_backend {auto,apex,cpu_amp} | 半精度运算使用的后端。 | auto |
| --bf16-full-eval [BF16_FULL_EVAL] | 是否使用全 bf16 评估代替 32-bit。 | FALSE |
| --fp16-full-eval [FP16_FULL_EVAL] | 是否使用全 fp16 评估代替 32-bit。 | FALSE |
| --tf32 TF32 | 是否启用 tf32 模式(仅 Ampere 及以上 GPU)。 | None |
| --local-rank LOCAL_RANK | 分布式训练的 local_rank。 | -1 |
| --ddp_backend {nccl,gloo,mpi,ccl,hccl,cncl,mccl} | 分布式训练使用的后端。 | None |
| --tpu-num-cores TPU_NUM_CORES | TPU 核心数(由启动脚本自动传递)。 | None |
| --tpu-metrics-debug [TPU_METRICS_DEBUG] | 已弃用,建议使用 --debug tpu_metrics_debug。 | FALSE |
| --debug DEBUG [DEBUG ...] | 是否启用调试模式,可选:underflow_overflow、tpu_metrics_debug。 | None |
| --dataloader-drop-last [DATALOADER_DROP_LAST] | 如果批次不能整除,是否丢弃最后一个不完整批次。 | FALSE |
| --eval-steps EVAL_STEPS | 每隔多少步执行一次评估,可为整数或小于 1 的比例值。 | None |
| --dataloader-num-workers DATALOADER_NUM_WORKERS | 数据加载子进程数量,0 表示在主进程加载。 | 0 |
| --dataloader-prefetch-factor DATALOADER_PREFETCH_FACTOR | 每个 worker 预取的批次数量。PyTorch <2.0 默认 2,否则 None。 | None |
| --past_index PAST_INDEX, –past-index PAST_INDEX | >=0 时使用输出的对应部分作为下一步的 past state。 | -1 |
| --run-name RUN_NAME | 可选的训练描述,用于 wandb、mlflow 等日志记录。 | None |
| --disable-tqdm DISABLE_TQDM | 是否禁用 tqdm 进度条。 | None |
| --remove-unused-columns [REMOVE_UNUSED_COLUMNS] | 是否移除模型不需要的列(使用 nlp.Dataset 时)。 | TRUE |
| --no-remove-unused-columns | 是否不移除模型不需要的列(使用 nlp.Dataset 时)。 | FALSE |
| --label-names LABEL_NAMES [LABEL_NAMES ...] | 输入字典中对应标签的 key 列表。 | None |
| --load-best-model-at-end [LOAD_BEST_MODEL_AT_END] | 是否在训练结束时加载表现最好的模型。 | FALSE |
| --metric-for-best-model METRIC_FOR_BEST_MODEL | 比较不同模型的指标名称。 | None |
| --greater-is-better GREATER_IS_BETTER | 指标是否越大越好。 | None |
| --ignore-data-skip [IGNORE_DATA_SKIP] | 恢复训练时是否跳过已训练的数据。 | FALSE |
| --fsdp FSDP | 是否使用 PyTorch Fully Sharded Data Parallel (FSDP) 分布式训练,可配置 offload 或 auto_wrap。 | 空 |
| --fsdp-min-num-params FSDP_MIN_NUM_PARAMS | FSDP 最小参数数量(已弃用)。 | 0 |
| --fsdp-config FSDP_CONFIG | FSDP 配置,可为 JSON 文件路径或 dict。 | None |
| --tp-size TP_SIZE | 启用张量并行,需模型支持 base_tp_plan,大于 1 激活 TP。 | 0 |
| --fsdp-transformer-layer-cls-to-wrap FSDP_TRANSFORMER_LAYER_CLS_TO_WRAP | 已弃用,指定 Transformer 层类名进行包裹(如 BertLayer)。 | None |
| --accelerator-config ACCELERATOR_CONFIG | 初始化 Accelerator 对象的配置,可为 JSON 文件或 dict。 | None |
| --deepspeed DEEPSPEED | 启用 DeepSpeed,并传入 JSON 配置文件或 dict。 | None |
| --label-smoothing-factor LABEL_SMOOTHING_FACTOR | 标签平滑 epsilon,0 表示不使用。 | 0 |
| --optim {adamw_torch,…} | 使用的优化器,可选列表非常多(如 adamw_torch、adafactor、lion_8bit 等)。 | adamw_torch |
| --optim-args OPTIM_ARGS | 优化器可选参数。 | None |
| --adafactor [ADAFACTOR] | 是否用 Adafactor 替代 AdamW。 | FALSE |
| --group-by-length [GROUP_BY_LENGTH] | 是否按样本长度分组批次。 | FALSE |
| --length-column-name LENGTH_COLUMN_NAME | 按长度分组时使用的列名。 | length |
| --report-to REPORT_TO | 日志和结果上报平台列表。 | None |
| --ddp-find-unused-parameters DDP_FIND_UNUSED_PARAMETERS | 分布式训练中 DistributedDataParallel 的 find_unused_parameters 值。 | None |
| --ddp-bucket-cap-mb DDP_BUCKET_CAP_MB | 分布式训练中 DistributedDataParallel 的 bucket_cap_mb 值。 | None |
| --ddp-broadcast-buffers DDP_BROADCAST_BUFFERS | 分布式训练中 DistributedDataParallel 的 broadcast_buffers 值。 | None |
| --dataloader-pin-memory [DATALOADER_PIN_MEMORY] | DataLoader 是否固定内存。 | TRUE |
| --no-dataloader-pin-memory | DataLoader 是否不固定内存。 | FALSE |
| --dataloader-persistent-workers [DATALOADER_PERSISTENT_WORKERS] | True 时数据加载器在数据集消耗后不关闭 worker。 | FALSE |
| --skip-memory-metrics [SKIP_MEMORY_METRICS] | 是否跳过内存指标统计。 | TRUE |
| --no-skip-memory-metrics | 是否不跳过内存指标统计。 | FALSE |
| --use-legacy-prediction-loop [USE_LEGACY_PREDICTION_LOOP] | 是否使用旧版 Trainer prediction_loop。 | FALSE |
| --push-to-hub [PUSH_TO_HUB] | 是否训练后上传模型到 Hugging Face Hub。 | FALSE |
| --resume-from-checkpoint RESUME_FROM_CHECKPOINT | 模型有效检查点路径,用于恢复训练。 | None |
| --hub-model-id HUB_MODEL_ID | 与本地 output_dir 同步的仓库名。 | None |
| --hub-strategy {end,every_save,checkpoint,all_checkpoints} | push_to_hub 启用时的策略。 | every_save |
| --hub-token HUB_TOKEN | 推送 Hub 使用的 token。 | None |
| --hub-private-repo HUB_PRIVATE_REPO | 是否将仓库设为私有。 | None |
| --hub-always-push [HUB_ALWAYS_PUSH] | 是否总是推送,即使上一次推送未完成。 | FALSE |
| --gradient-checkpointing [GRADIENT_CHECKPOINTING] | 是否使用梯度检查点以节省内存,代价是反向速度变慢。 | FALSE |
| --gradient-checkpointing-kwargs GRADIENT_CHECKPOINTING_KWARGS | 传给 torch.utils.checkpoint.checkpoint 的关键字参数。 | None |
| --include-inputs-for-metrics [INCLUDE_INPUTS_FOR_METRICS] | 已弃用,建议使用 include_for_metrics。 | FALSE |
| --include-for-metrics INCLUDE_FOR_METRICS [INCLUDE_FOR_METRICS ...] | compute_metrics 中包含额外数据选项,如 'inputs'、'loss'。 | [] |
| --eval-do-concat-batches [EVAL_DO_CONCAT_BATCHES] | 是否在评估时递归拼接批次数据。 | TRUE |
| --no-eval-do-concat-batches | 是否不拼接批次数据。 | FALSE |
| --fp16_backend {auto,apex,cpu_amp} | 已弃用,使用 half_precision_backend 替代。 | auto |
| --push-to-hub-model-id PUSH_TO_HUB_MODEL_ID | Trainer 推送仓库名称。 | None |
| --push-to-hub-organization PUSH_TO_HUB_ORGANIZATION | 推送仓库所属组织名。 | None |
| --push-to-hub-token PUSH_TO_HUB_TOKEN | 推送 Hub 使用的 token。 | None |
| --mp-parameters MP_PARAMETERS | SageMaker 特定参数,Trainer 忽略。 | 空 |
| --auto-find-batch-size [AUTO_FIND_BATCH_SIZE] | CUDA OOM 时自动减半批次重跑训练循环。 | FALSE |
| --full-determinism [FULL_DETERMINISM] | 分布式训练时启用完全确定性,会降低性能,仅用于调试。 | FALSE |
| --torchdynamo TORCHDYNAMO | 已弃用,使用 --torch_compile_backend 替代。 | None |
| --ray-scope RAY_SCOPE | Ray 超参数搜索范围,默认 last。 | last |
| --ddp-timeout DDP_TIMEOUT | 覆盖分布式训练超时时间(秒)。 | 1800 |
| --torch-compile [TORCH_COMPILE] | 是否用 torch.compile 包装模型。 | FALSE |
| --torch-compile-backend TORCH_COMPILE_BACKEND | torch.compile 使用的后端,传入后触发编译。 | None |
| --torch-compile-mode TORCH_COMPILE_MODE | torch.compile 使用的模式,传入后触发编译。 | None |
| --include-tokens-per-second [INCLUDE_TOKENS_PER_SECOND] | 是否在速度指标中包含 tps(每设备每秒 token 数)。 | FALSE |
| --include-num-input-tokens-seen [INCLUDE_NUM_INPUT_TOKENS_SEEN] | 是否统计训练中看到的输入 token 数。 | FALSE |
| --neftune-noise-alpha NEFTUNE_NOISE_ALPHA | 启用 NEFTune 噪声嵌入,用于 instruction fine-tuning,仅支持 PreTrainedModel 与 PeftModel。 | None |
| --optim-target-modules OPTIM_TARGET_MODULES | 优化器目标模块,仅 GaLore 优化器使用。 | None |
| --batch-eval-metrics [BATCH_EVAL_METRICS] | 分批计算评估指标以节省内存。 | FALSE |
| --eval-on-start [EVAL_ON_START] | 是否在训练开始前先完整运行一次评估步骤,用作 sanity check。 | FALSE |
| --use-liger-kernel [USE_LIGER_KERNEL] | 是否启用 Liger Kernel 来加速模型训练。 | FALSE |
| --eval-use-gather-object [EVAL_USE_GATHER_OBJECT] | 是否在评估时递归收集来自所有设备的对象,用于 nested list/tuple/dict。 | FALSE |
| --average-tokens-across-devices [AVERAGE_TOKENS_ACROSS_DEVICES] | 是否在多设备训练中对 token 数量取平均,用于精确计算 loss。 | FALSE |
| --sortish-sampler [SORTISH_SAMPLER] | 是否使用 SortishSampler 进行数据采样。 | FALSE |
| --predict-with-generate [PREDICT_WITH_GENERATE] | 是否使用 generate 方法计算生成类指标(如 ROUGE、BLEU)。 | FALSE |
| --generation-max-length GENERATION_MAX_LENGTH | 当 predict_with_generate=True 时,评估循环中使用的最大生成长度。 | None |
| --generation-num-beams GENERATION_NUM_BEAMS | 当 predict_with_generate=True 时使用的 beam 数量。 | None |
| --generation-config GENERATION_CONFIG | 指向 GenerationConfig JSON 文件的路径、URL 或模型 ID,用于预测。 | None |
| --ray-run-name RAY_RUN_NAME | Ray 训练结果保存目录名 <ray_storage_path>/ray_run_name。 | None |
| --ray-storage-path RAY_STORAGE_PATH | Ray 训练结果存储路径。 | ./saves |
| --ray-storage-filesystem {s3,gs,gcs} | Ray 训练使用的存储文件系统,未指定则使用本地文件系统。 | None |
| --ray-num-workers RAY_NUM_WORKERS | Ray 训练使用的 worker 数量。 | 1 |
| --resources-per-worker RESOURCES_PER_WORKER | 每个 Ray worker 分配的资源。 | {'GPU': 1} |
| --placement-strategy {SPREAD,PACK,STRICT_SPREAD,STRICT_PACK} | Ray 训练的资源调度策略。 | PACK |
| --ray-init-kwargs RAY_INIT_KWARGS | 传递给 ray.init 的参数。 | None |
| --freeze_trainable_layers FREEZE_TRAINABLE_LAYERS | 冻结微调时可训练的层数。正数表示最后 n 层可训练,负数表示前 n 层可训练。 | 2 |
| --freeze_trainable_modules FREEZE_TRAINABLE_MODULES | 冻结微调时可训练的模块名称,可用逗号分隔多个模块,使用 all 表示所有模块。 | all |
| --freeze_extra_modules FREEZE_EXTRA_MODULES | 除隐藏层外额外设置为可训练的模块名称,可用逗号分隔。 | None |
| --additional-target ADDITIONAL_TARGET | 除 LoRA 层外要设置为可训练并保存到最终 checkpoint 的模块名称,可用逗号分隔。 | None |
| --lora-alpha LORA_ALPHA | LoRA 微调的缩放系数,默认值为 lora_rank * 2。 | None |
| --lora-dropout LORA_DROPOUT | LoRA 微调的 dropout 比例。 | 0 |
| --lora-rank LORA_RANK | LoRA 微调的内在维度。 | 8 |
| --lora-target LORA_TARGET | 要应用 LoRA 的目标模块名称,可用逗号分隔,all 表示所有线性模块。 | all |
| --loraplus-lr-ratio LORAPLUS_LR_RATIO | LoRA plus 学习率比例(lr_B / lr_A)。 | None |
| --loraplus-lr-embedding LORAPLUS_LR_EMBEDDING | LoRA plus embedding 层学习率。 | 1.00E-06 |
| --use-rslora [USE_RSLORA] | 是否使用 rank stabilization 缩放因子。 | FALSE |
| --use-dora [USE_DORA] | 是否使用权重分解 LoRA 方法(DoRA)。 | FALSE |
| --pissa-init [PISSA_INIT] | 是否初始化 PiSSA adapter。 | FALSE |
| --pissa-iter PISSA_ITER | PiSSA FSVD 执行的迭代步数,-1 表示禁用。 | 16 |
| --pissa-convert [PISSA_CONVERT] | 是否将 PiSSA adapter 转换为普通 LoRA adapter。 | FALSE |
| --create-new-adapter [CREATE_NEW_ADAPTER] | 是否创建带随机初始化权重的新 adapter。 | FALSE |
| --pref-beta PREF_BETA | Preference loss 的 beta 参数。 | 0.1 |
| --pref-ftx PREF_FTX | DPO 训练中监督微调损失系数。 | 0 |
| --pref-loss {sigmoid,hinge,ipo,kto_pair,orpo,simpo} | DPO 损失类型。 | sigmoid |
| --dpo-label-smoothing DPO_LABEL_SMOOTHING | cDPO 中的鲁棒标签平滑参数,范围 0~0.5。 | 0 |
| --kto-chosen-weight KTO_CHOSEN_WEIGHT | KTO 训练中理想样本损失的权重。 | 1 |
| --kto-rejected-weight KTO_REJECTED_WEIGHT | KTO 训练中不理想样本损失的权重。 | 1 |
| --simpo-gamma SIMPO_GAMMA | SimPO 损失的目标 reward margin。 | 0.5 |
| --ppo-buffer-size PPO_BUFFER_SIZE | PPO 优化步骤中 mini-batch 的经验缓冲数量。 | 1 |
| --ppo-epochs PPO_EPOCHS | PPO 优化步骤的 epoch 数量。 | 4 |
| --ppo-score-norm [PPO_SCORE_NORM] | 是否在 PPO 训练中使用 score normalization。 | FALSE |
| --ppo-target PPO_TARGET | PPO 自适应 KL 控制的目标 KL 值。 | 6 |
| --ppo-whiten-rewards [PPO_WHITEN_REWARDS] | 是否在 PPO 训练中对 reward 做 whitening。 | FALSE |
| --ref-model REF_MODEL | PPO 或 DPO 训练中使用的参考模型路径。 | None |
| --ref-model-adapters REF_MODEL_ADAPTERS | 参考模型的 adapter 路径。 | None |
| --ref-model-quantization-bit REF_MODEL_QUANTIZATION_BIT | 参考模型量化的 bit 数。 | None |
| --reward-model REWARD_MODEL | PPO 训练中使用的 reward model 路径。 | None |
| --reward-model-adapters REWARD_MODEL_ADAPTERS | Reward model 的 adapter 路径。 | None |
| --reward-model-quantization-bit REWARD_MODEL_QUANTIZATION_BIT | Reward model 的量化 bit 数。 | None |
| --reward-model-type {lora,full,api} | PPO 训练中 reward model 的类型,LoRA 模型仅支持 LoRA 训练。 | lora |
| --ld-alpha LD_ALPHA | LD-DPO 论文中的 alpha 参数,控制响应中 verbose token log-probabilities 的权重。 | None |
| --use-galore [USE_GALORE] | 是否使用梯度低秩投影(GaLore)。 | FALSE |
| --galore-target GALORE_TARGET | 应用 GaLore 的模块名称,可用逗号分隔,all 表示所有线性模块。 | all |
| --galore-rank GALORE_RANK | GaLore 梯度的秩。 | 16 |
| --galore-update-interval GALORE_UPDATE_INTERVAL | 更新 GaLore 投影的步数间隔。 | 200 |
| --galore-scale GALORE_SCALE | GaLore 缩放系数。 | 2 |
| --galore-proj-type {std,reverse_std,right,left,full} | GaLore 投影类型。 | std |
| --galore-layerwise [GALORE_LAYERWISE] | 是否启用按层更新以节省内存。 | FALSE |
| --use-apollo [USE_APOLLO] | 是否使用 APOLLO 优化器。 | FALSE |
| --apollo-target APOLLO_TARGET | 应用 APOLLO 的模块名称,可用逗号分隔,all 表示所有线性模块。 | all |
| --apollo-rank APOLLO_RANK | APOLLO 梯度的秩。 | 16 |
| --apollo-update-interval APOLLO_UPDATE_INTERVAL | 更新 APOLLO 投影的步数间隔。 | 200 |
| --apollo-scale APOLLO_SCALE | APOLLO 缩放系数。 | 32 |
| --apollo-proj {svd,random} | APOLLO 低秩投影算法类型(svd 或 random)。 | random |
| --apollo-proj-type {std,right,left} | APOLLO 投影类型。 | std |
| --apollo-scale-type {channel,tensor} | APOLLO 缩放类型(按 channel 或 tensor)。 | channel |
| --apollo-layerwise [APOLLO_LAYERWISE] | 是否启用按层更新以节省内存。 | FALSE |
| --apollo-scale-front [APOLLO_SCALE_FRONT] | 是否在梯度缩放前使用 norm-growth 限制器。 | FALSE |
| --use-badam [USE_BADAM] | 是否使用 BAdam 优化器。 | FALSE |
| --badam-mode {layer,ratio} | 使用按层或按比例的 BAdam 优化策略。 | layer |
| --badam-start-block BADAM_START_BLOCK | 按层 BAdam 的起始 block 索引。 | None |
| --badam-switch-mode {ascending,descending,random,fixed} | 按层 BAdam 更新 block 的策略。 | ascending |
| --badam-switch-interval BADAM_SWITCH_INTERVAL | 按层 BAdam 更新 block 的步数间隔,-1 表示禁用。 | 50 |
| --badam-update-ratio BADAM_UPDATE_RATIO | 按比例 BAdam 的更新比例。 | 0.05 |
| --badam-mask-mode {adjacent,scatter} | BAdam 掩码模式,adjacent 表示可训练参数相邻,scatter 表示随机选择。 | adjacent |
| --badam-verbose BADAM_VERBOSE | BAdam 优化器的输出等级,0=不打印,1=打印 block 前缀,2=打印可训练参数。 | 0 |
| --use-swanlab [USE_SWANLAB] | 是否使用 SwanLab 实验追踪与可视化工具。 | FALSE |
| --swanlab-project SWANLAB_PROJECT | SwanLab 项目名称。 | llamafactory |
| --swanlab-workspace SWANLAB_WORKSPACE | SwanLab workspace 名称。 | None |
| --swanlab-run-name SWANLAB_RUN_NAME | SwanLab 实验名称。 | None |
| --swanlab-mode {cloud,local} | SwanLab 模式。 | cloud |
| --swanlab-api-key SWANLAB_API_KEY | SwanLab API key。 | None |
| --swanlab-logdir SWANLAB_LOGDIR | SwanLab 日志目录。 | None |
| --swanlab-lark-webhook-url SWANLAB_LARK_WEBHOOK_URL | SwanLab 飞书 Webhook URL。 | None |
| --swanlab-lark-secret SWANLAB_LARK_SECRET | SwanLab 飞书 secret。 | None |
| --pure-bf16 [PURE_BF16] | 是否使用纯 bf16 精度训练(不使用 AMP)。 | FALSE |
| --stage {pt,sft,rm,ppo,dpo,kto} | 训练阶段选择。 | sft |
| --finetuning-type {lora,freeze,full} | 微调方式选择。 | lora |
| --use-llama-pro [USE_LLAMA_PRO] | 是否仅训练扩展 block 的参数。 | FALSE |
| --use-adam-mini [USE_ADAM_MINI] | 是否使用 Adam-mini 优化器。 | FALSE |
| --use-muon [USE_MUON] | 是否使用 Muon 优化器。 | FALSE |
| --freeze-vision-tower [FREEZE_VISION_TOWER] | 是否冻结 MLLM 训练中的 vision tower。 | TRUE |
| --no-freeze-vision-tower | 取消冻结 vision tower。 | FALSE |
| --freeze-multi-modal-projector [FREEZE_MULTI_MODAL_PROJECTOR] | 是否冻结 MLLM 的 multi-modal projector。 | TRUE |
| --no-freeze-multi-modal-projector | 取消冻结 multi-modal projector。 | FALSE |
| --freeze-language-model [FREEZE_LANGUAGE_MODEL] | 是否冻结 MLLM 的语言模型。 | FALSE |
| --compute-accuracy [COMPUTE_ACCURACY] | 是否在评估时计算 token 级准确率。 | FALSE |
| --disable-shuffling [DISABLE_SHUFFLING] | 是否禁用训练集打乱。 | FALSE |
| --early-stopping-steps EARLY_STOPPING_STEPS | metric_for_best_model 不再提升时停止训练的步数。 | None |
| --plot-loss [PLOT_LOSS] | 是否保存训练 loss 曲线。 | FALSE |
| --include-effective-tokens-per-second [INCLUDE_EFFECTIVE_TOKENS_PER_SECOND] | 是否计算每秒有效 token 数。 | FALSE |
| --do-sample [DO_SAMPLE] | 是否使用采样,否则使用贪心解码。 | TRUE |
| --no-do-sample | 禁用采样,使用贪心解码。 | FALSE |
| --temperature TEMPERATURE | 调节下一个 token 概率的温度值。 | 0.95 |
| --top-p TOP_P | top-p 采样保留概率和至少为 top_p 的 token 集。 | 0.7 |
| --top-k TOP_K | top-k 采样保留概率最高的 token 数量。 | 50 |
| --num-beams NUM_BEAMS | Beam search 的 beam 数量,1 表示不使用 beam search。 | 1 |
| --max-length MAX_LENGTH | 生成 token 的最大长度,可被 max_new_tokens 覆盖。 | 1024 |
| --max-new-tokens MAX_NEW_TOKENS | 生成的最大 token 数,忽略 prompt 中的 token 数。 | 1024 |
| --repetition-penalty REPETITION_PENALTY | 重复惩罚参数,1.0 表示无惩罚。 | 1 |
| --length-penalty LENGTH_PENALTY | Beam search 中用于长度的指数惩罚。 | 1 |
| --skip-special-tokens [SKIP_SPECIAL_TOKENS] | 是否在解码时去除特殊 token。 | TRUE |
| --no-skip-special-tokens | 保留特殊 token,不去除。 | FALSE |