LLaMA-Factory 快速入门(四):命令参数汇总(train、chat、eval、export等)

1. 引言

LLaMa-Factory 命令行的参数接近600个,博主整理了所有参数的含义,方便大家快速查询。

2. 参数汇总

通过help命令,可以看到LLaMa-Factory支持如下的命令:

---------------------------------------------------------------------- | Usage: || llamafactory-cli api -h: launch an OpenAI-style API server || llamafactory-cli chat -h: launch a chat interface in CLI || llamafactory-cli eval -h: evaluate models || llamafactory-cli export -h: merge LoRA adapters and export model || llamafactory-cli train -h: train models || llamafactory-cli webchat -h: launch a chat interface in Web UI || llamafactory-cli webui: launch LlamaBoard || llamafactory-cli version: show version info | ---------------------------------------------------------------------- 

接下来,整理每个命令的参数,主要分为几类:

  • 通用参数(指:chat/webchat/api/export/eval/train支持的参数)
  • eval、train除外的参数(指:chat/webchat/api/export支持的参数)
  • eval参数(指:eval支持的参数)
  • train参数(指:train支持的参数)

2.1 通用参数

通用参数指的是 chat/webchat/api/export/eval/train 支持的参数,内容如下:

命令描述默认值
–model_name_or_path模型权重路径或 Hugging Face / ModelScope 模型标识None
–adapter_name_or_pathAdapter 权重路径或 Hugging Face 模型标识,可用逗号分隔多个 AdapterNone
–adapter_folder存放 Adapter 权重的文件夹None
–cache_dir下载的预训练模型缓存目录None
–use_fast_tokenizer是否使用 fast tokenizer(基于 tokenizers 库)TRUE
–no_use_fast_tokenizer不使用 fast tokenizerFALSE
–resize_vocab是否调整 tokenizer 词表及 embedding 层FALSE
–split_special_tokens是否在分词时拆分特殊 tokenFALSE
–add_tokens添加非特殊 token,可用逗号分隔None
–add_special_tokens添加特殊 token,可用逗号分隔None
–model_revision使用的模型版本(分支名、tag 或 commit id)main
–low_cpu_mem_usage是否使用内存高效加载模型TRUE
–no_low_cpu_mem_usage不使用内存高效加载模型FALSE
–rope_scalingRoPE embedding 的缩放策略,可选 linear/dynamic/yarn/llama3None
–flash_attn启用 FlashAttention 加速训练和推理,可选 auto/disabled/sdpa/fa2AttentionFunction.AUTO
–shift_attn启用 LongLoRA 提出的 shift short attention (S²-Attn)FALSE
–mixture_of_depths将模型转换为 MoD 或加载 MoD 模型,可选 convert/loadNone
–use_unsloth是否使用 unsloth 优化 LoRA 训练FALSE
–use_unsloth_gc是否使用 unsloth 梯度检查点(无需安装 unsloth)FALSE
–enable_liger_kernel是否启用 liger kernel 加速训练FALSE
–moe_aux_loss_coefMoE 模型中辅助路由损失系数None
–disable_gradient_checkpointing是否禁用梯度检查点FALSE
–use_reentrant_gc是否使用可重入梯度检查点TRUE
–no_use_reentrant_gc不使用可重入梯度检查点FALSE
–upcast_layernorm是否将 layernorm 权重提升为 fp32FALSE
–upcast_lmhead_output是否将 lm_head 输出提升为 fp32FALSE
–train_from_scratch是否随机初始化模型权重FALSE
–infer_backend推理使用的后端,可选 huggingface/vllm/sglangEngineName.HF
–offload_folder模型权重卸载目录offload
–use_cache推理时是否使用 KV 缓存TRUE
–no_use_cache推理时不使用 KV 缓存FALSE
–infer_dtype推理时模型权重和激活的数据类型,可选 auto/float16/bfloat16/float32auto
–hf_hub_tokenHugging Face Hub 登录认证 tokenNone
–ms_hub_tokenModelScope Hub 登录认证 tokenNone
–om_hub_tokenModelers Hub 登录认证 tokenNone
–print_param_status调试用,打印模型参数状态FALSE
–trust_remote_code是否信任从 Hub 下载的代码执行FALSE
–quantization_method在线量化方法,可选 bnb/gptq/awq/aqlm/quanto/eetq/hqq/mxfp4QuantizationMethod.BNB
–quantization_bit在线量化位数None
–quantization_typeBitsAndBytes int4 训练量化类型,可选 fp4/nf4nf4
–double_quantization是否使用双量化TRUE
–no_double_quantization不使用双量化FALSE
–quantization_device_map4-bit 量化模型设备映射,需 bitsandbytes>=0.43.0None
–image_max_pixels图像输入最大像素数589824
–image_min_pixels图像输入最小像素数1024
–image_do_pan_and_scan对 Gemma3 图像使用 pan & scanFALSE
–crop_to_patches是否裁剪图像为 patches,用于 internvlFALSE
–video_max_pixels视频输入最大像素数65536
–video_min_pixels视频输入最小像素数256
–video_fps视频采样帧率2
–video_maxlen视频最大采样帧数128
–use_audio_in_video视频输入是否使用音频FALSE
–audio_sampling_rate音频采样率16000
–export_dir模型导出目录None
–export_size模型导出分片大小(GB)5
–export_device模型导出设备,可选 cpu/autocpu
–export_quantization_bit导出模型量化位数None
–export_quantization_dataset用于导出量化的 dataset 或 dataset 名称None
–export_quantization_nsamples量化使用样本数128
–export_quantization_maxlen量化输入最大长度1024
–export_legacy_format是否保存 .bin 而非 .safetensorsFALSE
–export_hub_model_id推送至 Hugging Face hub 的仓库名None
–vllm_maxlenvLLM 引擎最大序列长度(prompt + response)4096
–vllm_gpu_utilvLLM 使用 GPU 内存比例 (0-1)0.7
–vllm_enforce_eagervLLM 是否禁用 CUDA graphFALSE
–vllm_max_lora_rankvLLM 所有 LoRA 最大 rank32
–vllm_configvLLM 引擎初始化配置,JSON 字符串None
–sglang_maxlenSGLang 引擎最大序列长度(prompt + response)4096
–sglang_mem_fractionSGLang 引擎使用内存比例 (0-1)0.7
–sglang_tp_sizeSGLang 引擎张量并行大小-1
–sglang_configSGLang 引擎初始化配置,JSON 字符串None
–sglang_lora_backendLora 模块 GEMM 内核后端,可选 triton/flashinfertriton
–template构建训练或推理 prompt 使用的模板None
–dataset训练使用的 dataset 名称,可用逗号分隔None
–eval_dataset评估使用的 dataset 名称,可用逗号分隔None
–dataset_dirdataset 文件夹路径data
–media_dir图片、视频或音频存放路径,默认使用 dataset_dirNone
–cutoff_len数据集分词输入截断长度2048
–train_on_prompt是否在训练时禁用 prompt maskFALSE
–mask_history是否只训练最后一轮,屏蔽历史FALSE
–streaming启用 dataset streamingFALSE
–buffer_sizedataset streaming 缓冲区大小16384
–mix_strategydataset 混合策略,可选 concat/interleave_under/interleave_overconcat
–interleave_probs数据采样概率,可用逗号分隔多个 datasetNone
–overwrite_cache是否覆盖缓存训练/评估集FALSE
–preprocessing_batch_size预处理每组样本数量1000
–preprocessing_num_workers预处理进程数量None
–max_samples调试用,每个 dataset 截断样本数None
–eval_num_beams评估时使用 beam 数,会传给 model.generateNone
–ignore_pad_token_for_loss是否在计算 loss 时忽略 pad tokenTRUE
–no_ignore_pad_token_for_loss计算 loss 时不忽略 pad tokenFALSE
–val_size验证集大小,可为整数或 [0,1) 浮点0
–eval_on_each_dataset是否对每个 dataset 分别评估FALSE
–packing启用训练序列 packing,预训练自动启用None
–neat_packing启用无 cross-attention 的 sequence packingFALSE
–tool_format构建 function calling 示例使用的工具格式None
–default_system覆盖模板中的默认系统信息None
–enable_thinking是否启用推理模型的思考模式TRUE
–no_enable_thinking不启用推理模型的思考模式FALSE
–tokenized_path保存或加载分词后的 dataset 路径None
–data_shared_file_system是否使用共享文件系统存储 datasetFALSE

