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 |