LlamaFactory 推理参数介绍

参数名称必须指定/默认值含义说明使用场景和影响点取值范围与示例
--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非必须,默认值: 32vLLM引擎中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加速导出。影响导出时间和资源利用率。可选值:cpuauto,示例:--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为常用快速量化框架,hqqeetq为其它量化方法。当需要在推理时动态量化模型,减少内存和计算成本时使用。影响模型推理的性能与内存占用。枚举值,示例:--quantization_method hqq
--quantization_bit QUANTIZATION_BIT非必须,默认值: None推理时动态量化使用的位宽。如指定4或8比特,以减小模型参数体积。在内存或算力紧张场景进行轻量推理。影响模型推理速度与精度。整数值,示例:--quantization_bit 4
--quantization_type {fp4,nf4}非必须,默认值: nf4bitsandbytes int4训练中的量化数据类型。fp4nf4是特定定点格式。在采用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位置编码的缩放策略。lineardynamic对大型上下文的处理可能有所优化。当使用RoPE且上下文窗口很大时,通过缩放策略改进模型性能。影响模型的注意力计算方式。枚举值,示例:--rope_scaling linear
--flash_attn {auto,disabled,sdpa,fa2}非必须,默认值: auto是否启用FlashAttention,提供更快的注意力计算方案。auto自动选择最佳模式。当需要加速大模型的训练或推理时启用,影响注意力层性能。枚举值,autodisabledsdpafa2,示例:--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)结构的模型。在需要对模型深度结构进行改造时使用。影响模型层结构和推理性能。枚举值,convertload
--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引擎。根据性能需求和兼容性选择不同后端。影响推理速度和特性支持。枚举值:huggingfacevllm
--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非必须,默认值: NoneHugging Face Hub认证令牌,用于访问私有模型或推送模型到HF Hub。当需要从HF Hub下载私有模型或上传模型时使用。影响模型拉取和发布权限。字符串(token),示例:--hf_hub_token my_secret_token
--ms_hub_token MS_HUB_TOKEN非必须,默认值: NoneModelScope Hub认证令牌。当需要从ModelScope访问私有模型或上传模型时使用。影响访问权限。字符串(token)
--om_hub_token OM_HUB_TOKEN非必须,默认值: NoneModelers 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_underinterleave_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}非必须,默认值: layerBAdam优化器的模式:layer按层更新,ratio按比例更新。根据训练策略优化参数更新方式。影响训练优化细粒度策略。枚举值
--badam_start_block BADAM_START_BLOCK非必须,默认值: None当使用layer模式时,从第几层开始应用BAdam。控制哪些层参与BAdam优化。影响训练分层策略。整数值
--badam_switch_mode {ascending,descending,random,fixed}非必须,默认值: ascendingBAdam优化块切换策略,决定在训练过程中参数更新块的切换方式。控制训练过程中参与优化的参数块切换顺序。影响优化动态过程。枚举值
--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}非必须,默认值: adjacentBAdam优化中mask模式,adjacent表示连续参数块,scatter表示随机分布参数。不同mask模式影响参数分布特征。影响训练稳定性和效果。枚举值
--badam_verbose BADAM_VERBOSE非必须,默认值: 0BAdam优化器详细程度,0不打印,1打印block信息,2打印训练参数详细信息。当需要调试BAdam优化过程时提高verbose。影响控制台输出信息。整数值:0,1,2
--use_galore [USE_GALORE]非必须,默认值: False是否使用GaLore(gradient low-Rank projection)技术减少梯度维度。在大模型训练中降低内存开销或提高训练稳定性。影响训练内存和收敛特性。布尔值
--galore_target GALORE_TARGET非必须,默认值: allGaLore作用的模块名称,逗号分隔或all表示所有线性层。控制GaLore作用对象。影响优化范围。字符串
--galore_rank GALORE_RANK非必须,默认值: 16GaLore梯度低秩分解的秩大小。决定梯度降维程度。影响训练内存和精度。整数值
--galore_update_interval GALORE_UPDATE_INTERVAL非必须,默认值: 200GaLore投影更新间隔步骤数。控制GaLore投影频率。影响优化过程性能。整数值
--galore_scale GALORE_SCALE非必须,默认值: 0.25GaLore缩放系数,用于调整梯度大小。调节梯度更新幅度。影响训练稳定性。浮点数
--galore_proj_type {std,reverse_std,right,left,full}非必须,默认值: stdGaLore投影类型。不同投影类型影响低秩分解方式与梯度方向处理。在实验不同GaLore配置时选用。影响训练优化表现。枚举值
--galore_layerwise [GALORE_LAYERWISE]非必须,默认值: False是否分层启用GaLore更新,以进一步节省内存。在超大模型中通过layerwise策略优化资源利用。影响内存占用与速度。布尔值
--pref_beta PREF_BETA非必须,默认值: 0.1在DPO(直接偏好优化)中使用的beta参数,控制偏好损失的力度。当进行偏好优化训练时,用此值平衡偏好与原始目标。影响模型偏好对齐效果。浮点数
--pref_ftx PREF_FTX非必须,默认值: 0.0DPO训练中的有监督微调(SFT)损失系数。在DPO中融合少量SFT信号,影响最终策略优化。浮点数
--pref_loss {sigmoid,hinge,ipo,kto_pair,orpo,simpo}非必须,默认值: sigmoidDPO中使用的偏好损失类型。不同损失函数可能对偏好对齐有不同的效果。根据实际偏好优化需求选择。影响偏好对齐训练性能。枚举值
--dpo_label_smoothing DPO_LABEL_SMOOTHING非必须,默认值: 0.0cDPO中的平滑参数[0,0.5],对标签进行平滑可增强鲁棒性。当偏好数据嘈杂时使用。影响偏好损失计算。浮点数(0到0.5)
--kto_chosen_weight KTO_CHOSEN_WEIGHT非必须,默认值: 1.0KTO训练中可取样本的损失权重。在KTO方法中平衡好结果和坏结果的loss贡献。影响训练收敛方向。浮点数
--kto_rejected_weight KTO_REJECTED_WEIGHT非必须,默认值: 1.0KTO训练中不可取样本的损失权重。同上,用于区分优劣样本的权重比例。浮点数
--simpo_gamma SIMPO_GAMMA非必须,默认值: 0.5SimPO损失中的目标奖励边距参数。控制SimPO中对奖励差异的敏感度。影响偏好对齐结果。浮点数
--ppo_buffer_size PPO_BUFFER_SIZE非必须,默认值: 1PPO优化步骤中经验缓冲区的最小批数。当使用PPO训练策略时调节训练样本批次大小。影响优化稳定性。整数值
--ppo_epochs PPO_EPOCHS非必须,默认值: 4每个PPO优化步骤中迭代次数。更多迭代可提高对当前样本的适应度,但增加计算量。影响训练速度与性能。整数值
--ppo_score_norm [PPO_SCORE_NORM]非必须,默认值: False是否在PPO训练中启用奖励归一化。若奖励分布变化大,可通过归一化提高训练稳定性。影响奖励处理过程。布尔值
--ppo_target PPO_TARGET非必须,默认值: 6.0PPO自适应KL控制的目标KL值。PPO中使用KL惩罚控制策略更新幅度。影响PPO训练稳定。浮点数
--ppo_whiten_rewards [PPO_WHITEN_REWARDS]非必须,默认值: False是否在PPO前对白样化奖励。同理,用于减少奖励方差对训练的影响。影响奖励处理。布尔值
--ref_model REF_MODEL非必须,默认值: NonePPO或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非必须,默认值: NonePPO训练中使用的奖励模型路径。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 * 2LoRA微调的缩放因子,用于控制更新大小。在LoRA训练中平衡参数更新幅度。影响LoRA微调稳定性和精度。整数值或根据lora_rank计算
--lora_dropout LORA_DROPOUT非必须,默认值: 0.0LoRA微调时的dropout率,避免过拟合。当训练数据有限或过拟合严重时增加dropout。影响LoRA训练效果。浮点数(0到1)
--lora_rank LORA_RANK非必须,默认值: 8LoRA中低秩表示的秩大小。决定LoRA分解维度大小,影响参数量和微调效果。整数值
--lora_target LORA_TARGET非必须,默认值: all指定对哪些模块应用LoRA,可用逗号分隔,all为所有线性层。控制LoRA适用范围,影响微调重点和资源分配。字符串
--loraplus_lr_ratio LORAPLUS_LR_RATIO非必须,默认值: NoneLoRA plus中lr_B/lr_A的学习率比率。在LoRA plus设定中控制两个低秩矩阵的学习率比例。影响微调优化细节。浮点数
--loraplus_lr_embedding LORAPLUS_LR_EMBEDDING非必须,默认值: 1e-06LoRA 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非必须,默认值: 16PiSSA中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奖励建模, ppoPPO微调, 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.7nucleus sampling中使用top-p截断,保留概率和前p的token。控制采样的多样性与质量平衡。影响生成分布控制。浮点数(0到1),示例:--top_p 0.9
--top_k TOP_K非必须,默认值: 50top-k采样,保留概率最高的k个token。控制采样范围大小,影响生成多样性和稳定性。整数值,示例:--top_k 100
--num_beams NUM_BEAMS非必须,默认值: 1beam 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非必须,默认值: NoneChat对话中默认的system消息,用于设定回答的角色和风格。当需要在无特定指令时有一个默认系统上下文。影响对话中回答的风格和基调。字符串