当前位置:首页>排行榜>多模态评测系列(五)稳定性评测 6 档口径怎么取

多模态评测系列(五)稳定性评测 6 档口径怎么取

  • 更新时间 2026-10-12 01:00:15
多模态评测系列(五)稳定性评测 6 档口径怎么取

接着前面几篇说。01 讲了非确定性、03 讲了过程分,这第 5 篇专门聊一件事:多模态模型到底该怎么跑多次才算数,多轮会话怎么跑也一起说了。为什么单聊这个?因为多模态模型它自己就「不稳」,同一个 prompt 出三张不一样的图,同一张图问两遍能给你两个答案。后面还有两篇会落到安全和闭环(06、07)。

跑一次能过,连跑三次未必

多模态模型大多带随机性。文生图同一个 prompt 出三张不同的图;VLM 同一张图问两次可能给两个答案,尤其边界样本。

单次 pass/fail 会骗人:跑一次成功,可能是稳定成功,也可能只是这次运气好。运气好和次次都过,在单次结果上长得一模一样。

所以多模态评测不能只跑一次,得按多次运行的口径来。具体怎么分,下面一节一节说,多轮会话我单独放第三节。

动手前,先看清楚有哪几类口径

在动手评之前,先想清楚你要看的是哪类口径。我把它拆成六档,谁也替不了谁,各有盲区、得叠着报。

评什么
主指标
能发现什么
发现不了什么
适合阶段
单次
一次结果
单次分
偶发错
稳定性
起步
k 次取最好
能力上限
pass@k
能力
一致性
选型
k 次全过
一致性
pass^k
可靠
业务效果
要门禁
方差/区间
波动
方差
波动来源
原因
分析
温度扫描
不同温度
各温度下的 pass^k 与方差
过拟合温度
泛化
调参
多轮会话
整条会话
会话级 pass^k
误差累积
单轮归因
有会话产品

  • 单次:能发现偶发错,发现不了稳定性。它是起点,但别当验收。
  • k 次取最好:能发现能力上限,发现不了一致性。选型时用它看潜力。
  • k 次全过:能发现一致性,发现不了业务效果。门禁用它看可靠。
  • 方差/区间:能发现波动,发现不了原因。分析波动来源时用。
  • 温度扫描:能发现过拟合温度,发现不了泛化。调参时用,别当主口径。
  • 多轮会话:能发现误差累积,发现不了单轮归因。有会话形态的产品用它看真实体验。

按你现在处在哪个阶段来对号入座,从那一档往下逐档加,后面会告诉你前面哪些指标得留着。

阶段
当前
这一步上什么
前序是否保留
阶段一
只跑一次
加单次基线,不要急着上多次
起点,无前序
阶段二
要选型
加 k 次取最好报 pass@k
单次分继续报
阶段三
要门禁
加 k 次全过报 pass^k
以上保留,主口径换 pass^k
阶段四
要分析波动
加方差与温度扫描定位来源
以上全部保留
阶段五
有多轮会话
加会话级 pass^k,逐轮分与终局分都报
以上保留,主口径换会话级

多模态稳定性口径,一句话:pass@k 看能力上限,pass^k 看一致性;用户只经历一次,所以验收门禁首选 pass^k。成本扛不住 k 次全过时,可以用 pass@k 加单轮门槛的混合口径,但要把取舍写清楚,别默认全上。有多轮会话的产品再往上换成会话级。多次跑不是发明,差别在口径本身,以及判据自己会不会也在抖(01 篇第四节讲过)。

一、生成随机性来自温度

文生图和 VLM 采样都吃采样参数的影响,温度只是其中一个,top-p、top-k 也左右随机性;框架本身的非确定性算子还会掺进来抖一抖。温度高,图多样但可能跑偏;温度低,稳但可能保守。同一个 prompt,0.7 和 1.0 出的图能差很远。

所以报分一定写清楚温度,不写谁都看不懂你这分怎么来的。调参时做温度扫描,看模型在哪个温度区间最稳,别只报一个温度下的分。

坑是过拟合温度:在某一个温度下调到最好,换个温度就崩。温度扫描能暴露这种脆弱。

平时报分就用业务实际跑的温度;扫描时取 0.2 / 0.7 / 1.0 三档够用。前提是图得先过关(CLIPScore 或人工判合格),在这个前提下挑 pass^k 最高、方差最小的那档当线上温度,记到评测报告里。但别为了刷高 pass^k 把温度压到 0,图是稳了,质量和多样性都牺牲了。

