跳转至

二十三:调参技巧自测题

来源:http://mp.weixin.qq.com/s?__biz=MzYyNTk3Njg1NA==&mid=2247484231&idx=1&sn=ce0d62c30fc214041acef22aff6901e0&chksm=f01eb03ec7693928d5efab8faba5d97c15f6222eb2781aa3b58440d0855a5b614a5d33309f05#rd

A. 调参目标与基本原则

  • 什么是超参数?它和模型参数有什么区别?

  • 为什么说调参不是盲目试参数,而是一个实验工程问题?

  • 一个调参任务开始前,应该先明确哪些目标和约束?

  • 为什么调参前必须建立可靠 baseline?

  • 一个可靠 baseline 至少应该记录哪些信息?

  • 为什么要先做小数据过拟合测试?它能排查哪些问题?

  • 调参时为什么不能只看单次实验的最好结果?

  • 什么是 scientific hyperparameters、nuisance hyperparameters 和 fixed hyperparameters?这种分类有什么价值?

B. 数据、指标与误差分析

  • 训练集、验证集和测试集在调参流程中分别承担什么角色?

  • 为什么测试集不能在调参过程中频繁使用?

  • 时间序列任务和用户级任务在数据划分上分别要注意什么?

  • 请列举几种常见数据泄漏形式。

  • 如果验证集指标很高但测试集明显下降,你会如何排查?

  • 调参时为什么要区分优化指标、监控指标、业务指标和切片指标?

  • 为什么总指标提升不一定代表模型真的变好?

  • 误差分析应该如何指导下一轮调参?

  • 在大模型微调中,为什么训练 loss 下降不一定代表模型质量提升?

C. 学习率、Batch Size 与训练步数

  • 为什么学习率通常是最重要的超参数?

  • 学习率过大时,训练曲线和数值表现通常会出现哪些现象?

  • 学习率过小时,训练过程通常有什么表现?

  • 为什么学习率搜索通常使用对数尺度?

  • 大模型全参微调和 LoRA 微调在学习率选择上通常有什么差异?

  • micro batch size、gradient accumulation steps、world size 和 global batch size 分别是什么?

  • 请写出 global batch size 的计算公式。

  • 增大 batch size 会对显存、吞吐、梯度噪声和泛化产生什么影响?

  • 梯度累积能解决什么问题?它不能解决什么问题?

  • 当 GPU 数量增加时,为什么原来的学习率和训练步数可能不再合适?

  • 如果 global batch size 变大,可以采用哪些学习率缩放策略?

D. 优化器、正则化与学习率调度

  • SGD、Adam 和 AdamW 的核心区别是什么?

  • 为什么 Transformer 和大模型训练中 AdamW 很常见?

  • Adam 优化器中的 beta1、beta2、epsilon 分别影响什么?

  • 在常规调参中,为什么通常优先调 learning rate 和 weight decay,而不是一开始就调 beta1/beta2?

  • weight decay 的作用是什么?AdamW 中的 weight decay 和传统 L2 正则有什么区别?

  • dropout 的作用是什么?过大的 dropout 会带来什么问题?

  • label smoothing 的作用是什么?它适合解决什么类型的问题?

  • early stopping 的基本思想是什么?它有什么风险?

  • 常见学习率调度策略有哪些?各自适合什么场景?

  • warmup 的作用是什么?warmup 过长或过短分别会带来什么问题?

  • 梯度裁剪解决什么问题?为什么它不能替代正确的学习率设置?

  • mixed precision 训练中出现 NaN/Inf 时,应该检查哪些因素?

E. 欠拟合、过拟合与模型容量

  • 如何根据 train loss 和 valid loss 判断欠拟合?

  • 如何根据 train loss 和 valid loss 判断过拟合?

  • 模型容量不足时,可以从哪些方向改进?

  • 如果模型过拟合,调参上有哪些常见处理手段?

  • 为什么增加正则化并不总是正确选择?

  • 大模型微调中的灾难性遗忘是什么?调参时如何缓解?

F. 搜索策略与实验管理

  • 网格搜索的优点和缺点是什么?

  • 为什么随机搜索在高维超参数空间中通常比粗网格搜索更有效?

  • 贝叶斯优化的基本思想是什么?它适合什么场景?

  • Hyperband 和 Successive Halving 的核心思想是什么?

  • ASHA 相比同步 Successive Halving 有什么优势?

  • 如何设计一个合理的超参数搜索空间?

  • 如果某个超参数的最优值总在搜索边界上,应该怎么处理?

  • 为什么调参实验要记录代码版本、数据版本、随机种子和完整配置?

  • 为什么重要结论需要多 seed 复验?

  • 你会如何命名和管理大量调参实验?

G. 大模型微调调参

  • 大模型 SFT 微调中,最优先关注哪些训练超参数?

  • LoRA 的 rank r、lora_alpha、lora_dropout 分别控制什么?

  • target_modules 的选择会如何影响 LoRA 微调效果和成本?

  • max sequence length 对显存、速度和效果分别有什么影响?

  • packing 技术能提升什么?使用 packing 时必须注意什么?

  • SFT 中 loss mask 为什么很关键?常见错误是什么?

  • 为什么训练和推理的 chat template 必须一致?

  • 大模型微调时应该如何评估模型,而不是只看 loss?

H. RLHF、分布式与故障诊断

  • RLHF/PPO 调参中 KL coefficient 的作用是什么?过大或过小会怎样?

  • reward scale、advantage normalization 和 entropy coefficient 分别影响什么?

  • PPO 中 clip range 的作用是什么?

  • 分布式训练中 global batch 改变后,为什么要重新审视 warmup、学习率和总 step?

  • 如果训练 loss 完全不下降,你会按什么顺序排查?

  • 如果训练出现 OOM、训练很慢或验证指标剧烈波动,你分别会如何处理?

            预览时标签不可点
    

    <div class="