4. 噪声模型与测试场景构建

译码器性能基准测试的可信度,首先取决于噪声模型是否贴近真实硬件。一个在理想去极化噪声下表现优异的译码器,放到存在测量错误、泄漏和串扰的超导硬件上,可能完全失效。本节的任务是:把真实硬件的错误特征抽象成可参数化、可复现的噪声模型,并据此设计覆盖不同噪声强度的测试场景,使后续的阈值、逻辑错误率和延迟指标具有可比性。

从硬件错误到可采样模型

构建噪声模型的第一步是明确“错误发生在哪里”。表面码的一轮稳定子测量涉及数据量子比特的闲置、双比特门、单比特门、测量与重置,以及测量结果的经典翻转。每一类操作对应不同的错误通道,不能用一个统一的去极化概率笼统代替。工程上通常采用“电路级噪声模型”:把错误通道挂在具体门和测量指令之后,由采样器逐轮注入。

去极化噪声是最基础的通道。对单比特,以概率 p 施加 X、Y、Z 之一;对双比特门,以概率 p 施加 15 种非恒等泡利积之一。需要注意约定:若把双比特去极化定义为“每个比特独立以 p 发生错误”,则总错误概率约为 2p,与“整体以 p 施加非恒等泡利”相差近一倍,基准报告中必须写明采用哪种定义,否则不同论文的阈值不可直接比较。

测量错误需要单独建模。真实测量不是完美投影,读出信号存在误判。常用做法是在测量结果上以概率 pm 做经典翻转,等价于在测量指令后挂一个经典比特翻转通道。测量错误与数据错误的比例对表面码影响很大:当 pm 明显高于数据错误时,译码器必须更依赖多轮测量历史做时域匹配,否则时域边界处的错误会显著抬高逻辑错误率。

泄漏是超导与离子阱硬件中不可忽视的第三类错误。量子比特可能跃迁到 |2⟩ 等非计算态,脱离计算子空间,此时它既不参与后续门,也会在测量时给出异常结果。泄漏的建模通常包含三部分:泄漏发生概率、泄漏态在门作用下的演化(是否扩散到邻近比特)、以及泄漏复位概率。若译码器只处理泡利错误,泄漏会以“测量结果持续异常”的形式出现,因此测试场景中应显式加入泄漏参数,观察译码器是否出现误判或饱和。

参数化噪声配置

把上述通道组织成一份可复现的配置,是场景构建的核心交付物。下面给出一个示例配置(参数为教学假设值,非实测数据),用于说明字段组织方式:

noise_profile:
  name: "surface17_demo"
  single_qubit_depol: 0.0008
  two_qubit_depol: 0.0060      # 整体非恒等泡利定义
  measurement_flip: 0.0120
  reset_error: 0.0040
  leakage:
    rate: 0.0015
    spread_to_neighbor: 0.10
    reset_prob: 0.85
  idle_depol_per_round: 0.0005
  crosstalk_zz: 0.0003
  seed: 20240517

这份配置的关键在于“每个参数对应一个物理过程”,而不是把所有错误折算成一个等效 p。采样时,电路级模拟器按指令顺序逐条注入:双比特门后按 two_qubit_depol 采样泡利错误,测量前按 measurement_flip 采样经典翻转,每轮结束按 leakage.rate 采样泄漏并以 reset_prob 尝试复位。固定 seed 保证同一配置下不同译码器面对完全相同的错误样本,这是公平对比的前提。

测试场景的强度分层

单一噪声强度无法刻画译码器的适用边界。合理的场景设计应围绕“低于阈值、接近阈值、高于阈值”三个区间展开,并叠加不同错误构成。下图展示了一个场景矩阵的组织方式:横轴为总物理错误率,纵轴为测量错误占比,每个格点是一组可独立运行的测试配置。

噪声测试场景矩阵(示例参数) 横轴:总物理错误率 p;纵轴:测量错误占比 p_m / p;格点内为场景编号 p 增大 → 占比高 占比低 0.3% 0.6% 1.0% 1.5% 2.0× 1.0× 0.5× S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 S11 S12 低于阈值区 近阈值区 高于阈值区 每格固定 seed 与轮数

矩阵中每个格点并非只改一个数字。以 S7 为例,它位于近阈值区且测量错误占比为 1.0×,其配置在基础 profile 上把 two_qubit_depol 提到 0.010、measurement_flip 提到 0.010,并保持泄漏率不变;而 S3 在相同总错误率下把测量占比提高到 2.0×,用于检验译码器在“测量噪声主导”时的时域匹配能力。这样设计的好处是:当某译码器在 S3 明显劣于 S7 时,可以直接归因于测量错误处理,而不是笼统地说“噪声变大了”。

场景运行与结果判读

每个场景需要固定三个量:码距 d、采样轮数 R、逻辑错误样本数目标。以 d=5 的表面码为例,若目标是在 p=0.6% 下观察到约 100 个逻辑错误,而单次采样逻辑错误率约为 1×10⁻⁴,则至少需要 10⁶ 次采样;按每轮 24 个稳定子、R=5 轮估算,采样量在千万级指令,需在模拟器上分批运行并累计。判读时关注逻辑错误率随 p 的斜率:低于阈值区斜率应随 d 增大而变陡下降,近阈值区各码距曲线交汇,高于阈值区斜率反转。若某译码器在 S1–S2 表现正常但在 S3 突然抬升,通常提示其时域解码窗口或测量错误权重设置不当。

建议在报告中同时给出噪声配置、seed、码距、轮数与采样量。缺少任一项,逻辑错误率数字都难以被他人复现或横向比较。

最后要强调泄漏与串扰的处理边界。若译码器本身不支持泄漏感知,测试时应把泄漏作为“模型真实性”的一部分保留,而不是为了得到好看的结果而关闭它;正确做法是分别报告“含泄漏”和“不含泄漏”两组结果,用差值量化译码器对泄漏的敏感度。这样构建的噪声模型与场景矩阵,才能支撑后续阈值拟合、延迟测量和跨译码器对比的可信结论。