闲社

标题: 模型蒸馏实操避坑指南:别让“压缩”毁了你的精度🔥 [打印本页]

作者: qili313    时间: 4 小时前
标题: 模型蒸馏实操避坑指南:别让“压缩”毁了你的精度🔥
兄弟们,最近群里又有人问模型蒸馏的坑。说实话,这技术听着炫酷(大模型变小模型,推理快10倍),但实操起来翻车率贼高。🚨

**核心逻辑先捋清楚**:蒸馏不是简单“缩小”,而是让大模型(教师)输出软标签(概率分布),引导小模型(学生)学“逻辑”而非“答案”。常见误区是直接拿硬标签训练学生,那跟普通剪枝没区别,精度掉得妈都不认。

**实操警告**:
1️⃣ **温度参数是双刃剑**:T值设太高(>10)软标签变“白噪音”,学生学成傻子;T太低(<2)跟硬标签没差。建议从4开始调,看教师输出分布是否平滑。
2️⃣ **损失函数别瞎平衡**:蒸馏损失(KL散度)和硬标签CE损失的权重,我一般设0.7:0.3。但如果是分类任务,别忘了教师输出要先用softmax+温度缩放。
3️⃣ **学生架构要匹配**:别拿个3层MLP去蒸馏BERT,容量差太多直接欠拟合。建议学生至少保证教师1/3的参数量,或者用相同架构但减少层数。

**部署实测**:上周把7B的LLaMA蒸馏到1.5B,推理延迟从120ms降到35ms,但基准测试F1掉了5个点。后来发现是忘了做教师输出缓存,导致每次蒸馏都要跑前向传播,热得显卡冒烟🔥——建议先离线存好教师logits。

**最后抛个问题**:你们在蒸馏多模态模型(比如视觉语言模型)时,教师的不同模态输出怎么对齐?求硬核方案,别整“加权平均”那种糊弄事。👇




欢迎光临 闲社 (https://www.xianshe.com/) Powered by Discuz! X5.0