2.2 chat/webchat/api/export 支持的参数

chat/webchat/api/export 支持的参数如下:

命令描述默认值
–freeze-trainable-layers冻结(部分参数)微调时可训练的层数。正数表示最后 n 层可训练,负数表示前 n 层可训练。2
–freeze-trainable-modules冻结微调时可训练的模块名称,多个模块用逗号分隔,使用 all 表示所有可用模块。all
–freeze-extra-modules除隐藏层外设置为可训练的模块名称,多个模块用逗号分隔。None
–additional_target除 LoRA 层外,额外设置为可训练并保存的模块名称,多个模块用逗号分隔。None
–lora_alphaLoRA 微调的缩放因子,默认值为 lora_rank * 2。None
–lora_dropoutLoRA 微调的 dropout 比例。0
–lora_rankLoRA 微调的内在维度。8
–lora_target施加 LoRA 的目标模块名称,多个模块用逗号分隔,all 表示所有线性模块。all
–loraplus_lr_ratioLoRA plus 学习率比例(lr_B / lr_A)。None
–loraplus_lr_embeddingLoRA plus 的 embedding 层学习率。1.00E-06
–use_rslora是否使用 LoRA 的秩稳定缩放因子。FALSE
–use_dora是否使用权重分解 LoRA 方法(DoRA)。FALSE
–pissa_init是否初始化 PiSSA adapter。FALSE
–pissa_iterPiSSA 中 FSVD 的迭代步数,-1 表示禁用。16
–pissa_convert是否将 PiSSA adapter 转换为普通 LoRA adapter。FALSE
–create_new_adapter是否创建新的随机初始化 adapter。FALSE
–pref_betaDPO 偏好损失中的 beta 参数。0.1
–pref_ftxDPO 训练中的监督微调损失系数。0
–pref_lossDPO 损失类型,可选:sigmoid、hinge、ipo、kto_pair、orpo、simpo。sigmoid
–dpo_label_smoothingcDPO 中的稳健标签平滑参数,范围 0~0.5。0
–kto_chosen_weightKTO 训练中期望损失的权重系数。1
–kto_rejected_weightKTO 训练中非期望损失的权重系数。1
–simpo_gammaSimPO 损失中的目标奖励边际项。0.5
–ppo_buffer_sizePPO 优化步骤中经验缓冲区的小批次数量。1
–ppo_epochsPPO 优化步骤的训练轮数。4
–ppo_score_norm是否在 PPO 训练中使用分数归一化。FALSE
–ppo_targetPPO 训练中自适应 KL 控制的目标 KL 值。6
–ppo_whiten_rewards是否在 PPO 训练中对奖励进行白化处理。FALSE
–ref_modelPPO 或 DPO 训练使用的参考模型路径。None
–ref_model_adapters参考模型的 adapter 路径。None
–ref_model_quantization_bit参考模型量化的位数。None
–reward_modelPPO 训练使用的奖励模型路径。None
–reward_model_adapters奖励模型的 adapter 路径。None
–reward_model_quantization_bit奖励模型量化的位数。None
–reward_model_typePPO 训练中奖励模型类型,可选:lora、full、api。lora
–ld_alphaLD-DPO 论文中的 alpha 参数,用于控制响应中冗余 token 的权重。None
–use_galore是否使用梯度低秩投影 GaLore。FALSE
–galore_target应用 GaLore 的模块名称,多个用逗号分隔,all 表示所有线性模块。all
–galore_rankGaLore 梯度的秩。16
–galore-update-interval更新 GaLore 投影的步数间隔。200
–galore-scaleGaLore 缩放系数。2
–galore-proj-typeGaLore 投影类型,可选:std、reverse_std、right、left、full。std
–galore-layerwise是否启用分层更新以节省内存。FALSE
–use-apollo是否使用 APOLLO 优化器。FALSE
–apollo-target应用 APOLLO 的模块名称,多个用逗号分隔,all 表示所有线性模块。all
–apollo-rankAPOLLO 梯度的秩。16
–apollo-update-interval更新 APOLLO 投影的步数间隔。200
–apollo-scaleAPOLLO 缩放系数。32
–apollo-projAPOLLO 低秩投影算法类型,可选:svd、random。random
–apollo-proj-typeAPOLLO 投影类型,可选:std、right、left。std
–apollo-scale-typeAPOLLO 缩放类型,可选:channel、tensor。channel
–apollo-layerwise是否启用分层更新以节省内存。FALSE
–apollo-scale-front是否在梯度缩放前使用范数增长限制器。FALSE
–use-badam是否使用 BAdam 优化器。FALSE
–badam-modeBAdam 使用层级或比例方式,可选:layer、ratio。layer
–badam-start-block层级 BAdam 的起始块索引。None
–badam-switch-mode层级 BAdam 的块更新策略,可选:ascending、descending、random、fixed。ascending
–badam-switch-interval更新层级 BAdam 块的步数,-1 表示禁用。50
–badam-update-ratio比例 BAdam 的更新比例。0.05
–badam-mask-modeBAdam 掩码模式,可选:adjacent、scatter。adjacent
–badam-verboseBAdam 输出级别,0:无输出,1:打印块前缀,2:打印可训练参数。0
–use-swanlab是否使用 SwanLab(实验追踪与可视化工具)。FALSE
–swanlab-projectSwanLab 项目名称。llamafactory
–swanlab-workspaceSwanLab 工作空间名称。None
–swanlab-run-nameSwanLab 实验名称。None
–swanlab-modeSwanLab 模式,可选:cloud、local。cloud
–swanlab-api-keySwanLab API key。None
–swanlab-logdirSwanLab 日志目录。None
–swanlab-lark-webhook-urlSwanLab 飞书 webhook URL。None
–swanlab-lark-secretSwanLab 飞书 secret。None
–pure-bf16是否以纯 bf16 精度训练(不使用 AMP)。FALSE
–stage训练阶段,可选:pt、sft、rm、ppo、dpo、kto。sft
–finetuning-type微调方式,可选:lora、freeze、full。lora
–use-llama-pro是否只训练扩展块内的参数。FALSE
–use-adam-mini是否使用 Adam-mini 优化器。FALSE
–use-muon是否使用 Muon 优化器。FALSE
–freeze-vision-tower是否冻结 MLLM 训练中的视觉塔。TRUE
–no-freeze-vision-tower是否不冻结视觉塔。FALSE
–freeze-multi-modal-projector是否冻结 MLLM 训练中的多模态投影器。TRUE
–no-freeze-multi-modal-projector是否不冻结多模态投影器。FALSE
–freeze-language-model是否冻结语言模型。FALSE
–compute-accuracy是否计算评估时的 token 级准确率。FALSE
–disable-shuffling是否禁用训练集的随机打乱。FALSE
–early-stopping-steps如果 metric_for_best_model 未提升,提前停止训练的步数。None
–plot-loss是否保存训练损失曲线。FALSE
–include-effective-tokens-per-second是否计算有效 token/s。FALSE
–do-sample是否使用采样生成,否则使用贪心解码。TRUE
–no-do-sample是否不使用采样生成,否则使用贪心解码。FALSE
–temperature调节下一个 token 概率的温度值。0.95
–top-p保留概率总和达到 top_p 的最小 token 集。0.7
–top-ktop-k 过滤保留的最高概率 token 数量。50
–num-beamsBeam search 的 beam 数量,1 表示不使用 beam search。1
–max-length生成 token 的最大长度,可被 max_new_tokens 覆盖。1024
–max-new-tokens生成的最大 token 数量(忽略 prompt token)。1024
–repetition-penalty重复惩罚系数,1.0 表示无惩罚。1
–length-penaltyBeam search 中的长度指数惩罚。1
–skip-special-tokens解码时是否移除特殊 token。TRUE
–no-skip-special-tokens解码时是否不移除特殊 token。FALSE

