常见参数分类 & 含义对照表:
🔹模型相关
参数 | 含义 |
---|---|
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 必要选项) |