最近看 AI 模型性能报告,总会碰到一个词:帕累托前沿(Pareto frontier)。
看起来像是很高深的数学概念。其实它回答的问题很实际:模型有的聪明、有的便宜、有的快,到底应该怎么比较?
这时候就要用到帕累托最优:找不到另一个方案能在所有指标上都不差,并且至少有一项更好。
用分苹果理解一下
假设两个人分 10 个苹果,苹果完全一样,每个人都只关心自己拿到的数量,越多越好。
现在各拿了 4 个,还有 2 个没分。这时给其中一个人再加一个,另一个人也没损失。这叫“帕累托改进”:至少一个人变好,没有人变差。
如果已经分成 5 个和 5 个,想让一个人多拿,另一个人就得少拿。这样的分配达到了帕累托最优。
但 9 个和 1 个,也符合这个条件。
所以,帕累托最优不保证公平,也不保证大家满意。它只说明已经没有“不让任何人受损的改进空间”。
这里的判断依赖刚才的假设。换成有人不喜欢苹果、苹果品质不同,结论就需要重新分析。
为什么 AI 性能报告喜欢讲它
比较 AI 模型时,经常会同时关心回答质量、价格和响应速度。
如果只看质量,可能选中一个很贵、很慢的模型;如果只看价格,又可能发现回答根本不能用。这是一个多目标问题
假设只比较质量和成本,假设任务和测试条件一致,成本表示完成同一项任务的平均费用:
| 模型 | 质量得分,越高越好 | 每项任务成本,越低越好 |
|---|---|---|
| A | 90 | 1 元 |
| B | 85 | 0.2 元 |
| C | 80 | 0.5 元 |
| D | 90 | 1.2 元 |
- 看 C:B 的质量更好,价格还更便宜。只考虑这两个指标,C 就没有优势。用专业术语说,B 支配 C。
- 看 D:A 和它质量一样,价格更便宜。所以 A 支配 D。
- 剩下 A 和 B,谁也不能全面超过谁。A 质量更高,B 更便宜。它们都是这组候选模型中的非支配方案。
这也对应多目标优化中的一个基本特点:结果往往是一组互有取舍的方案。参见 pymoo 官方文档对多目标优化的说明。
到底怎么算
最直观的算法就是两两比较,对于模型 A,如果能找到另一个模型 B,同时满足:
- B 的质量不低于 A;
- B 的成本不高于 A;
- 至少有一项严格更好;
那么 A 就被支配,可以从候选前沿中排除。
对每个模型都做一遍,保留没有被任何其他模型支配的方案,就得到了这批候选中的非支配解集。它们对应的指标点,构成这批数据的帕累托前沿。
加上延迟、显存等指标也一样:所有指标都不差,至少一个更好,才算支配。
不过,两个指标下被淘汰的模型,加入第三个指标后可能重新进入前沿。例如 C 虽然更贵、质量更低,却可能快很多。
“推进帕累托前沿”是什么意思
沿用上面的例子,如果新模型 E 的质量也是 90,成本却降到了 0.6 元,它就支配了 A。
同样的质量,现在能花更少的钱实现。这就是前沿向更有利方向移动的一种情况。也可能出现同样价格下质量更高的模型,或者出现一个新的中间选择:比便宜模型更强,比高质量模型更便宜。新方案可能扩展前沿的一部分,不一定全面取代旧模型。
所以看到“推进前沿”,要继续看:推进的是哪几个指标、哪一段,以及比较了哪些对手。