2.3 eval支持的参数

eval命令支持的参数如下:

命令描述默认值
–task评估任务名称None
–task_dir评估数据集所在文件夹路径evaluation
–batch_size每个 GPU 的评估批量大小4
–seed数据加载器使用的随机种子42
–lang评估使用的语言en
–n_shotFew-shot 学习中示例的数量5
–save_dir评估结果保存路径None
–download_mode评估数据集下载模式,可选 reuse_dataset_if_exists, reuse_cache_if_exists, force_redownloadDownloadMode.REUSE_DATASET_IF_EXISTS
–freeze_trainable_layers冻结微调时可训练层数。正数表示最后 n 层可训练,负数表示前 n 层可训练2
–freeze_trainable_modules冻结微调时可训练模块名称,可用逗号分隔,all 表示所有模块all
–freeze_extra_modules除隐藏层外额外可训练的模块名称,可逗号分隔None
–additional_target除 LoRA 层外,可训练并保存到最终 checkpoint 的模块名称,可逗号分隔None
–lora_alphaLoRA 微调的缩放因子lora_rank * 2
–lora_dropoutLoRA 微调的 dropout 率0
–lora_rankLoRA 微调的内在维度8
–lora_targetLoRA 应用的目标模块,可逗号分隔,all 表示所有线性模块all
–loraplus_lr_ratioLoRA plus 学习率比例 (lr_B / lr_A)None
–loraplus_lr_embeddingLoRA plus 学习率用于 LoRA embedding 层1.00E-06
–use_rslora是否使用 LoRA 层的秩稳定缩放因子FALSE
–use_dora是否使用权重分解 LoRA 方法 (DoRA)FALSE
–pissa_init是否初始化 PiSSA adapterFALSE
–pissa_iterPiSSA 中 FSVD 执行的迭代步数,-1 表示禁用16
–pissa_convert是否将 PiSSA adapter 转换为普通 LoRA adapterFALSE
–create_new_adapter是否创建随机初始化的新 adapterFALSE
–pref_beta偏好损失中的 beta 参数0.1
–pref_ftxDPO 训练中监督微调损失系数0
–pref_lossDPO 损失类型,可选 sigmoid, hinge, ipo, kto_pair, orpo, simposigmoid
–dpo_label_smoothingcDPO 中的标签平滑参数 (0~0.5)0
–kto_chosen_weightKTO 训练中期望损失的权重系数1
–kto_rejected_weightKTO 训练中非期望损失的权重系数1
–simpo_gammaSimPO 损失中的目标奖励边距项0.5
–ppo_buffer_sizePPO 优化步中经验缓存的 mini-batch 数1
–ppo_epochsPPO 优化步中的训练轮数4
–ppo_score_normPPO 训练中是否使用得分归一化FALSE
–ppo_targetPPO 自适应 KL 控制的目标 KL 值6
–ppo_whiten_rewardsPPO 训练中是否对奖励进行白化FALSE
–ref_modelPPO 或 DPO 训练使用的参考模型路径None
–ref_model_adapters参考模型的 adapter 路径None
–ref_model_quantization_bit参考模型量化位数None
–reward_modelPPO 训练使用的奖励模型路径None
–reward_model_adapters奖励模型的 adapter 路径None
–reward_model_quantization_bit奖励模型量化位数None
–reward_model_type奖励模型类型,可选 lora, full, apilora
–ld_alphaLD-DPO 论文中的 alpha 参数,用于控制 verbose token log-prob 权重None
–use_galore是否使用梯度低秩投影 (GaLore)FALSE
–galore_targetGaLore 应用的模块名称,可逗号分隔,all 表示所有线性模块all
–galore_rankGaLore 梯度的秩16
–galore_update_interval更新 GaLore 投影的步数200
–galore_scaleGaLore 缩放系数2
–galore_proj_typeGaLore 投影类型,可选 std, reverse_std, right, left, fullstd
–galore_layerwise是否启用按层更新以节省内存FALSE
–use_apollo是否使用 APOLLO 优化器FALSE
–apollo_targetAPOLLO 应用的模块名称,可逗号分隔,all 表示所有线性模块all
–apollo_rankAPOLLO 梯度的秩16
–apollo_update_interval更新 APOLLO 投影的步数200
–apollo_scaleAPOLLO 缩放系数32
–apollo_projAPOLLO 低秩投影算法,可选 svd, randomrandom
–apollo_proj_typeAPOLLO 投影类型,可选 std, right, leftstd
–apollo_scale_typeAPOLLO 缩放类型,可选 channel, tensorchannel
–apollo_layerwise是否启用按层更新以节省内存FALSE
–apollo_scale_front是否在梯度缩放前使用 norm-growth 限制器FALSE
–use_badam是否使用 BAdam 优化器FALSE
–badam_modeBAdam 模式,可选 layer, ratiolayer
–badam_start_blockLayer-wise BAdam 的起始块索引None
–badam_switch_modeLayer-wise BAdam 更新块策略,可选 ascending, descending, random, fixedascending
–badam_switch_intervalLayer-wise BAdam 更新块的步数,-1 表示禁用50
–badam_update_ratioRatio-wise BAdam 更新比例0.05
–badam_mask_modeBAdam 掩码模式,可选 adjacent, scatteradjacent
–badam_verboseBAdam 优化器输出等级,0 无输出,1 输出块前缀,2 输出可训练参数0
–use_swanlab是否使用 SwanLab 实验追踪与可视化工具FALSE
–swanlab_projectSwanLab 项目名称llamafactory
–swanlab_workspaceSwanLab 工作区名称None
–swanlab_run_nameSwanLab 实验名称None
–swanlab_modeSwanLab 模式,可选 cloud, localcloud
–swanlab_api_keySwanLab API keyNone
–swanlab_logdirSwanLab 日志目录None
–swanlab_lark_webhook_urlSwanLab 飞书 Webhook URLNone
–swanlab_lark_secretSwanLab 飞书 SecretNone
–pure_bf16是否在纯 bf16 精度下训练(不使用 AMP)FALSE
–stage训练阶段,可选 pt, sft, rm, ppo, dpo, ktosft
–finetuning_type微调方法,可选 lora, freeze, fulllora
–use_llama_pro是否仅让扩展块参数可训练FALSE
–use_adam_mini是否使用 Adam-mini 优化器FALSE
–use_muon是否使用 Muon 优化器FALSE
–freeze_vision_towerMLLM 训练中是否冻结视觉塔TRUE
–no_freeze_vision_towerMLLM 训练中是否不冻结视觉塔FALSE
–freeze_multi_modal_projector是否冻结多模态投影器TRUE
–no_freeze_multi_modal_projector是否不冻结多模态投影器FALSE
–freeze_language_model是否冻结语言模型FALSE
–compute_accuracy是否在评估时计算 token 级准确率FALSE
–disable_shuffling是否禁用训练集的 shuffleFALSE
–early_stopping_steps当 metric_for_best_model 不提升时,提前停止训练的步数None
–plot_loss是否保存训练损失曲线FALSE
–include_effective_tokens_per_second是否计算有效 tokens/sFALSE