二、pass@k 与 pass^k 的区别

pass@k 是 k 次里至少成功一次,测能力上限,允许试错。pass^k 是 k 次全部成功,测一致性,等价于生产里用户连着用 k 次都顺利。

两个不是一回事。一个生成模型 pass@3 可能 90%(三次里有一张好看),但 pass^3 可能只有 15%(三张全好看很难);从 pass@3=90% 反推单次成功率约 53.6%,独立假设下 pass^3 本应约 15.4%,两个口径的落差就是能力上限与一致性的差距。生产要的是后者。

有件事得先讲明白:在每次运行独立采样的假设下,pass^k 严格等于单次成功率的 k 次方(p^k),这是概率恒等式,本身不表示模型「稳定」。pass^k 之所以能当一致性指标,是因为多模态采样近似独立、且任务间难度异质(易题次次过、难题次次挂),此时 pass^k 由难样本决定、比 p^k 衰减慢,才携带稳定性信息。若固定随机种子重复运行,pass^k 会退化为 pass@1,反而测不到方差。

给你个大致水位参考(对照 MMMU、SEED-Bench 这些公开基准的常见水平,不是精确实测):VLM 类任务单次成功率一般在 60% 左右。如果每次都独立,连跑 8 次全过的理论值就是 0.6 的 8 次方约 1.7%,但实测常看到 20% 到 30%。差在哪?pass^k 不等于单次成功率的 k 次方:容易的题次次过、难的题次次挂,各题不独立,所以 pass^k 由难样本决定,比 p^k 衰减慢得多。具体数以你家任务为准,这里只是量级提示。

三、多轮会话:按会话跑 k 次,别按轮次跑

前面讲的都是单轮任务。产品里真正常见的是多轮:上一轮出的图进下一轮,用户边看边改。多轮下随机性会累积,口径也得跟着换。

案例:电商商品图三轮改图

脱敏过的真实场景,用户要一张商品主图,三轮对话:

轮次
用户指令
单轮跑 5 次全过
典型失败
T1
生成一双白色运动鞋,白底
88%
偶尔生成两只不成对
T2
换成湖蓝色,鞋型不变
76%
顺手把白底一起改了
T3
背景换成沙滩实景
61%
鞋跟着背景一起变色

三轮单看都不算差,最低也有 61%。把整条会话当一次任务,跑 5 条完整会话要求三轮全部达标,实测只有 34%(注:本案例仅 n=5,置信区间宽到约 ±40 点,34% 属示意量级;要坐实误差传播需 ≥30 条会话并附 bootstrap 区间)。

按独立假设三轮相乘是 88% × 76% × 61% ≈ 41%,实测还低了约 7 个点。低的那一段就是误差传播:T1 出的鞋稍微歪一点,T2 在歪的基础上改色,T3 又接着换背景,越往后越难回到正轨。这一段单轮口径永远看不到。

所以只报最后一轮的 61%,等于把真实体验的 34% 高估了 27 个点;只报"跑一次成功",高估得更多。

为什么不按轮次跑

多轮的直觉做法是每轮各跑 k 次,取该轮的最好或全过。这条路走不通,两个原因。

一是组合爆炸:三轮每轮 5 次,路径是 5 × 5 × 5 = 125 条、375 次生成调用;会话级只要 5 条会话、15 次调用,成本差 25 倍。而且那 125 条里绝大多数路径在真实对话里不会出现,用户是顺序往下走的,不会先枚举五种鞋再改色。

二是重跑会破坏上下文:同一条会话跑 5 次,第二次的 T1 结果和第一次不同,T2 的输入就跟着变了,后续轮全部受影响。所以第 3 轮的方差天然大于第 1 轮,这是结构性的,不是 bug。

多轮要报两个分:逐轮分与终局分

多轮有两种判法,建议都报:逐轮分看每轮有没有达成该轮的显式要求,终局分只看最后那张图是否满足前面累计的全部要求。

逐轮分
终局分
怎么读
典型原因
高
高
真稳
无
低
高
中间绕路,最后补回来了
首轮理解偏差,靠追问纠回
高
低
前面都对,最后一轮崩
上下文遗忘、历史被裁剪
低
低
真差
模型能力不足或指令本身含糊

逐轮低而终局高,别直接记满分,用户为那几次绕路付了时间。逐轮高而终局低是多轮特有的病,单轮评测一条都测不出来。

