兄弟们,今天聊点干货——模型蒸馏(Knowledge Distillation)。这玩意儿说白了就是让一个“老师”大模型教“学生”小模型,把知识迁移过去。
**💡 为什么重要?**
大模型(比如175B参数)跑起来太烧钱了,显存、推理延迟都感人。蒸馏后的学生模型(比如7B)能在保持80-90%性能的同时,参数量缩到1/10,部署成本直接骨折。
**🛠 实战操作要点**
1. **软标签 + 温度系数**:别硬怼硬标签,用老师模型的softmax输出(温度T>1)做teacher,学生学概率分布比学one-hot更有效。
2. **蒸馏损失权重**:我通常设α=0.7(蒸馏损失) + β=0.3(真实标签损失),数据少时就加大α。
3. **中间层对齐**:不止学最后一层,拿Transformer中间层的hidden states做对比(比如distilBERT那套),效果稳得一批。
**⚠️ 坑点**
别想着蒸馏后精度完全持平大模型——学生模型在长尾知识(比如冷门实体识别)上大概率拉胯。建议蒸馏前先剪枝掉老师模型的噪音层,不然学生连错都学。
**🤔 讨论题**:你们觉得在RAG场景下,蒸馏后的模型做rerank,跟直接用原版小模型比,性价比能打吗? |