2.4 train支持的参数

train支持的参数如下:

命令描述默认值
–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_RATEAdamW 优化器初始学习率。5.00E-05
–weight-decay WEIGHT_DECAYAdamW 权重衰减。0
–adam-beta1 ADAM_BETA1AdamW 优化器 Beta1 参数。0.9
–adam-beta2 ADAM_BETA2AdamW 优化器 Beta2 参数。0.999
–adam-epsilon ADAM_EPSILONAdamW 优化器 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_DIRTensorboard 日志目录。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_LEVELfp16 的 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_CORESTPU 核心数(由启动脚本自动传递)。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_PARAMSFSDP 最小参数数量(已弃用)。0
–fsdp-config FSDP_CONFIGFSDP 配置,可为 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-memoryDataLoader 是否不固定内存。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_IDTrainer 推送仓库名称。None
–push-to-hub-organization PUSH_TO_HUB_ORGANIZATION推送仓库所属组织名。None
–push-to-hub-token PUSH_TO_HUB_TOKEN推送 Hub 使用的 token。None
–mp-parameters MP_PARAMETERSSageMaker 特定参数,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_SCOPERay 超参数搜索范围,默认 last。last
–ddp-timeout DDP_TIMEOUT覆盖分布式训练超时时间(秒)。1800
–torch-compile [TORCH_COMPILE]是否用 torch.compile 包装模型。FALSE
–torch-compile-backend TORCH_COMPILE_BACKENDtorch.compile 使用的后端,传入后触发编译。None
–torch-compile-mode TORCH_COMPILE_MODEtorch.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_NAMERay 训练结果保存目录名 <ray_storage_path>/ray_run_name。None
–ray-storage-path RAY_STORAGE_PATHRay 训练结果存储路径。./saves
–ray-storage-filesystem {s3,gs,gcs}Ray 训练使用的存储文件系统,未指定则使用本地文件系统。None
–ray-num-workers RAY_NUM_WORKERSRay 训练使用的 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_ALPHALoRA 微调的缩放系数,默认值为 lora_rank * 2。None
–lora-dropout LORA_DROPOUTLoRA 微调的 dropout 比例。0
–lora-rank LORA_RANKLoRA 微调的内在维度。8
–lora-target LORA_TARGET要应用 LoRA 的目标模块名称,可用逗号分隔,all 表示所有线性模块。all
–loraplus-lr-ratio LORAPLUS_LR_RATIOLoRA plus 学习率比例(lr_B / lr_A)。None
–loraplus-lr-embedding LORAPLUS_LR_EMBEDDINGLoRA 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_ITERPiSSA FSVD 执行的迭代步数,-1 表示禁用。16
–pissa-convert [PISSA_CONVERT]是否将 PiSSA adapter 转换为普通 LoRA adapter。FALSE
–create-new-adapter [CREATE_NEW_ADAPTER]是否创建带随机初始化权重的新 adapter。FALSE
–pref-beta PREF_BETAPreference loss 的 beta 参数。0.1
–pref-ftx PREF_FTXDPO 训练中监督微调损失系数。0
–pref-loss {sigmoid,hinge,ipo,kto_pair,orpo,simpo}DPO 损失类型。sigmoid
–dpo-label-smoothing DPO_LABEL_SMOOTHINGcDPO 中的鲁棒标签平滑参数,范围 0~0.5。0
–kto-chosen-weight KTO_CHOSEN_WEIGHTKTO 训练中理想样本损失的权重。1
–kto-rejected-weight KTO_REJECTED_WEIGHTKTO 训练中不理想样本损失的权重。1
–simpo-gamma SIMPO_GAMMASimPO 损失的目标 reward margin。0.5
–ppo-buffer-size PPO_BUFFER_SIZEPPO 优化步骤中 mini-batch 的经验缓冲数量。1
–ppo-epochs PPO_EPOCHSPPO 优化步骤的 epoch 数量。4
–ppo-score-norm [PPO_SCORE_NORM]是否在 PPO 训练中使用 score normalization。FALSE
–ppo-target PPO_TARGETPPO 自适应 KL 控制的目标 KL 值。6
–ppo-whiten-rewards [PPO_WHITEN_REWARDS]是否在 PPO 训练中对 reward 做 whitening。FALSE
–ref-model REF_MODELPPO 或 DPO 训练中使用的参考模型路径。None
–ref-model-adapters REF_MODEL_ADAPTERS参考模型的 adapter 路径。None
–ref-model-quantization-bit REF_MODEL_QUANTIZATION_BIT参考模型量化的 bit 数。None
–reward-model REWARD_MODELPPO 训练中使用的 reward model 路径。None
–reward-model-adapters REWARD_MODEL_ADAPTERSReward model 的 adapter 路径。None
–reward-model-quantization-bit REWARD_MODEL_QUANTIZATION_BITReward model 的量化 bit 数。None
–reward-model-type {lora,full,api}PPO 训练中 reward model 的类型,LoRA 模型仅支持 LoRA 训练。lora
–ld-alpha LD_ALPHALD-DPO 论文中的 alpha 参数,控制响应中 verbose token log-probabilities 的权重。None
–use-galore [USE_GALORE]是否使用梯度低秩投影(GaLore)。FALSE
–galore-target GALORE_TARGET应用 GaLore 的模块名称,可用逗号分隔,all 表示所有线性模块。all
–galore-rank GALORE_RANKGaLore 梯度的秩。16
–galore-update-interval GALORE_UPDATE_INTERVAL更新 GaLore 投影的步数间隔。200
–galore-scale GALORE_SCALEGaLore 缩放系数。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_RANKAPOLLO 梯度的秩。16
–apollo-update-interval APOLLO_UPDATE_INTERVAL更新 APOLLO 投影的步数间隔。200
–apollo-scale APOLLO_SCALEAPOLLO 缩放系数。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_VERBOSEBAdam 优化器的输出等级,0=不打印,1=打印 block 前缀,2=打印可训练参数。0
–use-swanlab [USE_SWANLAB]是否使用 SwanLab 实验追踪与可视化工具。FALSE
–swanlab-project SWANLAB_PROJECTSwanLab 项目名称。llamafactory
–swanlab-workspace SWANLAB_WORKSPACESwanLab workspace 名称。None
–swanlab-run-name SWANLAB_RUN_NAMESwanLab 实验名称。None
–swanlab-mode {cloud,local}SwanLab 模式。cloud
–swanlab-api-key SWANLAB_API_KEYSwanLab API key。None
–swanlab-logdir SWANLAB_LOGDIRSwanLab 日志目录。None
–swanlab-lark-webhook-url SWANLAB_LARK_WEBHOOK_URLSwanLab 飞书 Webhook URL。None
–swanlab-lark-secret SWANLAB_LARK_SECRETSwanLab 飞书 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_STEPSmetric_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_Ptop-p 采样保留概率和至少为 top_p 的 token 集。0.7
–top-k TOP_Ktop-k 采样保留概率最高的 token 数量。50
–num-beams NUM_BEAMSBeam 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_PENALTYBeam search 中用于长度的指数惩罚。1
–skip-special-tokens [SKIP_SPECIAL_TOKENS]是否在解码时去除特殊 token。TRUE
–no-skip-special-tokens保留特殊 token,不去除。FALSE

