Noise floor 是什么?
怎么判断 agent 测到的提升是真的?

英文问法Your agent reports a 4% speedup. How do you know it's real? · How do you measure the noise floor of a benchmark? · Why does taking more samples help, and by how much?

考过Unity Vector 自己的论文(FlashVector §4.2 Verify,有数字和公式)· 推断会问,不是面经原题 · 没有 Unity 自己的面经原题

先弄清楚:每个概念是什么

Noise floor
baseline 一行不改重复跑几次,指标自己的波动。变化比它小就不能算数。FlashVector 端到端测到 ±6%。
No-op run
不做任何改动的 baseline run,用来量 noise floor。
加样本重测
提升落在 noise floor 里时不马上拒绝,多测几倍的样本再看。
\(1/\sqrt{k}\)
k 倍样本取平均,平均值的噪声缩小 \(\sqrt{k}\) 倍。

看图:+4% 的提升,加样本前后

1 倍样本:noise floor ±6% +4% 在里面,和噪声分不开 baseline 自己的波动 −6% 0(baseline) +6% 候选 +4% 8 倍样本:6% ÷ √8 ≈ 2.1% +4% 在外面,接受 原来的 ±6% −2.1% 0 +2.1% 候选 +4%
图 1:横轴是相对 baseline 的变化,蓝色的一段是 noise floor。±6%、8 倍和 2.1% 是 FlashVector 的数字,+4% 的候选是示意。

30 秒回答

Before I trust a speedup, I rerun the unchanged baseline several times to see how much the metric moves by itself. That spread is the noise floor. FlashVector measured about plus or minus six percent end to end. A gain above the floor is kept. A gain between two and six percent is re-measured with up to eight times the samples, because the noise of a mean shrinks as one over root k, so six percent comes down to about 2.1. The same floor also prunes ideas early: a hypothesis that can't beat the noise is skipped.

接受规则

测到的提升怎么处理为什么
超过 6%接受超过了 noise floor
2–6%加样本重测,最多 8 倍noise floor 按 \(1/\sqrt{k}\) 收紧,8 倍时是 2.1%
低于 2%论文没写,按上下文推断是拒绝样本加到 8 倍也分不开

Verify 之外,FlashVector 还有两处用到 noise floor。Diagnose 直接跳过预期收益低于它的假设,因为做出来也测不出来。Case 4 里没有配置比现任好出 noise floor,agent 放弃改动,论文的用词是 declines。

手算:6% 怎么变成 2.1%

\[ \text{noise}(k) = \frac{\text{noise}(1)}{\sqrt{k}} \qquad \frac{6\%}{\sqrt{8}} = \frac{6\%}{2.83} \approx 2.1\% \]

样本加到 4 倍,noise floor 只减半到 3%。想压到 1% 要 36 倍样本,所以越往后越贵。

论文没写 baseline 重复跑几次,没写 ±6% 是标准差、极差还是置信区间,也没写比较用 mean、median 还是 p99,都适合当反问。

±6% 是端到端的数,论文没给每层各自的 noise floor。kernel 级的 microbenchmark 怎么降噪见 kernel benchmark。

必答点

追问

加样本能把所有噪声都压掉吗?

不能,\(1/\sqrt{k}\) 只对随机波动有效。机器状态的漂移要靠 A/B 交替跑来抵消,或者像 CUDA-L1 那样每轮随机决定谁先跑。

论文的结果表带误差范围吗?

不带。Table 1 的 speedup 没有置信区间,也没写是 load test 还是生产 canary 的数。

提升超过 noise floor 就能留了吗?

还要先过正确性(kernel 正确性)。本层的提升还要在 full-stack load test 上复现(局部和端到端)。

来源FlashVector §4.2 Verify、§4.2 Diagnose、§5.4(原话 "estimated from repeated no-op runs of the unmodified baseline (±6% end to end)")· CUDA-L1(随机化先后)· ml-八股 08 第 26 题 · 调研笔记 Unity 的证据和同类对照 1.6 节