VLM 多轮同理,重灾区在指代:上一轮问"左边那个人穿什么颜色",下一轮问"他旁边是什么"。某次脱敏复盘中三轮单轮 pass^5 分别 85%、80%、78%,会话级实测 52%(独立相乘约 53%,二者几乎相等,说明本例误差传播可忽略);但末轮单轮有 78% 的人会误以为整条会话也这么稳,实际会话级只有 52%,被高估了 26 个点,问题就出在跨轮指代消解。注意本例 n 很小,52% 与 53% 都只是示意量级。

会话级 pass^k 是用户真实体验的那一个数:单轮全过不等于整条会话走得通,重跑会话会放大后续轮的方差,所以多轮产品要把主口径换成会话级,逐轮分与终局分并排报。

四、一致性当过滤器

多次跑还有个顺手的事:拿一致率当置信度过滤器。同一题跑三次答案一致,大概率是稳的;三次各异,大概率是边界样本,标出来人工复核。

注意一致性不等于正确性(03 篇讲过):一致地错也是一致。所以一致率低要复核,一致率高也不自动采信,只是优先级低。

可用做法是把三轮一致率进报告,和 pass^k 并排,让稳定性自己现形。

五、图像生成没有唯一答案

文生图没有标准答案,没法像 VQA 那样直接判对错。判法得三路一起上:分布比对(FID 看接近真实分布)、语义对齐(CLIPScore)、再人工抽检。

所以图像生成的 pass^k 要重新定义:三张都达到可用门槛才算过,而非要求三张都正确。门槛建议写清,例如人工三方打分制取 2 分以上,或裁判模型判合格且 CLIPScore ≥ 0.75(这是工程建议值,非业界标准),不然没法比。

多样性也要管:同温度下三次采样高度雷同,是一致性高、多样性低(趋同),不等于分布级的 mode collapse;需跨种子看整体分布才能下 mode collapse 结论。要同时报一致性和多样性,一致高多样低与一致低多样高都要管,只看一个会误判。

六、口径怎么落地

每个任务跑 k 次(k 取 3 到 8,按耗时定),同时报 pass@k 和 pass^k,不只用单次分。方差报每个任务 k 次得分的标准差,集子层面报中位标准差;样本少时改用极差或 bootstrap 置信区间,别只报一个平均数。

多轮产品把「一条完整会话」当成最小任务单位。会话级 pass^k 至少要 30 条会话才有统计意义(n=5 时置信区间宽到 ±40 点,得出的 34%、52% 只是示意量级,不能当误差传播证据);每条会话跑 k 次(k 取 3 到 8),报会话级 pass^k 并附 bootstrap 置信区间。逐轮分与终局分都留着,别拿最后一轮的单轮分当验收。

pass^k 单次下滑超 10 个百分点,先出来源归因再动模型。波动来源分三侧,按顺序归,别一上来就骂模型:

来源
典型表现
怎么确认是它
该谁修
环境侧
同一次运行分都在跳,重跑又变
固定随机种子、统一镜像只是隔离环境噪声的诊断步骤;确认后得放开种子做多次独立采样,不然测不到模型方差
工程
判据侧
同结果判分忽对忽错
拿同一张图喂裁判两次,判分不一致
评测方
模型侧
环境判据都稳,模型仍不稳
以上两条排掉后,换模型明显变好
算法

三侧里只有模型侧真要动算法:先固定环境、再验判据,最后才翻轨迹看模型(判据抖动会被算成模型抖动)。

跟已有的四件套(评测集、评分卡、裁判、难负)接上:流水线里加 k 次重复和方差采集,评分卡加一致性那一列,门禁用 pass^k 设门槛。

一句话收尾

多模态模型天生会抖:同一 prompt 出三张不同的图,同一张图问两次给两个答案。你的评测里,现在报的是跑一次的分,还是连跑 k 次都稳的分?多轮产品还要再问一句:整条会话连跑 5 次,走得通几回?

英文术语释义

  • 非确定性(non-determinism):同一输入不同运行产生不同输出。
  • 温度(temperature):采样随机性参数,高则多样低则稳定。
  • pass@k:k 次运行至少一次成功的概率,测能力上限。
  • pass^k:k 次运行全部成功的概率,测一致性。
  • FID(Fréchet Inception Distance):分布间距离,越低越接近真实分布。
  • CLIPScore:图文语义对齐分,越高语义越贴合。
  • 会话级通过率(session-level pass^k):整条多轮会话所有轮次都达标才算一次通过。
  • 误差传播(error propagation):上一轮的偏差被下一轮继承并逐级放大。
  • 方差归因(variance attribution):判断波动来自环境、判据还是模型。

随机文章