3. 分类记忆

LLaMA-Factory 支持的参数 非常庞杂,这里做一个系统性的 分类汇总,方便查阅和理解。整体可以分成 模型相关、推理相关、数据处理、训练配置、微调方法、RLHF/偏好优化、优化器/梯度方法、多模态支持、导出/部署、日志监控 等几大类:

3.1 模型与权重加载

基础模型/Adapter

  • --model_name_or_path 模型权重路径或 Hub 名称
  • --adapter_name_or_path Adapter 路径(可多个)
  • --adapter_folder Adapter 存放目录
  • --model_revision 模型版本 (branch/tag/commit)
  • --cache_dir 模型缓存目录
  • --hf_hub_token / --ms_hub_token / --om_hub_token Hub Token
  • --trust_remote_code 是否信任 Hub 代码

模型结构与优化

  • --resize_vocab 调整 tokenizer vocab
  • --split_special_tokens 特殊 token 拆分
  • --add_tokens / --add_special_tokens 添加新 token
  • --rope_scaling RoPE 缩放策略
  • --flash_attn / --shift_attn 注意力优化
  • --mixture_of_depths MoD 转换/加载
  • --use_unsloth / --use_unsloth_gc Unsloth 优化
  • --enable_liger_kernel Liger kernel
  • --moe_aux_loss_coef MoE 损失系数
  • --disable_gradient_checkpointing / --use_reentrant_gc 梯度检查点控制
  • --upcast_layernorm / --upcast_lmhead_output 精度提升
  • --train_from_scratch 随机初始化训练

