Skip to content

微调中常用的优化器有哪些? ​

  • 标签:大模型、AI、微调、优化器

🏛 业务架构师 ​

微调常用优化器我按使用频率讲:

  • AdamW:绝对主力。带权重衰减的 Adam,为 Transformer 优化而生,几乎所�微调框架的默认值。业务上"无脑选它"基本不会错,代价是优化器状态占额外显存(约等于模型参数的两倍)。
  • SGD + Momentum:经典方案,省显存但需要精细调学习率,Transformer 场景已很少用。
  • Adafactor:Adam 的省内存变体,大模型训练时代过渡方案,现在用的不多。
  • Lion / Sophia 等新一代优化器:内存效率更高、部分场景收敛更快,属于前沿尝鲜项,生产案例还在积累。
  • 8-bit Adam(bitsandbytes):把优化器状态量化到 8bit,显存省 75%,QLoRA 场景的常见搭配——"省显存"比"快一点"对中小团队更现实。

业务视角:优化器属于"默认配置即可覆盖 90% 场景"的技术点——AdamW + 框架推荐学习率,把精力留给数据质量和评测。我的团队规则:优化器选型不超过半天讨论时间;真正值得投入的是数据清洗、多样性和评测集建设,那里的每一分投入都能在最终效果上看到回报。面试时能把"数据重于算法参数"讲清楚,比背优化器公式更能体现工程成熟度。

🏗 系统架构师 ​

微调优化器我按使用频率讲三个,重点讲清楚为什么微调场景和预训练选择不同:

  • AdamW(默认主力):Adam 的动量自适应 + 解耦权重衰减。对超参相对鲁棒,学习率 1e-5 ~ 2e-5(全量)/ 1e-4 ~ 3e-4(LoRA)是常用区间。微调数据量小、训练步数短,AdamW 的快收敛特性正合适;
  • AdamW 的显存优化变体:8-bit Adam(bnb)、Paged AdamW——优化器状态压缩到 8bit,省 ~75% 优化器显存,QLoRA 的标准搭配,让大模型低成本微调成立;
  • SGD 系:预训练大模型时代基本不用——损失面复杂、需要精调,小数据微调下不如自适应方法稳;
  • Adafactor / Lion / LOMO 等:省显存特化或新兴优化器,有效果报告但生态位小,做实验可以,生产默认还是 AdamW 系。

架构师视角的实践要点:一是LoRA 场景学习率要高一个量级(LoRA 参数是低秩矩阵,梯度尺度不同,1e-4 起步扫到 3e-4);二是**cosine 调度 + 预热(warmup 3~10%)**是标准配方,短训练也受益;三是微调不是炼丹比赛——固定 AdamW + 调好学习率和数据质量,比换花哨优化器的收益确定性高一个数量级。

💻 全栈开发专家 ​

微调常用优化器按场景选:

  • AdamW(默认选择):Adam 解耦权重衰减,收敛稳、对学习率不敏感。LLM 微调标准配置,动量 β=(0.9, 0.999),weight decay 0~0.1。
  • 8-bit Adam(bitsandbytes / PagedAdamW8bit):优化器状态量化到 8bit,显存省约 75%,QLoRA 官方推荐搭配——效果几乎无损,小卡微调必备:
python
import torch, transformers
from trl import SFTTrainer
args = TrainingArguments(
    optim="paged_adamw_8bit",   # 优化器状态可换页,防 OOM 尖峰
    learning_rate=2e-4, ...)    # LoRA 常用 1e-4~3e-4
  • Adafactor:不存完整二阶动量,省显存的老牌选择,T5 时代标配,现在多被 8bit Adam 取代。
  • SGD + momentum:大 batch 预训练场景(配合 LAMB/LARS)才用,微调少用。
  • Lion:符号更新,内存省一半,部分任务有增益但需要重调 lr(小 3~10 倍),属于尝鲜项。

经验法则:SFT 全量 lr 1e-5~2e-5;LoRA lr 1e-4~3e-4;配 warmup(前 3%~10% 步数线性升)+ cosine 衰减;loss 尖峰先降 lr 或查脏数据,而不是频繁换优化器。先 AdamW/8bit Adam 跑通基线,别在优化器上过度折腾。