模型质量不是只看一个分数,是看它在未知数据上、真实业务里和风险场景下是不是可靠。传统机器学习和生成式AI的测法差别很大。
一、先确定模型质量测什么?
一般要看:
泛化能力:在没见过的数据上表现怎样。
业务适配:标准是不是对应业务代价,比如漏诊和误诊哪个更不能接受。
鲁棒性:遇到异常输入、噪声、分布变化时是不是稳定。
安全和合规:是不是有偏见、毒性、幻觉、隐私泄露等问题。
可解释性:场景下能否解释模型为什么这样判断。
二、传统机器学习,用标准量化性能
分类模型最基础的是混淆矩阵,记录四种结果:真正例、假正例、真负例、假负例。
由混淆矩阵可以算出:
准确率:预测对的比例。适合类别均衡的简单场景。
精确率:预测为正的样本里,有多少是真的正。适合假正例代价高的场景,比如垃圾邮件过滤。
召回率:真实正样本里,有多少被找出来。适合假负例代价高的场景,比如疾病筛查。
F1分数:精确率和召回率的调和平均,用来找平衡。
AUC-ROC:测量模型区分正负样本的排序能力,常用于类别不平衡场景。极不平衡时还可以看 PR-AUC。
精确率和召回率一般要权衡。提高一个,往往会降低另一个。所以不能只看单一标准。
回归任务常用:
MAE:平均绝对误差。
MSE / RMSE:均方误差 / 均方根误差,对大误差更敏感。
R²:决定系数,看模型解释了多少方差。
聚类任务常用:
轮廓系数:看簇内紧密程度和簇间分离程度。
Calinski-Harabasz 指数、Davies-Bouldin 指数等。
三、生成式AI/大模型需要多方面综合考虑
生成式 AI 的输出是开放文本,没有唯一标准答案,所以不能只靠一个自动标准。
常见方法有四类:
自动化标准
BLEU:常用于翻译,看 n-gram 重叠。
ROUGE:常用于摘要,看参考文本内容包括了多少。
BERTScore:用预训练模型算语义相似度,比单纯词重叠更准。
这些标准适合有参考答案的任务,但对开放式生成不够全面。
LLM-as-a-Judge
让一个强模型当裁判,按相关性、连贯性、无害性等标准打分。
优点是扩展性强,能处理开放任务。
缺点是可能有位置偏差、冗长偏差、自我增强偏差。
人工考虑
由人按标准评分,最可靠,能发现自动标准忽略的问题。
但成本高、速度慢、难以复现。
安全和风险标准
包括毒性、偏见、幻觉、越狱、隐私泄露、指令按照失败等。
生成式 AI 上线前,这部分往往和效果标准一样重要。
四、常用工具
scikit-learn:传统机器学习标准计算。
DeepEval:LLM应用、RAG、Agent的考虑框架。
Inspect:灵活考虑LLM的开源框架。
Azure AI Studio:提供内置考虑标准和系统化考虑流程。
PivotEval:大模型效果和性能压测,生成可视化报告。
五、标准流程
确定目的
根据业务目的确定标准和优先级,不要默认只看准确率。
准备数据
测试集必须和训练集严格分离。预处理也要避免使用测试集信息,否则会数据泄漏,结果过于乐观。
选择标准
分类、回归、生成任务用不同标准。业务更怕误报还是漏报,决定精确率和召回率谁更重要。
执行考虑
可以用自动标准、LLM裁判、人工考虑组合进行。
分析迭代
找弱项,回到数据、特征、模型结构或提示词上优化。
六、重点
警惕过拟合:训练集好、新数据差,就是过拟合。
警惕数据泄漏:测试集信息不能进入训练或预处理。
小数据集用交叉证实:k折交叉证实比单次划分更可靠。
不要只看准确率:类别不平衡时,高准确率可能没有实际作用。
定量加定性:自动标准看规模,人工考虑看真实体验。
考虑要可复现:固定数据版本、随机种子、考虑脚本和标准定义。
模型质量考虑,就是围绕业务目的,用独立数据、合适标准和多种考虑手段,不断测试模型是不是可靠、安全、有用。