3.2 推理/执行相关

推理引擎

  • --infer_backend (huggingface / vllm / sglang)
  • --vllm_maxlen / --vllm_gpu_util / --vllm_config
  • --sglang_maxlen / --sglang_tp_size / --sglang_config

推理性能

  • --use_cache / --no_use_cache KV Cache
  • --infer_dtype 推理精度 (fp16/bf16/float32/auto)
  • --offload_folder 卸载权重目录

解码/生成

  • --do_sample / --no_do_sample 采样或贪心
  • --temperature / --top-p / --top-k 控制采样
  • --num-beams Beam search
  • --max-length / --max-new-tokens 生成长度
  • --repetition-penalty / --length-penalty 惩罚项
  • --skip_special_tokens / --no_skip_special_tokens 解码处理

3.3 量化与精度控制

在线量化

  • --quantization_method (bnb/gptq/awq/…)
  • --quantization_bit / --quantization_type
  • --double_quantization / --no_double_quantization
  • --quantization_device_map

导出时量化

  • --export_quantization_bit / --export_quantization_dataset
  • --export_quantization_nsamples / --export_quantization_maxlen

混合精度/精度控制

  • --bf16 / --fp16 / --pure_bf16
  • --fp16-opt-level / --half_precision_backend
  • --bf16-full-eval / --fp16-full-eval
  • --tf32

