常見參數分類 & 含義對照表:
🔹模型相關
參數 | 含義 |
---|---|
model_name_or_path | 基礎模型的路徑(本地或 HuggingFace Hub 上的名字,如 meta-llama/Llama-2-7b-hf) |
adapter_name_or_path | LoRA/Adapter 權重路徑(如果要在已有權重上繼續訓練或推理) |
cache_dir | 模型緩存路徑 |
use_fast_tokenizer | 是否使用 fast tokenizer(基于 tokenizers 的實現,速度快) |
resize_vocab | 是否根據新增的 special tokens 擴充詞表 |
🔹 數據集相關
參數 | 含義 |
---|---|
dataset | 使用的數據集名稱(框架內置如 alpaca_gpt4,也可以自定義) |
dataset_dir | 數據集目錄路徑 |
template | Prompt 模板(例如 alpaca、vicuna,會決定輸入拼接格式) |
cutoff_len | 每條樣本的最大 token 長度(超出會被截斷) |
max_samples | 限制訓練時使用的最大樣本數(調試時用) |
🔹 訓練相關
參數 | 含義 |
---|---|
do_train | 是否進行訓練 |
do_eval | 是否進行評估 |
output_dir | 模型保存目錄 |
num_train_epochs | 訓練的總 epoch 數 |
max_steps | 如果指定,訓練到該步數后停止(優先級高于 num_train_epochs) |
per_device_train_batch_size | 每張 GPU 的訓練 batch size |
gradient_accumulation_steps | 梯度累計步數,用于模擬更大 batch |
learning_rate | 學習率 |
lr_scheduler_type | 學習率調度器(linear, cosine, constant等) |
warmup_steps / warmup_ratio | 學習率預熱步數/比例 |
weight_decay | 權重衰減系數 |
max_grad_norm | 梯度裁剪閾值 |
logging_steps | 日志打印間隔 |
save_steps | 模型保存間隔(步數) |
save_total_limit | 只保留最近的多少個 checkpoint |
🔹 PEFT / LoRA 參數
參數 | 含義 |
---|---|
finetuning_type | 微調方式:lora, full, freeze, qlora |
lora_rank | LoRA 低秩矩陣維度 r |
lora_alpha | LoRA 縮放系數 α |
lora_dropout | LoRA dropout 比例 |
target_modules | 應用 LoRA 的模塊(默認 q_proj,k_proj,v_proj,o_proj) |
🔹 推理/生成相關
參數 | 含義 |
---|---|
do_predict | 是否運行預測/推理 |
max_new_tokens | 生成時最大新 token 數 |
temperature | 生成時溫度(越高越隨機) |
top_k | 采樣時 top-k |
top_p | nucleus sampling 概率閾值 |
repetition_penalty | 重復懲罰系數 |
🔹 量化相關
參數 | 含義 |
---|---|
quantization_bit | 量化比特數(4, 8等) |
bnb_4bit_use_double_quant | 是否使用雙重量化 |
bnb_4bit_quant_type | 量化類型(如 nf4、fp4) |
bnb_4bit_compute_dtype | 計算時數據類型(float16/bfloat16) |
🔹 其他常用參數
參數 | 含義 |
---|---|
seed | 隨機數種子(保證可復現) |
report_to | 日志上報方式(wandb, tensorboard, none) |
ddp_find_unused_parameters | 分布式訓練時是否查找未用參數(DDP 必要選項) |