一篇读懂 Batch Size 与学习率调度:warmup、cosine 与缩放法则

为什么需要调度:学习率不是常数

学习率控制每步参数更新的幅度——它不是训练全程的常数,而是一条先升后降的曲线。这条曲线的两个动作各有明确的目的。Warmup(预热):训练开始的几千步里,学习率从接近零线性升到目标值。原因有二:其一,训练初期模型是「随机初始化 + 未热身」状态,梯度方向不可靠——大步幅走不可靠的方向容易把参数带进坏区域(甚至发散);其二,优化器的动量状态需要几步才能「积累」起来(Adam 的二阶动量估计在初期噪声极大),warmup 给这些统计量留出稳定时间。没有 warmup 的大学习率开局是训练发散的经典原因——loss 第一步就 NaN 的案例,多数是 warmup 缺失或过短。

退火(decay):训练中后期学习率逐步下降,末期降到目标值的一小部分(如 10%)。原因:训练后期模型已接近好的解区域,大步幅会「跨过」好解(在最优点附近震荡不落定)——退火让模型「落定」。退火阶段常伴随能力提升的加速(本库预训练篇讲过:退火期混入高质量数据是各家标配——低学习率 + 好数据的组合把最后的性能榨出来)。

调度曲线的选择:cosine 为什么赢了

退火曲线的形态有多个候选:线性衰减、阶梯衰减(每 N 步降一档)、余弦退火(cosine)、以及 WSD(warmup-stable-decay,先恒定后急降)等。cosine 成为大模型预训练的默认的原因:它的形状「前期缓降、中段平滑、末期趋零」贴合训练的实际需要(早期还想多学、末期要精确落定),且在大量实验中与线性衰减打平或略优、实现又极简单——「不劣 + 简单」的组合在超参选择里几乎总是赢家。WSD 调度是近年 interesting 的挑战者:长时间保持恒定学习率、最后短促急降——它的卖点是「训练中途的任何 checkpoint 都可用」(恒定期的模型都还「半熟」可用,便于随时评估与提前停止),代价是最终峰值常略逊于 cosine。选型一句话:追求最终峰值 → cosine;需要中途多 checkpoint 可用(频繁评估、算力不确定)→ WSD。

Batch Size 与学习率的联动:缩放法则

Batch Size(每步的样本量)与学习率不是独立超参——它们共同决定「参数更新的幅度与噪声」,联动调整有经验法则。大 batch 需要大学习率:batch 越大,梯度估计的噪声越小、方向越可靠,可以(也应该)配更大的学习率——线性缩放法则(batch 翻倍、学习率翻倍)是小范围调整的经验起点,但大 batch 的边际收益递减:batch 超过某个「临界值」后,继续增大只增加显存与算力消耗、训练效率不再提升(这个临界值本身随训练进程变化——早期小、后期大,因此出现了 batch size 随训练递增的动态策略)。梯度累积(本库专篇)是 batch size 的显存解法:小 batch 多次累积再更新,等效大 batch——它与学习率的关系遵守同样的缩放法则(累积 4 次 = batch ×4 = 学习率按比例放大)。

预训练的量级参考:现代大模型的 batch size 以「token 数」计,常见百万到千万 token 一批——巨大的 batch 让梯度噪声极小、训练平稳,但配套的学习率、warmup 步数都要按比例放大。

实战的诊断:从 loss 曲线读调度问题

调度问题会写在 loss 曲线上,四个典型形态的读法。开局 loss 飙升或 NaN:warmup 太短或缺、学习率对模型规模太大——加长 warmup、降学习率。中期 loss 平台期过长:学习率可能偏小(学不动)或数据到瓶颈——先试升学习率(10–20% 步进)再怀疑数据。末期 loss 降不动且震荡:退火不够深——末期学习率降到初始的 10% 以下通常能再压一段。SFT 时 loss 快速到极低然后过拟合:epoch 过多或学习率偏大——SFT 的小数据特性要求更保守的节奏(本库 SFT 篇)。调度的元认知一句话:学习率调度不是玄学,是「什么时候大步探索、什么时候小步落定」的节奏控制——loss 曲线就是节奏错误的心电图。

调度器与优化器的协同:一次完整训练的节奏安排

把调度器(正文)与训练全程的其他节奏要素合起来看,一次完整训练的「节奏编排」值得单独成篇。全程的五个节奏阶段。阶段一:warmup 爬坡(前 1–2% 步数,学习率线性上升——给优化器动量与数据加载预热)。阶段二:稳定学习期(学习率峰值平台,cosine 或 WSD 的主体——大部分能力在此积累)。阶段三:退火期(学习率降向谷底,配高质量数据——性能的最后冲刺,本库预训练篇)。阶段四:收尾检查(最终 checkpoint 的全量评测、与中间 checkpoint 的对比择优)。阶段五:后训练接力(基座交给 SFT/RLHF 团队——预训练的「最终模型」只是后训练的「初始模型」)。与优化器的协同:AdamW 的两组超参(β1/β2 的动量系数、weight decay)与调度器的配合——β2 的选择影响二阶动量的平滑窗口(小 batch/高噪声训练用更大的 β2 稳定估计)、weight decay 与学习率衰减的交互(衰减后期的等效正则强度变化——超参不是孤立的,动一个查两个)。SFT/微调场景的简化节奏:小数据微调的调度可以大幅简化(常数学习率 + 余弦到 10% 的短退火、几十步 warmup)——预训练的复杂节奏是为「海量数据长跑」设计的,微调是「短跑」,节奏器跟着距离缩短。节奏编排的元认知:训练超参的调整要有「一次一变 + 曲线验证」的纪律(本库学习率篇)——节奏器的每个旋钮都影响 loss 曲线的形态,而 loss 曲线是你唯一能实时看到的反馈;读懂曲线的每个「症状」(平台、震荡、尖峰)对应的「病灶」(调度、数据、数值),训练工程就进入了可诊断的领域。

