--vllm_maxlen VLLM_MAXLEN | 非必须,默认值: 2048 | 控制vLLM引擎中序列(提示+回答)的最大长度。过长的输入可能会导致显存消耗过大,此参数通过限制长度达到资源控制与性能平衡。 | 当希望控制生成的上下文长度,防止内存溢出或过长响应时设置该值。影响模型推理阶段对上下文截断与生成限制。 | 整数值,一般为几百到几千,示例:--vllm_maxlen 1024 |
--vllm_gpu_util VLLM_GPU_UTIL | 非必须,默认值: 0.9 | 表示vLLM引擎可使用的GPU显存比例(0到1之间)。0.9代表最多使用90%的可用显存。 | 当需要在GPU资源有限的情况下为其他进程留出空间或防止显存溢出时调整此值。影响模型加载和推理时显存分配策略。 | 浮点数 (0,1),示例:--vllm_gpu_util 0.8 |
--vllm_enforce_eager [VLLM_ENFORCE_EAGER] | 非必须,默认值: False | 控制vLLM引擎是否禁用CUDA图功能。启用后(True)将使用急切模式执行,可能降低性能,但利于调试。 | 当对CUDA图模式下的问题进行定位调试、或不希望使用CUDA图加速时打开该选项。影响推理速度和稳定性。 | 布尔值,示例:--vllm_enforce_eager 表示True |
--vllm_max_lora_rank VLLM_MAX_LORA_RANK | 非必须,默认值: 32 | vLLM引擎中LoRA(低秩适配)的最大秩(rank)。此值控制LoRA参数的维度大小。较高的rank可提升模型调优效果,但占用更多资源。 | 在使用LoRA对模型进行参数高效微调时,根据性能和资源平衡调整。影响LoRA微调的灵活性和性能开销。 | 整数值,示例:--vllm_max_lora_rank 64 |
--export_dir EXPORT_DIR | 非必须,默认值: None | 指定导出模型的目录路径。将微调完成或处理后的模型参数保存到该目录下。 | 当用户需要将模型导出至本地文件系统以便部署或分发时使用。影响最终模型持久化的存储位置。 | 字符串(路径),示例:--export_dir ./exported_model |
--export_size EXPORT_SIZE | 非必须,默认值: 1 (GB) | 导出模型分片文件的大小(GB)。模型大时,会按该大小切分为多个文件存储。 | 当模型体积过大时,使用分片方便在低内存环境下加载和传输。影响模型文件分布与加载策略。 | 正数浮点或整数值,表示GB,示例:--export_size 2 表示每片2GB |
--export_device {cpu,auto} | 非必须,默认值: cpu | 指定导出模型时使用的设备。auto 可利用更快的设备(如GPU)加速导出过程,而cpu 则较慢但更兼容。 | 模型导出优化环节中使用,当机器资源足够丰富时可选择auto 加速导出。影响导出时间和资源利用率。 | 可选值:cpu 或auto ,示例:--export_device auto |
--export_quantization_bit EXPORT_QUANTIZATION_BIT | 非必须,默认值: None | 指定导出模型时的量化位数,将模型参数压缩为更低精度以降低模型大小和计算成本。无默认即不量化。 | 当需要减少模型体积、降低部署资源占用时使用。影响模型的精度与大小。 | 整数值,常见有8、4等,示例:--export_quantization_bit 8 |
--export_quantization_dataset EXPORT_QUANTIZATION_DATASET | 非必须,默认值: None | 在模型量化过程中用于收集统计信息的数据集路径或名称。有助于更好地拟合分布,从而提升量化质量。 | 当执行量化导出时,希望使用特定数据集来提高量化模型的保真度时使用。影响量化方案的质量。 | 字符串(数据集名称或路径),示例:--export_quantization_dataset my_data |
--export_quantization_nsamples EXPORT_QUANTIZATION_NSAMPLES | 非必须,默认值: 128 | 量化时使用的数据样本数。样本数越多,统计更全面,量化精度或分布拟合更好,但耗时更长。 | 在量化前根据计算资源和精度要求设定。影响量化模型的统计质量与导出时间。 | 整数值,示例:--export_quantization_nsamples 256 |
--export_quantization_maxlen EXPORT_QUANTIZATION_MAXLEN | 非必须,默认值: 1024 | 用于量化时输入序列的最大长度。控制用于收集量化统计数据的输入序列长度。 | 当模型输入较长序列时可调大,以便覆盖更多分布特征。影响量化统计分布的质量。 | 整数值,示例:--export_quantization_maxlen 512 |
--export_legacy_format [EXPORT_LEGACY_FORMAT] | 非必须,默认值: False | 是否以.bin 格式而非.safetensors 格式保存模型。.safetensors 更为安全高效,但有时需向后兼容。 | 当需要向下兼容旧版加载器或特定部署环境时使用。影响最终导出模型文件格式。 | 布尔值,示例:--export_legacy_format |
--export_hub_model_id EXPORT_HUB_MODEL_ID | 非必须,默认值: None | 推送至Hugging Face Hub时使用的仓库名称。 | 当希望将导出的模型直接上传至Hugging Face Hub以分享或部署时使用。影响模型发布位置。 | 字符串(仓库名称),示例:--export_hub_model_id username/my-model |
--image_resolution IMAGE_RESOLUTION | 非必须,默认值: 512 | 对图像输入进行尺寸限制,保持图像长宽不超过此分辨率。 | 视觉相关任务中使用,保证输入图像不会过于大导致内存过载。影响视觉数据预处理流程。 | 整数值像素,示例:--image_resolution 256 |
--video_resolution VIDEO_RESOLUTION | 非必须,默认值: 128 | 对视频输入进行分辨率限制,同上,但用于视频帧。 | 视频相关任务中使用,控制视频帧尺寸,减少计算负担。影响视频数据预处理和模型输入尺寸。 | 整数值像素,示例:--video_resolution 256 |
--video_fps VIDEO_FPS | 非必须,默认值: 2.0 | 每秒取样的视频帧数。如果原视频帧率高,这将下采样减少处理量。 | 当视频任务需要减少数据量与计算开销时,用低fps提取关键帧。影响视频处理的时间与精度平衡。 | 浮点数或整数值,示例:--video_fps 5 |
--video_maxlen VIDEO_MAXLEN | 非必须,默认值: 64 | 视频输入中最大采样帧数限制。超过此数的帧可能被截断。 | 在视频推理或训练中控制计算资源,避免处理过长视频序列。影响视频序列长度控制。 | 整数值,示例:--video_maxlen 128 |
--quantization_method {bitsandbytes,hqq,eetq} | 非必须,默认值: bitsandbytes | 指定在线量化的方法。bitsandbytes 为常用快速量化框架,hqq 或eetq 为其它量化方法。 | 当需要在推理时动态量化模型,减少内存和计算成本时使用。影响模型推理的性能与内存占用。 | 枚举值,示例:--quantization_method hqq |
--quantization_bit QUANTIZATION_BIT | 非必须,默认值: None | 推理时动态量化使用的位宽。如指定4或8比特,以减小模型参数体积。 | 在内存或算力紧张场景进行轻量推理。影响模型推理速度与精度。 | 整数值,示例:--quantization_bit 4 |
--quantization_type {fp4,nf4} | 非必须,默认值: nf4 | bitsandbytes int4训练中的量化数据类型。fp4 或nf4 是特定定点格式。 | 在采用bitsandbytes进行int4精度训练时用于控制量化格式,影响训练稳定性和精度。 | 枚举值,示例:--quantization_type fp4 |
--double_quantization [DOUBLE_QUANTIZATION] | 非必须,默认值: True | 是否在bitsandbytes int4训练中使用双重量化(减少信息损失)。True 有助于训练稳定,但稍微增加计算量。 | 在精度和资源平衡中,如果需更高精度则保持True,若追求极致速度可关闭。影响训练性能和精度。 | 布尔值,--double_quantization 表示True |
--no_double_quantization | 非必须,默认值: False | 同上,为double_quantization 的反向参数,不使用双量化。 | 当不希望使用双重量化时使用此标志。 | 不需要赋值,--no_double_quantization 表示False |
--quantization_device_map {auto} | 非必须,默认值: None | 当使用4-bit量化模型时,用于指定设备映射策略,auto 自动选择设备分布(需要bitsandbytes>=0.43.0)。 | 大型模型跨多GPU或多设备推理时,用于自动分布量化参数。影响推理性能和内存利用率。 | 枚举值:目前仅auto ,示例:--quantization_device_map auto |
--model_name_or_path MODEL_NAME_OR_PATH | 必须(无默认值) | 指定模型权重文件的路径或从Hugging Face/Modelscope仓库下载的模型名。 | 所有任务的基础模型来源,训练或推理需指定模型路径或名称。影响整个模型加载过程。 | 字符串(路径或模型名),示例:--model_name_or_path facebook/opt-1.3b |
--adapter_name_or_path ADAPTER_NAME_OR_PATH | 非必须,默认值: None | 指定Adapter的权重路径或名称,用于在基础模型上叠加额外的微调层。可用逗号分隔多个Adapter。 | 当使用LoRA等轻量微调方式或需要额外适配层时使用。影响模型推理与训练参数叠加方式。 | 字符串(路径或名称,逗号分隔),示例:--adapter_name_or_path my_adapter |
--adapter_folder ADAPTER_FOLDER | 非必须,默认值: None | 包含多个Adapter权重的文件夹路径。 | 当批量管理多个Adapter文件时使用。影响Adapter加载过程。 | 字符串(路径),示例:--adapter_folder ./adapters |
--cache_dir CACHE_DIR | 非必须,默认值: None | 下载的预训练模型缓存存储目录。 | 当首次下载模型后再次使用,可以从缓存中快速加载,节省网络时间。影响模型加载速度。 | 字符串(路径),示例:--cache_dir ./model_cache |
--use_fast_tokenizer [USE_FAST_TOKENIZER] | 非必须,默认值: True | 是否使用由tokenizers 库支持的fast tokenizer,比传统Python tokenizer更快。 | 在需要加快数据处理或实时推理速度时使用fast tokenizer。影响分词效率和整体推理速度。 | 布尔值,--use_fast_tokenizer 表示True |
--no_use_fast_tokenizer | 非必须,默认值: False | 不使用fast tokenizer,使用慢速Python tokenizer。 | 当fast tokenizer有兼容性问题时或特定需求下禁用fast tokenizer。影响分词性能。 | 无参数值,--no_use_fast_tokenizer 表示False |
--resize_vocab [RESIZE_VOCAB] | 非必须,默认值: False | 是否调整tokenizer词表大小和模型embedding层,使其适配新增的特殊标记或减少词表空间。 | 当添加新特殊标记或适配特殊数据集时启用,可确保模型embed层与tokenizer同步。影响模型的词向量层结构。 | 布尔值,--resize_vocab 表示True |
--split_special_tokens [SPLIT_SPECIAL_TOKENS] | 非必须,默认值: False | 是否在分词过程中分离特殊标记。 | 当需要单独处理特殊标记的表示时可启用。影响tokenizer输出结果。 | 布尔值,--split_special_tokens 表示True |
--new_special_tokens NEW_SPECIAL_TOKENS | 非必须,默认值: None | 添加新的特殊标记,以逗号分隔多个标记。 | 当特定任务需要额外特殊符号(如新的控制标记)时使用。影响tokenizer和模型的输入格式。 | 字符串,逗号分隔,示例:--new_special_tokens [CLS],[SEP] |
--model_revision MODEL_REVISION | 非必须,默认值: main | 指定要使用的模型版本(分支名、标签名或commit id)。 | 当模型有多个版本,需要特定版本的权重时使用。影响加载的模型版本。 | 字符串,示例:--model_revision v2.0 |
--low_cpu_mem_usage [LOW_CPU_MEM_USAGE] | 非必须,默认值: True | 是否使用高效内存加载策略,减少CPU内存占用。 | 在内存有限的环境中启用,以优化加载过程。影响模型加载性能与资源占用。 | 布尔值,--low_cpu_mem_usage 表示True |
--no_low_cpu_mem_usage | 非必须,默认值: False | 不使用高效内存加载策略。 | 当内存充足,无需优化时。 | 无参数值,--no_low_cpu_mem_usage 表示False |
--rope_scaling {linear,dynamic} | 非必须,默认值: None | 指定RoPE位置编码的缩放策略。linear 或dynamic 对大型上下文的处理可能有所优化。 | 当使用RoPE且上下文窗口很大时,通过缩放策略改进模型性能。影响模型的注意力计算方式。 | 枚举值,示例:--rope_scaling linear |
--flash_attn {auto,disabled,sdpa,fa2} | 非必须,默认值: auto | 是否启用FlashAttention,提供更快的注意力计算方案。auto 自动选择最佳模式。 | 当需要加速大模型的训练或推理时启用,影响注意力层性能。 | 枚举值,auto 、disabled 、sdpa 、fa2 ,示例:--flash_attn sdpa |
--shift_attn [SHIFT_ATTN] | 非必须,默认值: False | 是否启用LongLoRA提出的S²-Attn(shift short attention)机制,对注意力进行偏移。 | 在长上下文或者特定结构的文本处理中可能优化性能。影响模型注意力结构。 | 布尔值,--shift_attn 表示True |
--mixture_of_depths {convert,load} | 非必须,默认值: None | 将模型转换为或加载已是Mixture-of-Depths (MoD)结构的模型。 | 在需要对模型深度结构进行改造时使用。影响模型层结构和推理性能。 | 枚举值,convert 或load |
--use_unsloth [USE_UNSLOTH] | 非必须,默认值: False | 是否使用unsloth优化进行LoRA训练。unsloth是一种优化方案,可提升训练效率。 | 当进行LoRA微调时,追求更好训练效率和收敛速度时启用。影响LoRA训练性能。 | 布尔值,--use_unsloth 表示True |
--use_unsloth_gc [USE_UNSLOTH_GC] | 非必须,默认值: False | 使用unsloth的gradient checkpointing(梯度检查点)技术,进一步节约内存。 | 在资源紧张环境中进行LoRA训练。影响训练内存利用率与速度。 | 布尔值,--use_unsloth_gc 表示True |
--enable_liger_kernel [ENABLE_LIGER_KERNEL] | 非必须,默认值: False | 启用liger kernel以加速训练过程。 | 在LoRA或特定训练策略中需要进一步加速时使用。影响训练速度。 | 布尔值,--enable_liger_kernel 表示True |
--moe_aux_loss_coef MOE_AUX_LOSS_COEF | 非必须,默认值: None | 在Mixture-of-Experts模型中,辅助路由器损失的系数,用于平衡专家路由选择的正则化。 | 当使用MoE模型时,用此系数控制专家调度的正则化力度,影响训练稳定性。 | 浮点数,示例:--moe_aux_loss_coef 0.01 |
--disable_gradient_checkpointing [DISABLE_GRADIENT_CHECKPOINTING] | 非必须,默认值: False | 是否禁用梯度检查点功能。梯度检查点可减少内存消耗但增加计算时间。 | 当需要更快的训练而非节约内存时,禁用此功能。影响内存和计算开销平衡。 | 布尔值,--disable_gradient_checkpointing 表示True |
--upcast_layernorm [UPCAST_LAYERNORM] | 非必须,默认值: False | 是否将layernorm的权重提升为fp32精度计算,减少数值不稳定。 | 在低精度训练时可能提高稳定性。影响计算精度与性能。 | 布尔值,--upcast_layernorm 表示True |
--upcast_lmhead_output [UPCAST_LMHEAD_OUTPUT] | 非必须,默认值: False | 是否将语言模型输出层的结果提升为fp32,提高数值稳定性。 | 当低精度训练输出不稳定时使用。影响输出精度和训练稳定性。 | 布尔值,--upcast_lmhead_output 表示True |
--train_from_scratch [TRAIN_FROM_SCRATCH] | 非必须,默认值: False | 是否从随机初始化权重训练,而不是在预训练权重上微调。 | 在没有可用预训练模型或需要完全定制训练时使用。影响训练成本与收敛速度。 | 布尔值,--train_from_scratch 表示True |
--infer_backend {huggingface,vllm} | 非必须,默认值: huggingface | 指定推理后端引擎。huggingface 使用Hugging Face Transformers,vllm 使用vLLM引擎。 | 根据性能需求和兼容性选择不同后端。影响推理速度和特性支持。 | 枚举值:huggingface 或vllm |
--offload_folder OFFLOAD_FOLDER | 非必须,默认值: offload | 模型权重脱载至指定文件夹,在不影响计算的情况下节省GPU内存。 | 在GPU资源不足时通过offload权重至磁盘以继续推理或训练。影响加载与推理性能。 | 字符串(路径),示例:--offload_folder ./offloaded |
--use_cache [USE_CACHE] | 非必须,默认值: True | 推断阶段是否使用KV缓存以加速多次生成。 | 提高多turn对话时的响应速度。影响推理效率。 | 布尔值,--use_cache 表示True |
--no_use_cache | 非必须,默认值: False | 不使用KV缓存。 | 当调试或希望对每轮都重新计算时禁用缓存。 | 无参值,--no_use_cache 表示False |
--infer_dtype {auto,float16,bfloat16,float32} | 非必须,默认值: auto | 推理时使用的数据类型,可根据硬件支持选择较低精度以提高速度并节省显存。 | 在GPU上使用float16或bfloat16可加速推理。影响推理性能与精度。 | 枚举值,示例:--infer_dtype float16 |
--hf_hub_token HF_HUB_TOKEN | 非必须,默认值: None | Hugging Face Hub认证令牌,用于访问私有模型或推送模型到HF Hub。 | 当需要从HF Hub下载私有模型或上传模型时使用。影响模型拉取和发布权限。 | 字符串(token),示例:--hf_hub_token my_secret_token |
--ms_hub_token MS_HUB_TOKEN | 非必须,默认值: None | ModelScope Hub认证令牌。 | 当需要从ModelScope访问私有模型或上传模型时使用。影响访问权限。 | 字符串(token) |
--om_hub_token OM_HUB_TOKEN | 非必须,默认值: None | Modelers Hub认证令牌。 | 同上,用于访问Modelers Hub私有资源。 | 字符串(token) |
--print_param_status [PRINT_PARAM_STATUS] | 非必须,默认值: False | 用于调试,打印模型参数状态(比如哪些是可训练的)。 | 当对模型参数进行调试、检查微调层时使用。影响输出日志信息。 | 布尔值,--print_param_status 表示True |
--template TEMPLATE | 非必须,默认值: None | 指定在训练和推断中用来构建prompt的模板名称或路径。 | 当需要自定义prompt格式时使用。影响输入构造方式。 | 字符串(模板名称或路径) |
--dataset DATASET | 非必须,默认值: None | 用于训练的数据集名称(可用逗号分隔多个)。 | 当进行有监督微调时指定训练数据来源。影响训练数据加载。 | 字符串,逗号分隔,示例:--dataset dataset1,dataset2 |
--eval_dataset EVAL_DATASET | 非必须,默认值: None | 用于评估的数据集名称。 | 在训练过程中对模型性能进行评估。影响验证集加载与计算。 | 字符串,示例:--eval_dataset my_eval_data |
--dataset_dir DATASET_DIR | 非必须,默认值: data | 数据集所在文件夹路径。 | 当数据集存放在自定义目录时指定。影响数据集加载路径。 | 字符串(路径) |
--cutoff_len CUTOFF_LEN | 非必须,默认值: 1024 | 数据集分词后截断长度,超过此长度的文本将被截断。 | 在训练集过长时控制输入序列长度,影响模型上下文范围。 | 整数值 |
--train_on_prompt [TRAIN_ON_PROMPT] | 非必须,默认值: False | 是否在训练中包括prompt部分而不仅是回答部分。 | 当希望模型对prompt本身也能更好拟合时启用。影响训练损失计算范围。 | 布尔值,--train_on_prompt 表示True |
--mask_history [MASK_HISTORY] | 非必须,默认值: False | 是否在训练中仅关注最后一轮对话,将历史对话mask掉。 | 在多轮对话训练中,如果不需要模型考虑历史对话则启用。影响训练数据的目标分布。 | 布尔值,--mask_history 表示True |
--streaming [STREAMING] | 非必须,默认值: False | 是否启用数据流式读取模式,减少内存占用。 | 当数据集过大时启用streaming,影响数据加载和训练速度。 | 布尔值,--streaming 表示True |
--buffer_size BUFFER_SIZE | 非必须,默认值: 16384 | 当使用streaming时缓存数据的缓冲区大小。 | 在流式处理时提高随机取样性能,影响流式训练速度和随机性。 | 整数值 |
--mix_strategy {concat,interleave_under,interleave_over} | 非必须,默认值: concat | 多数据集混合方式:concat 将数据集串联,interleave_under 或interleave_over 对数据集进行欠采样或过采样交织。 | 当使用多个数据集训练时控制数据分布。影响数据多样性与平衡性。 | 枚举值,示例:--mix_strategy interleave_under |
--interleave_probs INTERLEAVE_PROBS | 非必须,默认值: None | 使用逗号分隔的概率分布控制数据集交织时的采样概率。 | 当interleave混合数据集时微调各数据集出现比率。影响数据采样分布。 | 字符串(逗号分隔浮点数),示例:--interleave_probs 0.7,0.3 |
--overwrite_cache [OVERWRITE_CACHE] | 非必须,默认值: False | 是否重写已缓存的数据集处理结果。 | 当修改了数据处理逻辑后需要更新缓存时启用。影响数据加载速度(初次慢,后续快)。 | 布尔值 |
--preprocessing_batch_size PREPROCESSING_BATCH_SIZE | 非必须,默认值: 1000 | 数据预处理时的批处理大小。 | 当对大数据集做tokenize等操作时可调节此值提升预处理效率。影响预处理阶段性能。 | 整数值 |
--preprocessing_num_workers PREPROCESSING_NUM_WORKERS | 非必须,默认值: None | 数据预处理进程数。 | 多核并行处理加快数据预处理。影响预处理速度与CPU占用。 | 整数值 |
--max_samples MAX_SAMPLES | 非必须,默认值: None | 调试用参数,截断每个数据集的样本数。 | 当想快速测试管线或调试代码时限制数据量。影响训练数据规模。 | 整数值 |
--eval_num_beams EVAL_NUM_BEAMS | 非必须,默认值: None | 评估时使用的beam数,用于beam search生成。 | 在模型评估时如果需要更丰富生成探索可设定。影响评估结果与耗时。 | 整数值 |
--ignore_pad_token_for_loss [IGNORE_PAD_TOKEN_FOR_LOSS] | 非必须,默认值: True | 是否在计算loss时忽略pad token,避免无意义的填充影响loss。 | 通常在自然语言任务中启用以获得更准确的训练信号。影响loss计算精度。 | 布尔值 |
--no_ignore_pad_token_for_loss | 非必须,默认值: False | 不忽略pad token计算loss。 | 当需要明确让模型学习填充token输出时。 | 无参值 |
--val_size VAL_SIZE | 非必须,默认值: 0.0 | 开发集比例或大小,用于从训练集中切分出一部分用于验证。0到1之间为比例,大于1的整数为样本数。 | 当需要从训练集分离验证集时使用。影响训练/验证数据划分。 | 浮点数(0到1)或整数,示例:--val_size 0.1 |
--packing PACKING | 非必须,默认值: None | 启用序列打包(packing)技巧,将多个样本打包以充分利用序列长度。 | 在预训练时提高训练效率,用更多有效token填充上下文窗口。影响训练速度和吞吐量。 | 字符串,非空表示启用 |
--neat_packing [NEAT_PACKING] | 非必须,默认值: False | 启用无交叉注意力的序列打包(neat packing)。 | 当希望进一步优化packing策略时使用。影响数据组织方式。 | 布尔值 |
--tool_format TOOL_FORMAT | 非必须,默认值: None | 指定工具调用(function calling)格式,用于构造函数调用示例。 | 在多步骤推理需要函数调用时使用。影响prompt构造格式。 | 字符串 |
--tokenized_path TOKENIZED_PATH | 非必须,默认值: None | 指定tokenized数据的存储路径。 | 当大量数据需重复使用tokenized结果时,将其缓存到文件加快下次加载。影响数据加载速度。 | 字符串(路径) |
--use_badam [USE_BADAM] | 非必须,默认值: False | 是否使用BAdam优化器,一种特殊优化策略。 | 在训练中尝试新优化器以改进收敛速度或稳定性时。影响训练优化过程。 | 布尔值 |
--badam_mode {layer,ratio} | 非必须,默认值: layer | BAdam优化器的模式:layer 按层更新,ratio 按比例更新。 | 根据训练策略优化参数更新方式。影响训练优化细粒度策略。 | 枚举值 |
--badam_start_block BADAM_START_BLOCK | 非必须,默认值: None | 当使用layer模式时,从第几层开始应用BAdam。 | 控制哪些层参与BAdam优化。影响训练分层策略。 | 整数值 |
--badam_switch_mode {ascending,descending,random,fixed} | 非必须,默认值: ascending | BAdam优化块切换策略,决定在训练过程中参数更新块的切换方式。 | 控制训练过程中参与优化的参数块切换顺序。影响优化动态过程。 | 枚举值 |
--badam_switch_interval BADAM_SWITCH_INTERVAL | 非必须,默认值: 50 | 多久(多少步)切换一次BAdam优化块,如-1则不切换。 | 决定BAdam优化策略的动态更新频率。影响训练过程参数更新节奏。 | 整数值 |
--badam_update_ratio BADAM_UPDATE_RATIO | 非必须,默认值: 0.05 | 当使用ratio模式的BAdam时,每次更新的参数比例。 | 控制参数子集参与更新的比例。影响优化精细度和速度。 | 浮点数 |
--badam_mask_mode {adjacent,scatter} | 非必须,默认值: adjacent | BAdam优化中mask模式,adjacent 表示连续参数块,scatter 表示随机分布参数。 | 不同mask模式影响参数分布特征。影响训练稳定性和效果。 | 枚举值 |
--badam_verbose BADAM_VERBOSE | 非必须,默认值: 0 | BAdam优化器详细程度,0不打印,1打印block信息,2打印训练参数详细信息。 | 当需要调试BAdam优化过程时提高verbose。影响控制台输出信息。 | 整数值:0,1,2 |
--use_galore [USE_GALORE] | 非必须,默认值: False | 是否使用GaLore(gradient low-Rank projection)技术减少梯度维度。 | 在大模型训练中降低内存开销或提高训练稳定性。影响训练内存和收敛特性。 | 布尔值 |
--galore_target GALORE_TARGET | 非必须,默认值: all | GaLore作用的模块名称,逗号分隔或all 表示所有线性层。 | 控制GaLore作用对象。影响优化范围。 | 字符串 |
--galore_rank GALORE_RANK | 非必须,默认值: 16 | GaLore梯度低秩分解的秩大小。 | 决定梯度降维程度。影响训练内存和精度。 | 整数值 |
--galore_update_interval GALORE_UPDATE_INTERVAL | 非必须,默认值: 200 | GaLore投影更新间隔步骤数。 | 控制GaLore投影频率。影响优化过程性能。 | 整数值 |
--galore_scale GALORE_SCALE | 非必须,默认值: 0.25 | GaLore缩放系数,用于调整梯度大小。 | 调节梯度更新幅度。影响训练稳定性。 | 浮点数 |
--galore_proj_type {std,reverse_std,right,left,full} | 非必须,默认值: std | GaLore投影类型。不同投影类型影响低秩分解方式与梯度方向处理。 | 在实验不同GaLore配置时选用。影响训练优化表现。 | 枚举值 |
--galore_layerwise [GALORE_LAYERWISE] | 非必须,默认值: False | 是否分层启用GaLore更新,以进一步节省内存。 | 在超大模型中通过layerwise策略优化资源利用。影响内存占用与速度。 | 布尔值 |
--pref_beta PREF_BETA | 非必须,默认值: 0.1 | 在DPO(直接偏好优化)中使用的beta参数,控制偏好损失的力度。 | 当进行偏好优化训练时,用此值平衡偏好与原始目标。影响模型偏好对齐效果。 | 浮点数 |
--pref_ftx PREF_FTX | 非必须,默认值: 0.0 | DPO训练中的有监督微调(SFT)损失系数。 | 在DPO中融合少量SFT信号,影响最终策略优化。 | 浮点数 |
--pref_loss {sigmoid,hinge,ipo,kto_pair,orpo,simpo} | 非必须,默认值: sigmoid | DPO中使用的偏好损失类型。不同损失函数可能对偏好对齐有不同的效果。 | 根据实际偏好优化需求选择。影响偏好对齐训练性能。 | 枚举值 |
--dpo_label_smoothing DPO_LABEL_SMOOTHING | 非必须,默认值: 0.0 | cDPO中的平滑参数[0,0.5],对标签进行平滑可增强鲁棒性。 | 当偏好数据嘈杂时使用。影响偏好损失计算。 | 浮点数(0到0.5) |
--kto_chosen_weight KTO_CHOSEN_WEIGHT | 非必须,默认值: 1.0 | KTO训练中可取样本的损失权重。 | 在KTO方法中平衡好结果和坏结果的loss贡献。影响训练收敛方向。 | 浮点数 |
--kto_rejected_weight KTO_REJECTED_WEIGHT | 非必须,默认值: 1.0 | KTO训练中不可取样本的损失权重。 | 同上,用于区分优劣样本的权重比例。 | 浮点数 |
--simpo_gamma SIMPO_GAMMA | 非必须,默认值: 0.5 | SimPO损失中的目标奖励边距参数。 | 控制SimPO中对奖励差异的敏感度。影响偏好对齐结果。 | 浮点数 |
--ppo_buffer_size PPO_BUFFER_SIZE | 非必须,默认值: 1 | PPO优化步骤中经验缓冲区的最小批数。 | 当使用PPO训练策略时调节训练样本批次大小。影响优化稳定性。 | 整数值 |
--ppo_epochs PPO_EPOCHS | 非必须,默认值: 4 | 每个PPO优化步骤中迭代次数。 | 更多迭代可提高对当前样本的适应度,但增加计算量。影响训练速度与性能。 | 整数值 |
--ppo_score_norm [PPO_SCORE_NORM] | 非必须,默认值: False | 是否在PPO训练中启用奖励归一化。 | 若奖励分布变化大,可通过归一化提高训练稳定性。影响奖励处理过程。 | 布尔值 |
--ppo_target PPO_TARGET | 非必须,默认值: 6.0 | PPO自适应KL控制的目标KL值。 | PPO中使用KL惩罚控制策略更新幅度。影响PPO训练稳定。 | 浮点数 |
--ppo_whiten_rewards [PPO_WHITEN_REWARDS] | 非必须,默认值: False | 是否在PPO前对白样化奖励。 | 同理,用于减少奖励方差对训练的影响。影响奖励处理。 | 布尔值 |
--ref_model REF_MODEL | 非必须,默认值: None | PPO或DPO训练中使用的参考模型路径。 | PPO/DPO对比主模型与参考模型输出以优化策略。影响训练基准对比。 | 字符串(路径) |
--ref_model_adapters REF_MODEL_ADAPTERS | 非必须,默认值: None | 引用模型的adapters路径。 | 当参考模型也需使用Adapter微调。 | 字符串 |
--ref_model_quantization_bit REF_MODEL_QUANTIZATION_BIT | 非必须,默认值: None | 对参考模型进行量化位宽设置。 | 减少参考模型计算成本。影响PPO/DPO对比时性能。 | 整数值 |
--reward_model REWARD_MODEL | 非必须,默认值: None | PPO训练中使用的奖励模型路径。 | PPO需要奖励模型给出对输出的打分。影响PPO训练信号。 | 字符串 |
--reward_model_adapters REWARD_MODEL_ADAPTERS | 非必须,默认值: None | 奖励模型的adapters路径。 | 同上,用于奖励模型微调扩展。 | 字符串 |
--reward_model_quantization_bit REWARD_MODEL_QUANTIZATION_BIT | 非必须,默认值: None | 奖励模型量化位数。 | 减小奖励模型规模。影响PPO速度和内存。 | 整数值 |
--reward_model_type {lora,full,api} | 非必须,默认值: lora | 指定奖励模型类型:lora 表示LoRA微调的奖励模型,full 为全量参数模型,api 表示通过API调用的奖励模型。 | 当需要根据场景选择不同的奖励模型载入方式和微调方案。影响PPO数据流和调用方式。 | 枚举值 |
--additional_target ADDITIONAL_TARGET | 非必须,默认值: None | 指定除LoRA层外其他需要设置为可训练并在最后保存的模块名称。 | 在微调中除了LoRA还想训练其它模块时使用。影响最终微调参数集。 | 字符串 |
--lora_alpha LORA_ALPHA | 非必须,默认值: lora_rank * 2 | LoRA微调的缩放因子,用于控制更新大小。 | 在LoRA训练中平衡参数更新幅度。影响LoRA微调稳定性和精度。 | 整数值或根据lora_rank计算 |
--lora_dropout LORA_DROPOUT | 非必须,默认值: 0.0 | LoRA微调时的dropout率,避免过拟合。 | 当训练数据有限或过拟合严重时增加dropout。影响LoRA训练效果。 | 浮点数(0到1) |
--lora_rank LORA_RANK | 非必须,默认值: 8 | LoRA中低秩表示的秩大小。 | 决定LoRA分解维度大小,影响参数量和微调效果。 | 整数值 |
--lora_target LORA_TARGET | 非必须,默认值: all | 指定对哪些模块应用LoRA,可用逗号分隔,all 为所有线性层。 | 控制LoRA适用范围,影响微调重点和资源分配。 | 字符串 |
--loraplus_lr_ratio LORAPLUS_LR_RATIO | 非必须,默认值: None | LoRA plus中lr_B/lr_A的学习率比率。 | 在LoRA plus设定中控制两个低秩矩阵的学习率比例。影响微调优化细节。 | 浮点数 |
--loraplus_lr_embedding LORAPLUS_LR_EMBEDDING | 非必须,默认值: 1e-06 | LoRA plus对embedding层的学习率。 | 当对embedding层进行额外微调控制时使用。影响训练细微调优。 | 浮点数 |
--use_rslora [USE_RSLORA] | 非必须,默认值: False | 是否使用Rank Stabilization LoRA。 | 稳定LoRA在训练过程中的秩选择,影响LoRA优化稳定性。 | 布尔值 |
--use_dora [USE_DORA] | 非必须,默认值: False | 是否使用DoRA(weight-decomposed lora)方法。 | 优化LoRA微调中权重分解策略,影响最终训练效果。 | 布尔值 |
--pissa_init [PISSA_INIT] | 非必须,默认值: False | 是否初始化PiSSA适配器。 | 一种特殊的适配器初始化方法,影响LoRA初始状态。 | 布尔值 |
--pissa_iter PISSA_ITER | 非必须,默认值: 16 | PiSSA中FSVD迭代次数,-1为禁用。 | 当使用PiSSA适配器需控制迭代次数。影响适配器初始化效果。 | 整数值 |
--pissa_convert [PISSA_CONVERT] | 非必须,默认值: False | 将PiSSA适配器转换为普通LoRA适配器。 | 当初始化后想切换回标准LoRA表示。影响适配器最终格式。 | 布尔值 |
--create_new_adapter [CREATE_NEW_ADAPTER] | 非必须,默认值: False | 是否创建一个随机初始化的新adapter。 | 当需要在已有模型上新增一层适配器时使用。影响模型结构。 | 布尔值 |
--freeze_trainable_layers FREEZE_TRAINABLE_LAYERS | 非必须,默认值: 2 | 部分参数冻结微调中可训练层的数量。正数表示最后n层,负数表示前n层。 | 在部分参数冻结的微调策略中控制训练层的范围。影响训练参数分布与速度。 | 整数值 |
--freeze_trainable_modules FREEZE_TRAINABLE_MODULES | 非必须,默认值: all | 指定哪些模块可训练(partial-parameter微调)。all 或逗号分隔模块名称。 | 微调中仅特定模块参与更新,影响参数冻结策略。 | 字符串 |
--freeze_extra_modules FREEZE_EXTRA_MODULES | 非必须,默认值: None | 除隐藏层外额外可训练模块名称,用逗号分隔。 | 当除了隐藏层外还想微调其他子模块时使用。影响微调范围。 | 字符串 |
--pure_bf16 [PURE_BF16] | 非必须,默认值: False | 是否以纯bf16精度训练(无AMP)。 | 在支持bf16硬件上可提升训练速度并减小内存。影响训练精度和性能。 | 布尔值 |
--stage {pt,sft,rm,ppo,dpo,kto} | 非必须,默认值: sft | 指定训练阶段:pt 预训练, sft 有监督微调, rm 奖励建模, ppo PPO微调, dpo 直接偏好优化, kto KTO优化。 | 根据任务需求选择对应训练阶段策略。影响训练流程和目标。 | 枚举值 |
--finetuning_type {lora,freeze,full} | 非必须,默认值: lora | 指定微调类型:lora 低秩适配微调, freeze 部分参数冻结, full 全参数微调。 | 根据资源与精度要求选择合适微调策略。影响训练成本与灵活性。 | 枚举值 |
--use_llama_pro [USE_LLAMA_PRO] | 非必须,默认值: False | 是否仅使扩展块参数可训练(llama_pro特性)。 | 当使用特定架构或特性微调时启用。影响训练参数选择。 | 布尔值 |
--use_adam_mini [USE_ADAM_MINI] | 非必须,默认值: False | 是否使用Adam-mini优化器。 | 类似BAdam,为优化策略变体。影响训练优化策略。 | 布尔值 |
--freeze_vision_tower [FREEZE_VISION_TOWER] | 非必须,默认值: True | 在多模态训练中是否冻结视觉塔(视觉特征提取网络)。 | 当仅微调语言部分时保持视觉特征固定。影响多模态训练参数分布。 | 布尔值,--freeze_vision_tower 表示True |
--no_freeze_vision_tower | 非必须,默认值: False | 不冻结视觉塔参数。 | 当需要对视觉特征提取层进行微调时使用。 | 无参值 |
--train_mm_proj_only [TRAIN_MM_PROJ_ONLY] | 非必须,默认值: False | 是否仅训练多模态投影层。 | 在多模态模型中只针对多模态融合层微调,影响训练层范围。 | 布尔值 |
--compute_accuracy [COMPUTE_ACCURACY] | 非必须,默认值: False | 评估时是否计算token级别的准确率。 | 在评估中需要更细粒度的指标时使用。影响评估指标计算。 | 布尔值 |
--plot_loss [PLOT_LOSS] | 非必须,默认值: False | 是否保存训练损失曲线图表。 | 当需要可视化训练过程loss变化时启用。影响日志输出。 | 布尔值 |
--do_sample [DO_SAMPLE] | 非必须,默认值: True | 推断时是否使用采样策略,否则使用贪心解码。 | 在生成任务中鼓励多样性时启用采样。影响生成结果多样性。 | 布尔值 |
--no_do_sample | 非必须,默认值: False | 不使用采样,而使用贪心解码。 | 当需要确定性输出时禁用采样。 | 无参值 |
--temperature TEMPERATURE | 非必须,默认值: 0.95 | 采样时的温度值,越大生成结果越多样。 | 当需要更具创造性的输出时提高该值。影响生成多样性和稳定性。 | 浮点数(0到1或稍大),示例:--temperature 1.0 |
--top_p TOP_P | 非必须,默认值: 0.7 | nucleus sampling中使用top-p截断,保留概率和前p的token。 | 控制采样的多样性与质量平衡。影响生成分布控制。 | 浮点数(0到1),示例:--top_p 0.9 |
--top_k TOP_K | 非必须,默认值: 50 | top-k采样,保留概率最高的k个token。 | 控制采样范围大小,影响生成多样性和稳定性。 | 整数值,示例:--top_k 100 |
--num_beams NUM_BEAMS | 非必须,默认值: 1 | beam search束宽。大于1则进行多束搜索以找到更优解。 | 当需要更高质量而非随机性输出时增加beam数。影响推理速度和结果质量。 | 整数值 |
--max_length MAX_LENGTH | 非必须,默认值: 1024 | 生成序列的最大长度(包括输入和输出)。 | 在生成任务中限制最大响应长度。影响资源消耗和响应内容完整度。 | 整数值 |
--max_new_tokens MAX_NEW_TOKENS | 非必须,默认值: 1024 | 独立于输入长度的最大生成新token数。 | 控制实际生成回答的长度。影响输出篇幅和响应时间。 | 整数值 |
--repetition_penalty REPETITION_PENALTY | 非必须,默认值: 1.0 | 对重复token的惩罚系数,>1可减少生成中的重复现象。 | 当输出文本冗余严重时提高该值。影响输出文本质量。 | 浮点数 |
--length_penalty LENGTH_PENALTY | 非必须,默认值: 1.0 | 在beam search中对较长序列的惩罚或奖励。>1会奖励长输出。 | 当需要鼓励更短或更长回答时调整。影响生成长度平衡。 | 浮点数 |
--default_system DEFAULT_SYSTEM | 非必须,默认值: None | Chat对话中默认的system消息,用于设定回答的角色和风格。 | 当需要在无特定指令时有一个默认系统上下文。影响对话中回答的风格和基调。 | 字符串 |