3.4 数据处理与训练输入

数据集

  • --dataset / --eval_dataset
  • --dataset_dir / --media_dir
  • --cutoff_len
  • --train_on_prompt / --mask_history
  • --streaming / --buffer_size
  • --mix_strategy / --interleave_probs
  • --overwrite_cache

预处理

  • --preprocessing_batch_size / --preprocessing_num_workers
  • --max_samples 限制样本数
  • --tokenized_path 保存 tokenized 数据
  • --data_shared_file_system 是否用共享 FS

3.5 训练配置

核心控制

  • --stage (pt/sft/rm/ppo/dpo/kto)
  • --finetuning_type (lora/freeze/full)
  • --output-dir / --overwrite-output-dir
  • --do-train / --do-eval / --do-predict

批次与步数

  • --per-device-train-batch-size / --per-device-eval-batch-size
  • --gradient-accumulation-steps
  • --max-steps / --num-train-epochs

优化器

  • --learning-rate / --weight-decay
  • --adam-beta1 / --adam-beta2 / --adam-epsilon
  • --max-grad-norm
  • --lr-scheduler-type / --warmup-ratio / --warmup-steps

分布式

  • --local-rank / --ddp_backend
  • --tpu-num-cores

3.6 微调/Adapter 方法

LoRA 系列

  • --lora_alpha / --lora_dropout / --lora_rank
  • --lora_target / --loraplus_lr_ratio
  • --loraplus_lr_embedding
  • --use_rslora / --use_dora

PiSSA

  • --pissa_init / --pissa_iter / --pissa_convert

冻结层

  • --freeze_trainable_layers / --freeze_trainable_modules
  • --freeze_extra_modules / --additional_target

其他

  • --create_new_adapter
  • --use_llama_pro

3.7 RLHF 与偏好优化

DPO/KTO/SimPO

  • --pref_beta / --pref_loss / --dpo_label_smoothing
  • --kto_chosen_weight / --kto_rejected_weight
  • --simpo_gamma

PPO

  • --ppo_buffer_size / --ppo_epochs
  • --ppo_score_norm / --ppo_target
  • --ppo_whiten_rewards

参考/奖励模型

  • --ref_model / --ref_model_adapters / --ref_model_quantization_bit
  • --reward_model / --reward_model_adapters / --reward_model_quantization_bit
  • --reward_model_type

扩展

  • --ld_alpha

3.8 优化器改进 & 低秩方法

GaLore

  • --use_galore / --galore_target
  • --galore_rank / --galore_update_interval
  • --galore_proj_type / --galore_layerwise

APOLLO

  • --use_apollo / --apollo_target
  • --apollo_rank / --apollo_scale / --apollo_proj
  • --apollo_proj_type / --apollo_scale_type
  • --apollo_layerwise / --apollo_scale_front

BAdam

  • --use_badam / --badam_mode
  • --badam_start_block / --badam_switch_mode
  • --badam_switch_interval / --badam_update_ratio
  • --badam_mask_mode / --badam_verbose

其他优化器

  • --use_adam_mini / --use_muon

3.9 多模态支持

图像

  • --image_max_pixels / --image_min_pixels
  • --image_do_pan_and_scan
  • --crop_to_patches

视频

  • --video_max_pixels / --video_min_pixels
  • --video_fps / --video_maxlen
  • --use_audio_in_video

音频

  • --audio_sampling_rate

冻结多模态结构

  • --freeze_vision_tower / --no_freeze_vision_tower
  • --freeze_multi_modal_projector / --no_freeze_multi_modal_projector
  • --freeze_language_model