训练超参的优先级:新手该调什么、不该调什么

超参的调优空间巨大但价值悬殊——一份「优先级清单」帮新手把精力花在刀刃上。第一优先级(决定成败):学习率及其调度(本库专篇)——它错了其他都对也没用;数据质量与配比(本库数据管线)——垃圾进垃圾出。第二优先级(显著影响):batch size(与学习率联动,本库正文)——影响收敛速度与稳定性;epoch 数(过拟合的主旋钮,本库 SFT 篇);warmup 长度(开局稳定)。第三优先级(锦上添花):weight decay、Dropout 率(本库正则化篇——大数据场景影响微小)、优化器的 β 参数(默认值通常够用)、warmup 的曲线形状(线性 vs 指数——差别极小)。明确不建议新手调的:优化器的数学内核(Adam 的变体选择——默认 AdamW)、损失的数值细节(框架已处理)、以及「从论文里抄来的新调度器」(论文的设置与你不同,复现常翻车)。调参的纪律:单变量原则(一次只动一个)、基线保留(每个配置的曲线与结果存档)、以及「调参上限」(设置调参的时间预算——超参的边际收益递减很快,95 分的配置与 99 分的配置在最终效果上常常不可区分)。超参调优的成熟姿态:把默认值当作先验(它们是海量实验的沉淀),只在证据(loss 曲线、评估结果)指向问题时才动手术刀。

训练超参的记录与管理:实验管理的最小实践

超参调优(正文纪律)需要实验管理支撑,最小实践版本值得给出。记录什么:每次训练的完整配置(全部超参、数据版本、代码版本 commit hash)、环境(硬件、框架版本)、以及结果(loss 曲线图、评估分数、产出 checkpoint 路径)——「配置-环境-结果」三件套的绑定是实验管理的最小单元(缺任何一件,实验就不可复现)。用什么记:轻量方案是结构化的命名 + 一个表格(checkpoint 目录名编码配置摘要、共享表格记录明细);进阶方案是实验管理工具(W&B/MLflow 类——自动记录曲线与配置)。最小实践的价值场景:「上周那个效果好的模型用的什么配置」——没有实验记录时,这个问题要靠翻聊天记录考古;有记录时,一条查询解决。两个额外的管理建议:其一,checkpoint 目录的命名规范(日期 + 配置摘要 + 评估分数——目录名即可初步筛选);其二,「失败实验也要记」(失败的配置同样是信息——它告诉下一次「此路不通」,实验记录的价值一半来自失败样本)。实验管理的成本极低(一个表格的纪律),收益是整个训练过程从「凭记忆」变成「可追溯」——它是从个人玩票到团队工程的分水岭之一。

学习率的最终检查单:每次训练前的五问

学习率与调度(正文)的收尾是一张训练前五问检查单。一问:学习率的量级对吗——预训练 1e-4 级、SFT 1e-5~2e-5 级、LoRA 1e-4~3e-4 级——量级错了先纠量级。二问:warmup 够吗——预训练数千步、微调几十步,开局发散先查 warmup。三问:调度形状匹配吗——预训练 cosine/WSD、微调短退火,长跑用长跑的节奏短跑用短跑的。四问:与 batch 联动了吗——batch 变了学习率按缩放法则跟着变了吗(梯度累积的等效 batch 也算数)。五问:有对照基线吗——本次的曲线能与历史曲线对比吗(没有基线的调参是盲调)。五问全过再启动训练——两分钟的检查单,避免的是「一周训练因学习率报废」的最高频事故。学习率是这个领域当之无愧的第一超参:它值得每次训练前的五分钟。

小结

学习率调度是训练的节奏器:warmup(初始爬坡,给不可靠的早期梯度与优化器动量留稳定时间,防开局发散)、退火(后期落定,避免跨过好解)、cosine 是「不劣且简单」的默认(WSD 换中途 checkpoint 可用性)、batch size 与学习率联动缩放(大 batch 配大学习率,边际收益递减、临界值随训练进程移动)。诊断靠 loss 曲线的四个典型形态(开局飙升、中期平台、末期震荡、SFT 过拟合)——调度不是玄学,是节奏控制,loss 曲线是它的心电图。

← 返回资讯列表

读者留言

COMMENTS 暂无
仅本站原创文章开放留言 · 请勿留下手机号、邮箱等个人信息

还没有留言,来说第一句?