LLaMA-Factory 微调可配置的模型基本参数
LLaMA-Factory 微调可配置的模型基本参数
flyfish
基本参数
一、模型加载与路径配置
参数名 | 类型 | 描述 | 默认值 |
---|---|---|---|
model_name_or_path | Optional[str] | 模型路径(本地路径或 Huggingface/ModelScope 路径)。 | None |
adapter_name_or_path | Optional[str] | 适配器路径(本地路径或 Huggingface/ModelScope 路径),多路径用逗号分隔。 | None |
adapter_folder | Optional[str] | 包含适配器权重的文件夹路径。 | None |
cache_dir | Optional[str] | 保存从 Hugging Face 或 ModelScope 下载的模型的本地路径。 | None |
model_revision | str | 所使用的特定模型版本。 | main |
hf_hub_token | Optional[str] | 用于登录 HuggingFace 的验证 token。 | None |
ms_hub_token | Optional[str] | 用于登录 ModelScope Hub 的验证 token。 | None |
om_hub_token | Optional[str] | 用于登录 Modelers Hub 的验证 token。 | None |
二、分词器与词表配置
参数名 | 类型 | 描述 | 默认值 |
---|---|---|---|
use_fast_tokenizer | bool | 是否使用 fast_tokenizer。 | True |
resize_vocab | bool | 是否调整词表和嵌入层的大小。 | False |
split_special_tokens | bool | 是否在分词时将 special token 分割。 | False |
new_special_tokens | Optional[str] | 要添加到 tokenizer 中的 special token,多个用逗号分隔。 | None |
三、内存优化与加载策略
参数名 | 类型 | 描述 | 默认值 |
---|---|---|---|
low_cpu_mem_usage | bool | 是否使用节省内存的模型加载方式。 | True |
device_map | Optional[Union[str, Dict[str, Any]]] | 模型分配的设备映射(自动管理,无需手动指定)。 | None |
offload_folder | str | 卸载模型权重的路径。 | offload |
disable_gradient_checkpointing | bool | 是否禁用梯度检查点。 | False |
use_reentrant_gc | bool | 是否启用可重入梯度检查点。 | True |
四、性能优化与加速技术
参数名 | 类型 | 描述 | 默认值 |
---|---|---|---|
flash_attn | Literal["auto", "disabled", "sdpa", "fa2"] | 是否启用 FlashAttention 加速训练和推理。 | auto |
shift_attn | bool | 是否启用 Shift Short Attention (S²-Attn)。 | False |
mixture_of_depths | Optional[Literal["convert", "load"]] | 模型转换为 Mixture of Depths (MoD) 模式的方式。 | None |
use_unsloth | bool | 是否使用 unsloth 优化 LoRA 微调。 | False |
use_unsloth_gc | bool | 是否使用 unsloth 的梯度检查点。 | False |
enable_liger_kernel | bool | 是否启用 liger 内核以加速训练。 | False |
moe_aux_loss_coef | Optional[float] | MoE 架构中 aux_loss 系数(控制专家负载均衡)。 | None |
五、数值精度与计算配置
参数名 | 类型 | 描述 | 默认值 |
---|---|---|---|
upcast_layernorm | bool | 是否将 layernorm 层权重精度提高至 fp32。 | False |
upcast_lmhead_output | bool | 是否将 lm_head 输出精度提高至 fp32。 | False |
compute_dtype | Optional[torch.dtype] | 用于计算模型输出的数据类型(自动管理,无需手动指定)。 | None |
infer_dtype | Literal["auto", "float16", "bfloat16", "float32"] | 推理时的模型数据类型。 | auto |
六、推理与生成配置
参数名 | 类型 | 描述 | 默认值 |
---|---|---|---|
infer_backend | Literal["huggingface", "vllm"] | 推理时使用的后端引擎。 | huggingface |
use_cache | bool | 是否在生成时使用 KV 缓存。 | True |
model_max_length | Optional[int] | 模型的最大输入长度(自动管理,无需手动指定)。 | None |
block_diag_attn | bool | 是否使用块对角注意力(自动管理,无需手动指定)。 | False |
七、安全与调试配置
参数名 | 类型 | 描述 | 默认值 |
---|---|---|---|
trust_remote_code | bool | 是否信任来自 Hub 上数据集/模型的代码执行。 | False |
print_param_status | bool | 是否打印模型参数的状态。 | False |
train_from_scratch | bool | 是否随机初始化模型权重(从头训练)。 | False |
八、位置编码与注意力机制
参数名 | 类型 | 描述 | 默认值 |
---|---|---|---|
rope_scaling | Optional[Literal["linear", "dynamic", "yarn", "llama3"]] | RoPE 缩放策略。 | None |