3.10 导出与部署

  • --export_dir / --export_size / --export_device
  • --export_legacy_format (bin 而非 safetensors)
  • --export_hub_model_id

3.11 日志与实验监控

日志

  • --log-level / --log-level-replica
  • --logging-dir / --logging-strategy / --logging-steps
  • --logging-nan-inf-filter

保存与恢复

  • --save-strategy / --save-steps / --save-total-limit
  • --save-safetensors / --save-only-model
  • --restore-callback-states-from-checkpoint

监控工具

  • --use_swanlab
  • --swanlab_project / --swanlab_workspace / --swanlab_run_name
  • --swanlab_mode / --swanlab_api_key
  • --swanlab_logdir / --swanlab_lark_webhook_url / --swanlab_lark_secret

Read more

Flutter for OpenHarmony: Flutter 三方库 simple_logger 为鸿蒙系统开发打造最纯粹的日志调试体验(极简主义者的首选)

Flutter for OpenHarmony: Flutter 三方库 simple_logger 为鸿蒙系统开发打造最纯粹的日志调试体验(极简主义者的首选)

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net 前言 在进行 OpenHarmony 应用调试时,虽然控制台有原始的 print,但在处理复杂的异步流、网络状态变更或多层级渲染时,简单的打印往往会导致信息洪流,难以寻找重点。如果你不需要像 talker 或 logger 那么繁重的全家桶方案,只想在控制台中看到一点色彩和清晰的层级,那么这个库就是为你准备的。 simple_logger 完美诠释了“大道至简”。它不依赖任何原生 C++ 接口,纯 Dart 实现,能在鸿蒙设备上以极低的资源占用提供带有级别过滤(Level Filtering)和漂亮格式的日志输出。 一、日志过滤层级模型 simple_logger 允许你根据开发阶段动态调整输出强度。 只打印 INFO 及以上 日志级别 (Level) FINE (调试详情) INFO (常规业务)

By Ne0inhk
Flutter for OpenHarmony: Flutter 三方库 grinder 用纯 Dart 语言构建鸿蒙工程的自动化流水线(任务调度专家)

Flutter for OpenHarmony: Flutter 三方库 grinder 用纯 Dart 语言构建鸿蒙工程的自动化流水线(任务调度专家)

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net 前言 在进行 OpenHarmony 的项目维护时,我们经常需要处理一堆琐碎的重复任务: 1. 构建与打包:先运行 build_runner,再运行 flutter build hap。 2. 测试与覆盖率:运行单测并自动生成 HTML 报告。 3. 版本发布:修改 pubspec.yaml 版本号,打 Git Tag,然后推送到服务器。 通常我们会写 Makefile 或 Shell 脚本,但它们跨平台兼容性差且难以调试。grinder 允许你用“纯正的 Dart 语言”来编写这些任务脚本。它提供了依赖管理(Task Dependency)和丰富的工具类,

By Ne0inhk
Flutter 三方库 image_compare 的鸿蒙化适配指南 - 实现毫秒级图像相似度评估、支持像素级对比与余弦相似度算法分析

Flutter 三方库 image_compare 的鸿蒙化适配指南 - 实现毫秒级图像相似度评估、支持像素级对比与余弦相似度算法分析

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 image_compare 的鸿蒙化适配指南 - 实现毫秒级图像相似度评估、支持像素级对比与余弦相似度算法分析 前言 在进行 Flutter for OpenHarmony 的视觉类应用(如相册清理、自动图片分类或简单的机器视觉)开发时,如何科学地判断两张图片是否“长得像”是一项核心需求。相比于简单的 MD5 校验(只能判断完全一致),image_compare 提供了多种数学层面的相似度评估算法。本文将探讨如何在鸿蒙端利用该库构建高效的图像比对能力。 一、原理解析 / 概念介绍 1.1 基础原理 image_compare 将图像抽象为像素矩阵,并提供了一系列的“统计比较器”。它支持像素平均差异(Average Hash)、感知哈希(pHash)以及基于几何与色彩直方图的各种对比算法。

By Ne0inhk
昔日AI绘画框架王者Stable Diffusion WebUI,已死

昔日AI绘画框架王者Stable Diffusion WebUI,已死

写在前面 【WeThinkIn出品】栏目分享Rocky的认知思考与经验感悟,范围涵盖但不限于AI行业。 欢迎大家关注Rocky的公众号:WeThinkIn 欢迎大家关注Rocky的知乎:Rocky Ding AIGC算法工程师面试面经秘籍分享:WeThinkIn/Interview-for-Algorithm-Engineer欢迎大家Star~ 获取更多AI行业的前沿资讯与干货资源 AIGC时代的 《三年面试五年模拟》AI算法工程师求职面试秘籍独家资源:【三年面试五年模拟】AI算法工程师面试秘籍 Rocky最新撰写10万字Stable Diffusion 3和FLUX.1系列模型的深入浅出全维度解析文章:深入浅出完整解析Stable Diffusion 3(SD 3)和FLUX.1系列核心基础知识 AIGC算法岗/开发岗面试面经交流社群(涵盖AI绘画、AI视频、大模型、AI多模态、数字人等AIGC面试干货资源)欢迎大家加入:https://t.zsxq.com/33pJ0 大家好,我是Rocky。 “还记得我们第一次打开Stable Diffusion WebUI,用上第

By Ne0inhk