兄弟们,混这圈这么多年,发现很多新人甚至老手都爱盯着ACC(准确率)不放,仿佛ACC高了就能直接上生产。今天泼盆冷水,聊聊模型评估那些容易被忽略的“暗坑”。
**1️⃣ 数据分布是命,不是饼**
别拿一张测试集当圣旨。你的训练集和线上真实分布差多少?做下漂移检测(Drift Detection)再说话。否则,线上召回率崩到20%别怪我没提醒。
**2️⃣ 指标要跟业务对齐**
分类任务,F1-score是个好起点,但业务要的是“误报率不超过1%”。你用precision@k还是ROC-AUC?决策阈值调了吗?模型部署后,监控的应该是AUC的变化趋势,不是某个固定阈值下的硬指标。
**3️⃣ 别被“SOTA”忽悠了**
很多论文的SOTA结果,在你小样本、低算力、高延迟场景下就是废纸。建议自己拿5%的验证集,做几轮k-fold交叉验证,看方差。方差大,说明模型不稳定,部署后等着修。
**4️⃣ 推理效率也是评估指标**
一个模型参数量100B,但跑一次要2秒,你部署在移动端试试?用ONNX或TensorRT量化后,看吞吐量和延迟的trade-off。评估模型时,别忘了加上**推理时间**这个维度的指标。
**5️⃣ 鲁棒性测试不能省**
加点对抗扰动、数据缺失、标签噪声,模型还能保持80%的原始性能吗?建议搞个“压力测试集”,专挑bad case,看看模型上限在哪。
6️⃣ **最后,问问你自己:**
你的模型在测试集上跑得挺好,但上线后用户反馈最差的坏样本,你们真的完全覆盖了吗?现在你们团队做模型评估时,最头疼的问题是什么?欢迎拍砖。 |