一、 核心调参目标
在开始调参前,必须明确目标:在“欠拟合”和“过拟合”之间找到最佳平衡点,使模型在未知数据上表现最优,而非在训练数据上。
-
欠拟合:模型太简单,没学会数据中的规律。
-
症状:训练集和验证集表现都差。
-
对策:增加模型复杂度、增加特征、减少正则化。
-
-
过拟合:模型太复杂,把训练数据的噪声也学会了。
-
症状:训练集表现好,验证集表现差。
-
对策:增加正则化、减少模型复杂度、增加数据。
-
二、 通用模型核心调参项
无论是传统模型还是深度学习模型,以下参数是调参的焦点:
1. 学习率
-
是什么:控制模型参数在每次更新时的步长。
-
为什么重要:最重要的参数,没有之一。
-
太大:模型可能在最优点附近震荡,无法收敛,甚至发散。
-
太小:收敛速度极慢,可能陷入局部最优。
-
-
常见策略:
-
学习率调度:不是固定值,而是动态变化。如
Step Decay(每隔一定轮数降低一次)、Cosine Annealing(像余弦曲线一样平滑下降)。 -
自适应优化器:如
Adam、AdamW,它们为每个参数自适应地计算不同的学习率。Adam的默认参数 (lr=1e-3,beta1=0.9,beta2=0.999) 通常是个不错的起点。
-
2. 批量大小
-
是什么:一次向前/向后传播所使用的训练样本数量。
-
影响:
-
小批量:更新更频繁,收敛曲线更嘈杂,有助于跳出局部最优,对GPU内存要求低。
-
大批量:训练更稳定、更快,但可能泛化能力稍差,且对内存要求高。
-
-
经验法则:通常设置为 2 的 N 次方(如 32, 64, 128, 256),以利用硬件并行性。
3. 正则化参数
-
目的:防止过拟合。
-
L1/L2 正则化:在损失函数中加入权重的范数作为惩罚项。
-
L1 (Lasso):倾向于产生稀疏权重,可用于特征选择。
-
L2 (Ridge):使权重平滑地趋向于0,但不为0。
-
调参项:正则化系数
lambda,控制惩罚力度。
-
-
Dropout
-
是什么:在训练时,随机“丢弃”(暂时禁用)一部分神经元。
-
作用:强制网络不依赖任何单个神经元,增强鲁棒性,是一种模型平均。
-
调参项:
dropout_rate,即神经元被丢弃的概率(通常设置在 0.2 到 0.5 之间)。
-
4. 网络架构参数
-
层数与神经元数:
-
原则:网络越深、越宽,能力越强,但也越容易过拟合。
-
策略:对于新问题,可以从一个相对简单的网络开始,逐步增加复杂度。
-
-
激活函数:
-
常见选择:
ReLU(及其变体如Leaky ReLU,PReLU)是默认首选,因其能有效缓解梯度消失。 -
输出层:二分类用
Sigmoid,多分类用Softmax,回归用Linear。
-
三、 大模型微调的特殊调参项
当我们在预训练大模型(如BERT, GPT)上进行下游任务微调时,调参策略有所不同:
1. 分层学习率与偏置项
-
问题:大模型的不同层学习到的知识粒度不同(底层是通用语法/特征,顶层是具体任务知识)。
-
策略:
-
顶层使用较大学习率:因为顶层需要为新任务快速调整。
-
底层使用较小学习率:因为底层的通用特征很宝贵,微调过多可能导致“灾难性遗忘”。
-
示例:
{"layer_lr_mult": {"0": 0.1, "1": 0.2, ..., "11": 1.0}}
-
2. 权重衰减
-
在微调中尤为重要,是控制过拟合的主要手段。
AdamW优化器将权重衰减与梯度更新解耦,效果更好。
3. LoRA 等高效微调方法的参数
-
LoRA:只训练大模型中注入的少量低秩适配器,而不动原始权重。
-
调参项:
-
rank (r):LoRA矩阵的秩,控制适配器的参数量和能力。通常较小(8, 16, 32)。 -
alpha:缩放因子,控制适配器输出的强度。 -
dropout:在LoRA适配器中使用,防止其过拟合。
-
-
学习率:由于只训练少量参数,LoRA的学习率可以设得比全参数微调大(如
1e-3到1e-4)。
-
四、 调参工作流与最佳实践
-
基准线优先:使用模型或领域的默认/推荐参数,建立一个性能基准线。
-
自动化搜索:手动调参效率低,应使用自动化工具:
-
网格搜索:遍历所有参数组合,计算成本高,不推荐。
-
随机搜索:更高效,能在更少的尝试中找到优秀参数。
-
贝叶斯优化:当前最主流的方法(如
Optuna,Weights & Biases)。它基于历史试验结果,智能地推测下一组更有可能提升性能的参数。
-
-
早停:监控验证集损失,当其在连续多个周期内不再下降时,提前停止训练。这是防止过拟合的“免费午餐”。
-
交叉验证:在小数据集上,使用K折交叉验证来更稳健地评估参数性能。
总结:调参清单
| 类别 | 核心参数 | 常用范围/选择 | 调参目标 |
|---|---|---|---|
| 优化器 | 学习率 | 1e-5 到 1e-2(微调宜小,从头训练宜大) | 平衡收敛速度与稳定性 |
| 批量大小 | 32, 64, 128, 256 | 平衡训练速度与泛化能力 | |
| 正则化 | L2权重衰减 | 1e-4, 1e-3, 0.01 | 防止权重过大,控制过拟合 |
| Dropout率 | 0.1 到 0.5 | 增强模型鲁棒性,防止过拟合 | |
| 架构 | 层数/神经元数 | 依问题复杂度而定 | 平衡模型能力与过拟合风险 |
| 大模型微调 | 分层学习率 | 底层lr小,顶层lr大 | 保留通用知识,快速适应新任务 |
| (LoRA) | Rank ® | 8, 16, 32 | 平衡参数量与适配能力 |
| Alpha | 16, 32(通常设为2*r) | 控制适配器输出强度 |
最后记住一句经验法则:“宁可一个大模型轻微欠拟合,也不要让它过拟合。” 因为过拟合的模型在真实世界中是毫无用处的。调参是一门艺术,需要理论、经验和大量实验的结合。
521

被折叠的 条评论
为什么被折叠?



