CUDA-Q QEC 0.5.0实时解码与GPU加速量子纠错技术

发布时间:2026/6/13 14:03:21

CUDA-Q QEC 0.5.0实时解码与GPU加速量子纠错技术 实时解码、算法性GPU解码器以及NVIDIA CUDA-Q QEC中的AI推理增强功能实时解码对于容错量子计算机至关重要。通过使解码器能够与量子处理单元QPU并发地以低延迟运行我们可以在相干时间内对设备应用纠错。这可以防止错误累积从而避免降低所获结果的价值。我们可以通过真实量子设备在线执行此操作或通过模拟量子处理器离线执行。为了帮助解决这些问题并促进更好解决方案的研究NVIDIA CUDA-Q QEC 0.5.0版本包含了一系列改进。这些改进包括对在线实时解码的支持、新的GPU加速算法性解码器、高性能AI解码器推理的基础设施、滑动窗口解码器支持以及更Pythonic的接口。本文涵盖了所有这些改进并深入探讨了如何使用它们来加速量子纠错研究或用量子计算机实现实时解码。实时解码在CUDA-Q QEC中成为现实用户可以通过一个四阶段工作流来执行此操作。顺序依次为DEM生成、解码器配置、解码器加载与初始化以及实时解码。首先我们表征设备在运行过程中错误的行为方式。通过使用一个辅助函数我们可以从量子码、噪声模型和电路参数生成探测器错误模型DEM。该函数将生成一个完整的DEM将错误机制映射到症状模式。# 步骤 1生成探测器错误模型print(Step 1: Generating DEM...)cudaq.set_target(stim)noisecudaq.NoiseModel()noise.add_all_qubit_channel(x,cudaq.Depolarization2(0.01),1)demqec.z_dem_from_memory_circuit(code,qec.operation.prep0,3,noise)下一步是选择解码器并进行配置。我们将在后续章节中更详细地讨论新的解码器。用户使用DEM配置解码器然后将此配置保存到YAML文件中。该文件确保解码器能够正确解读症状测量值。# 创建解码器配置configqec.decoder_config()config.id0config.typenv-qldpc-decoderconfig.block_sizedem.detector_error_matrix.shape[1]...# 查看 nvidia.github.io/cudaqx/examples_rst/qec/realtime_decoding.html...在执行电路之前用户加载YAML文件。CUDA-Q QEC解读信息在解码器中设置相应的实现并将其注册到CUDA-Q运行时。# 保存解码器配置withopen(config.yaml,w)asf:f.write(config.to_yaml_str(200))现在用户可以开始执行量子电路。在CUDA-Q内核内部解码API与解码器进行交互。当测量逻辑量子比特的稳定子时症状被排队到相应的解码器由解码器进行处理。当需要纠错时解码器会建议对逻辑量子比特执行的操作。# 加载配置并运行电路qec.configure_decoders_from_file(config.yaml)run_resultcudaq.run(qec_circuit,shots_count10)GPU加速的RelayBP最近开发的一种解码器算法有助于解决置信传播解码器一类流行的量子低密度奇偶校验算法解码器的缺陷。BPOSD置信传播与有序统计解码依赖于GPU加速的BP解码器然后在CPU上使用有序统计后处理算法。如果BP失败则OSD介入。这虽然可行但使得针对实时错误解码所需的低延迟进行优化和并行化变得困难。RelayBP通过引入记忆强度的概念来修改BP方法在图中的每个节点处控制每个节点记住或遗忘过去信息的程度。这抑制或打破了通常使BP陷入困境、阻碍其收敛的有害对称性。图1. 在NVIDIA DGX GB200上测量的RelayBP FP32峰值解码吞吐量迭代次数/秒针对1-Gross和2-Gross量子纠错码的XYZ和XZ解码进行测量保持症状复杂度恒定以隔离峰值性能。结果通过优化的CUDA-Q QEC 0.6.0版本收集。用户只需几行代码即可轻松实例化RelayBP解码器如下所示。importnumpyasnpimportcudaq_qecasqec# 用于演示的简单3x7奇偶校验矩阵H_list[[1,0,0,1,0,1,1],[0,1,0,1,1,0,1],[0,0,1,0,1,1,1]]Hnp.array(H_list,dtypenp.uint8)# 配置relay参数srelay_config{pre_iter:5,# 在relay支路之前运行5次gamma0迭代num_sets:3,# 使用3条relay支路stopping_criterion:FirstConv# 首次收敛后停止}# 创建带有Relay-BP的解码器decoder_relayqec.get_decoder(nv-qldpc-decoder,H,use_sparsityTrue,bp_method3,composition1,max_iterations50,gamma00.3,gamma_dist[0.1,0.5],srelay_configsrelay_config,bp_seed42)print( Created decoder with Relay-BP (gamma_dist, FirstConv stopping))# 解码一个症状syndromenp.array([1,0,1],dtypenp.uint8)decoded_resultdecoder_relay.decode(syndrome)AI解码器推理AI解码器在处理特定错误模型方面越来越受欢迎与算法性解码器相比它们能提供更好的准确性或更低的延迟。用户可以通过生成训练数据、训练模型并将模型导出为ONNX格式来开发AI解码器。完成此操作后使用CUDA-Q QEC基于NVIDIA TensorRT的AI解码器推理引擎来运行低延迟的AI解码器。CUDA-Q QEC最近引入了集成AI解码器推理与离线解码的基础设施。这意味着现在可以轻松地使用CUDA-Q QEC和模拟量子计算机运行任何保存为ONNX文件的AI解码器。importcudaq_qecasqecimportnumpyasnp# 注意AI解码器不使用奇偶校验矩阵。# 此处提供一个占位符矩阵以满足API要求。Hnp.array([[1,0,0,1,0,1,1],[0,1,0,1,1,0,1],[0,0,1,0,1,1,1]],dtypenp.uint8)# 从ONNX模型创建TensorRT解码器decoderqec.get_decoder(trt_decoder,H,onnx_load_pathai_decoder.onnx)# 解码一个症状syndromenp.array([1.0,0.0,1.0],dtypenp.float32)resultdecoder.decode(syndrome)print(fPredicted error:{result})我们还提供了一系列建议通过创建预构建的TensorRT引擎来减少初始化时间。由于ONNX文件支持多种精度int8, fp8, fp16, bf16和tf32用户可以探索各种模型和硬件组合以优化AI解码器的实际应用。滑动窗口解码滑动窗口解码器使解码器能够处理跨多个症状提取轮次的电路级噪声。这些解码器在接收到完整测量序列之前处理症状这有助于减少整体延迟。其代价是可能会增加逻辑错误率。如何使用以及何时使用此工具取决于给定量子处理器的噪声模型、纠错码参数和延迟预算。随着0.5.0版本中引入滑动窗口解码器用户现在可以使用任何其他CUDA-Q解码器作为“内部”解码器进行实验。此外用户可以通过简单的参数更改来改变窗口大小。importcudaqimportcudaq_qecasqecimportnumpyasnp cudaq.set_target(stim)num_rounds5codeqec.get_code(surface_code,distancenum_rounds)noisecudaq.NoiseModel()noise.add_all_qubit_channel(x,cudaq.Depolarization2(0.001),1)statePrepqec.operation.prep0 demqec.z_dem_from_memory_circuit(code,statePrep,num_rounds,noise)inner_decoder_params{use_osd:True,max_iterations:50,use_sparsity:True}opts{error_rate_vec:np.array(dem.error_rates),window_size:1,num_syndromes_per_round:dem.detector_error_matrix.shape[0]//num_rounds,inner_decoder_name:nv-qldpc-decoder,inner_decoder_params:inner_decoder_params,}swdecqec.get_decoder(sliding_window,dem.detector_error_matrix,**opts)每个症状提取轮次必须产生恒定数量的测量值。解码器不会对底层噪声的时间相关性或周期性做出任何假设因此用户在调查每轮噪声变化方面拥有最大的灵活性。CUDA-Q QEC入门CUDA-Q QEC 0.5.0为量子纠错研究人员和QPU操作员带来了广泛的工具以加速实现容错量子计算机的研究。要开始使用CUDA-Q QEC您可以通过pip安装cudaq-qec并查阅CUDA-Q QEC文档。FINISHED更多精彩内容 请关注我的个人公众号 公众号办公AI智能小助手或者 我的个人博客 https://blog.qife122.com/对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号网络安全技术点滴分享

相关新闻