数据中心/云端

NVIDIA 正在解码,将色彩代码逻辑错误率降低超过 300 倍

实用的量子计算机需要容错逻辑运算。研究人员正在积极探索许多不同的量子纠错 (QEC) 代码来实现这一点,从而提高量子处理单元 (QPU) 的逻辑错误率 (LER) 。虽然我们已充分了解如何通过格点手术对表面代码 (属于拓扑代码系列) 运行逻辑运算,但在执行容错逻辑计算时,表面代码对于内存的量子位效率较低,但相对于其他拓扑代码而言次优。

量子低密度奇偶校验 (QLDPC) 码是另一种 QEC 方案,由于其恒定速率,需要最少的物理量子位作为内存。然而,如何使用 QLDPC 代码在逻辑级别上高效地执行 Clifford 和非 Clifford 门仍不明确。

颜色代码是另一种易于理解的拓扑代码。尽管与表面代码相比,它们需要更多的物理量子位来实现相同的目标逻辑故障率,但它们可以比表面代码更高效地执行逻辑门,因为它们能够横向执行所有 Clifford 门,并且它们的表示对称,从而更简单地进行晶格手术。借助快速而准确的解码器,可能存在参数机制,其中带有颜色代码的逻辑可能比带有表面代码的逻辑更高效。

由于解码颜色代码比解码表面代码要困难得多,因此,由于缺乏快速准确的解码器,颜色代码一直被搁置,使用户能够实时利用这些代码。

NVIDIA Ising Decoder ColorCode 1 Fast 旨在加速和改进色码解码器的 LER,与先进的色码解码器 Chromobius ( d = 31) 和 0.3%的物理错误率相比,LER 提高了 347.7 倍以上,运行时间提高了 7.3 倍。这样的结果让色彩代码重新成为焦点,可能用于构建和操作真正有用的量子计算机。

以下视频演示了如何训练 Ising Decoder ColorCode 1:

视频 1. NVIDIA 正在解码训练演示 

正在解码

借助 Ising Decoding 训练管线,QPU 构建器、运算符和解码器开发者可以训练基于 AI 的小型 3D 卷积神经网络 (CNN) 预解码器,这些预解码器专为三角形颜色代码而设计。在空间和时间上同时扩展的实时操作有助于改善延迟和 LER。这些预解码器通过处理大量局部错误综合征来加速和提高解码器的准确性。它们还可以扩展到任意代码距离,帮助团队部署量子纠错解码器,这些解码器将随着 QPU 的扩展一直扩展到晶格手术。

此外,由于它们预测全时空校正,并且是局部的 (因此独立于输入大小和几何图形) ,因此可用于在并行时空块级解码架构中执行晶格手术,这对于执行量子算法期间实时解码错误至关重要。

用户只需定义其噪声模型、三角形颜色代码距离和模型深度 (越深越准确) 。然后,训练架构使用 NVIDIA cuStabilizer 库 Within NVIDIA cuQuantum 和 NVIDIA PyTorch 生成合成训练数据并训练 3D CNN,从而优化任务的解码性能。用户还可以选择增加或减少层,从而在运行时和准确性之间进行权衡。最佳 CNN 模型取决于代码距离、物理错误率、全局解码器有效性和往返延迟预算。

我们可以在下文概述的大约 20 行 Python 代码中对此进行评估。

1. 构建距离 – 5 颜色代码内存实验:提取超密集综合症,在 p = 0.3+ 下实现 Si1000 电路级噪声

 circuit = build_color_memory_circuit(
      distance=5,
      n_rounds=5,
      basis="X",
      p_error=1e-3,
      noise_model_family="si1000",
      noise_instruction_semantics="reference",
  ).stim_circuit

 2. 根据电路的检测器错误模型编译 Chromobius 解码器

 dem = circuit.detector_error_model(
      approximate_disjoint_errors=True,
      ignore_decomposition_failures=True,
  )
  decoder = chromobius.compile_decoder_for_dem(dem)

3. 噪声综合症样本和解码

 dets, obs = circuit.compile_detector_sampler().sample(
      100_000, separate_observables=True
  )
  packed = np.packbits(dets.astype(np.uint8), axis=1, bitorder="little")
  predictions = decoder.predict_obs_flips_from_dets_bit_packed(packed)
  pred = np.unpackbits(predictions, axis=1, bitorder="little")[:, : circuit.num_observables]

4. 逻辑错误率

ler = np.mean(np.any(pred != obs, axis=1))
  print(f"logical error rate: {ler:.2e}  ({ler / 5:.2e} per round)")

运行此过程会输出约 3.6 e-03 的 LER (每轮 7.3 e-04) 。在这里,您可以扫描距离和错误率来追踪值曲线 code/scripts/color_code_threshold_chromobius.py 在一条命令中执行完整扫描,或者将 Ising-Decoder-ColorCode-1 预解码器放在 Chromobius 前面,以便在最终解码之前稀疏综合症。

准确性或速度:选择合适的模型

Ising Decoder ColorCode 1 Fast 有 17 层,感受野为 13,并基于大小为 13x13x19 的输入体进行训练 (尽管在推理过程中可以使用任意输入体) 。该模型大约有 2900,000 个参数。由于体积小,它在 GPU 上高效运行,但与较大的模型相比,对 LER 的改进较小。

下方的图 1 显示了 Ising Decoder ColorCode 1 可以为常见的开源色彩代码解码器 (如 Chromobius) 添加的值。它展示了在给定物理错误率和代码距离的情况下部署预解码器模型的理想方案。

详细了解 NVIDIA Ising Decoder ColorCode 模型架构,并探索各种分析和结果。

开始使用 NVIDIA Ising 开放资源进行构建

NVIDIA Ising 模型系列现已全面开放。提供权重、训练架构、数据、基准测试和方法,使其他公司能够针对其特定 QPU 修改、部署、训练和微调自己的模型和变体。

训练方法

NVIDIA 发布了适用于 Ising Decoder ColorCode 1 Fast 的完整训练流程,使用户能够使用 NVIDIA cuQuantum 库、NVIDIA cuStabilizer 即时生成合成数据,同时使用 PyTorch 进行训练。这种架构使开发者能够根据其特定的 QPU 噪声特征生成量身定制的解码器模型。

开始使用

NVIDIA Ising 提供以下入门资源:

标签