实用量子计算机需要具备容错逻辑运算能力。研究人员正积极探索多种量子纠错(QEC)码,以提升量子处理单元(QPU)的逻辑错误率(LER)。尽管基于格手术的表面码(属于拓扑码家族)逻辑运算方式已较为成熟,但表面码在内存方面具有较高的量子比特效率,在执行容错逻辑计算时相较于其他拓扑码仍存在不足。
量子低密度奇偶校验(QLDPC)码是另一类QEC方案,凭借其恒定码率,在内存方面所需的物理量子比特数量最少。然而,如何在逻辑层面高效执行Clifford门与非Clifford门,目前在QLDPC码中仍是未解难题。
色码是另一类已被充分研究的拓扑码。尽管在达到相同目标逻辑失败率时,色码所需的物理量子比特数量多于表面码,但色码能够横向执行所有Clifford门,加之其表示形式具有对称性,使得格手术操作更为简便,因此在逻辑门执行效率上优于表面码。若配备快速且精准的解码器,色码逻辑运算在特定参数范围内很可能比表面码更具效率优势。
然而,由于色码解码难度远高于表面码,且长期缺乏支持实时应用的快速精准解码器,色码在历史上一直未能得到广泛应用。
NVIDIA Ising解码器ColorCode 1 Fast旨在加速色码解码并提升其逻辑错误率表现。在码距d=31、物理错误率0.3%的条件下,与当前最先进的色码解码器Chromobius相比,该解码器可将逻辑错误率提升347.7倍以上,运行速度提升7.3倍。这一成果使色码重新进入构建和运营真正实用量子计算机的视野。
以下视频演示了如何训练Ising解码器ColorCode 1。
借助Ising解码训练流水线,QPU构建者、运营者及解码器开发者可以训练专为三角色码设计的小型三维卷积神经网络(CNN)AI预解码器。在空间和时间维度上均可扩展的实时操作有助于降低延迟并改善逻辑错误率。这些预解码器通过处理大量局部错误综合征来加速解码并提升解码精度,同时可扩展至任意码距,帮助团队部署能够随QPU同步扩展、直至格手术阶段的量子纠错解码器。
此外,由于这些预解码器能够预测完整的时空校正,且具有局部性(因而与输入规模和几何形状无关),它们可在并行时空分块解码架构中执行格手术,这对于在量子算法执行过程中实时解码错误至关重要。
用户只需定义噪声模型、三角色码码距和模型深度(深度越大,精度越高)。训练架构随后利用NVIDIA cuQuantum中的NVIDIA cuStabilizer库与NVIDIA PyTorch,生成合成训练数据并训练一个三维CNN,以优化特定任务的解码性能。用户也可选择增减网络层数,从而在运行时间与精度之间进行权衡。最优CNN模型取决于码距、物理错误率、全局解码器效果以及往返延迟预算。
整个流程可通过约20行Python代码实现,具体如下:
1. 构建码距为5的色码内存实验:超密综合征提取,p=0.3%的Si1000电路级噪声
```python
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解码器
```python
dem = circuit.detector_error_model(
approximate_disjoint_errors=True,
ignore_decomposition_failures=True,
)
decoder = chromobius.compile_decoder_for_dem(dem)
```
3. 采样含噪综合征并解码
```python
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. 逻辑错误率
```python
ler = np.mean(np.any(pred != obs, axis=1))
print(f"logical error rate: {ler:.2e} ({ler / 5:.2e} per round)")
```
运行后输出的逻辑错误率约为3.6e-03(每轮7.3e-04)。在此基础上,可通过扫描不同码距和错误率来绘制阈值曲线——`code/scripts/color_code_threshold_chromobius.py`可通过一条命令完成完整扫描;也可在Chromobius前置Ising解码器ColorCode 1预解码器,在最终解码前对综合征进行稀疏化处理。
Ising解码器ColorCode 1 Fast共有17层,感受野为13,训练输入体积为13×13×19(推理时可使用任意输入体积)。该模型约有290万个参数。由于模型体量较小,可在GPU上高效运行,但与更大模型相比,其对逻辑错误率的提升幅度相对有限。
图1展示了Ising解码器ColorCode 1为Chromobius等常见开源色码解码器所带来的价值,并呈现了在给定物理错误率和码距条件下部署预解码器模型的理想区间。
NVIDIA Ising模型系列完全开放:权重、训练架构、数据、基准测试及使用指南均对外提供,支持他人针对特定QPU进行修改、部署、训练和微调。
NVIDIA正在发布Ising解码器ColorCode 1 Fast的完整训练流水线,使用户能够利用NVIDIA cuQuantum库和NVIDIA cuStabilizer即时生成合成数据,同时结合PyTorch进行训练。该架构使开发者能够构建针对其特定QPU噪声特性定制的解码器模型。
NVIDIA Ising现提供以下入门资源:
Ising解码训练架构与使用手册已在GitHub上以Apache 2.0许可证开源。
阅读色码模型架构论文。
Q&A
Q1:NVIDIA Ising解码器ColorCode 1 Fast相比Chromobius有哪些性能提升?
A:在码距d=31、物理错误率0.3%的条件下,NVIDIA Ising解码器ColorCode 1 Fast可将逻辑错误率提升347.7倍以上,运行速度提升7.3倍。其核心优势在于通过小型三维CNN预解码器对综合征进行稀疏化处理,从而加速并提升Chromobius等后端解码器的精度。
Q2:训练Ising解码器ColorCode 1需要哪些工具和步骤?
A:训练需要用到NVIDIA cuQuantum中的cuStabilizer库以及PyTorch。用户只需定义噪声模型、三角色码码距和模型深度,训练流水线即可自动生成合成数据并训练三维CNN。整个流程约20行Python代码即可实现,代码已在GitHub上以Apache 2.0许可证开源。
Q3:NVIDIA Ising解码器ColorCode 1 Fast能否适配不同QPU的噪声特性?
A:可以。该训练架构支持开发者根据特定QPU的噪声特性生成定制化解码器模型。模型可扩展至任意码距,并支持在并行时空分块解码架构中执行格手术,适用于量子算法执行过程中的实时错误解码。
