第一章:AI预训练与微调避坑总览
AI模型的预训练与微调看似流程化,实则暗藏诸多易被忽视的陷阱。从数据偏差到梯度爆炸,从显存溢出到评估失真,每一个环节都可能让数周训练功亏一篑。本章聚焦高频实践误区,提供可立即落地的规避策略与验证手段。数据清洗不彻底引发语义漂移
微调阶段若直接复用未经去重、未过滤低质文本的下游数据集,模型极易习得噪声模式。例如在医疗领域微调时混入论坛口语化表述(如“这药吃着没啥感觉”),将显著削弱专业术语一致性。建议执行三步清洗:- 使用
fuzzywuzzy或datasets库的deduplicate功能去除近似重复样本 - 基于预训练分词器统计token分布,剔除异常长尾序列(长度 > 95% 分位数且无有效标点)
- 对关键实体字段(如疾病名、药品名)做正则校验与标准化映射
学习率设置失配导致收敛失败
预训练模型对学习率极度敏感。过大易跳过最优解,过小则陷入局部极小。推荐采用分层学习率策略:# Hugging Face Transformers 示例 from transformers import get_polynomial_decay_schedule_with_warmup scheduler = get_polynomial_decay_schedule_with_warmup( optimizer, num_warmup_steps=100, # 预热步数 num_training_steps=1000, # 总训练步数 power=1.0, # 线性衰减 lr_end=1e-7 # 终止学习率 )该调度器在warmup阶段线性提升学习率,随后按多项式衰减,兼顾稳定性与收敛速度。评估指标选择不当掩盖真实性能
常见误区是仅依赖准确率(Accuracy)评估分类任务。下表对比不同场景下的推荐指标:| 任务类型 | 数据分布 | 推荐指标 | 说明 |
|---|---|---|---|
| 二分类 | 类别严重不平衡(正例<5%) | F1-score / AUC-ROC | Accuracy易被多数类主导,F1兼顾精确率与召回率 |
| 多标签分类 | 标签稀疏(平均每样本<2个标签) | Micro-F1 / Hamming Loss | Micro-F1按样本加权,Hamming Loss反映单标签错误率 |