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 (S2-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 |