1. 项目概述当机器学习遇上量子比特读出在超导量子计算的实验里有一个环节既基础又关键那就是量子比特的“读出”。你可以把它想象成给一个极其精密的量子天平读数但这个天平本身在极低温下工作信号极其微弱还伴随着各种环境噪声。传统的方法比如设定一个简单的信号阈值来区分量子比特的“0”和“1”态就像在嘈杂的收音机里试图听清一个单词当信号质量下降或者多个量子比特多个“收音机”同时工作时准确率就会大打折扣。我们面临的核心挑战是如何在极短的时间内从充满噪声的微波信号中高保真度地判断出量子比特的状态并且这个方案要能随着量子比特数量的增加即系统“扩展”而稳定工作。这正是机器学习特别是神经网络可以大显身手的地方。神经网络擅长从复杂、非线性的数据中提取特征和模式理论上它能学会区分那些被噪声掩盖的、微妙的信号差异。但想法归想法落地是另一回事。训练好的神经网络模型通常运行在GPU或CPU上对于需要实时、低延迟反馈的量子控制来说这个速度太慢了。量子比特的寿命相干时间以微秒计任何处理延迟都会直接导致信息丢失或操作错误。因此我们必须把模型“烧”进硬件里而现场可编程门阵列FPGA以其高度的并行处理能力和可定制的硬件逻辑成为了实现纳秒级实时推理的不二之选。本文要分享的正是我们团队基于QICKQuantum Instrumentation Control Kit和hls4ml工具链构建的一套从数据采集、模型训练、硬件优化到最终在FPGA上部署的端到端工作流。我们成功地将一个轻量级神经网络集成到了量子测控系统中用于单个超导Transmon量子比特的实时状态分类最终实现了96%的单次读出保真度而整个推理过程的硬件延迟仅有32纳秒FPGA资源占用也很低。这套方案的价值在于它提供了一条清晰、可复现的路径让量子实验者能够利用机器学习的力量而不必深陷繁琐的硬件描述语言HDL开发之中。2. 核心思路与方案选型为什么是QICK hls4ml MLP2.1 硬件基石为什么选择QICK与RFSoC在量子测控领域传统的方案往往由多个独立的仪器堆叠而成矢量信号发生器产生微波脉冲高速示波器或采集卡进行信号数字化再由一台工控机或服务器运行控制软件和进行数据处理。这套系统不仅昂贵、笨重更关键的是仪器间的同步和数据传输会引入难以避免的延迟。QICK的出现改变了这一局面。它本质上是一套基于Xilinx RFSoC射频片上系统芯片的定制化固件和软件栈。RFSoC将高性能FPGA、多通道高速数据转换器DAC/ADC以及ARM处理器核心集成在单一芯片上。这意味着微波信号的生成通过DAC直接数字合成、读取通过ADC直接数字化以及实时处理在FPGA逻辑内完成都可以在同一个硬件平台上完成。注意这种“直采直发”的架构消除了混频器和外部本振不仅简化了系统更重要的是减少了模拟链路引入的相位噪声和漂移为后续的信号处理提供了更干净的数据基础。对我们这个项目而言QICK提供了两个不可或缺的支柱一是低延迟、确定性的实时处理能力FPGA可以保证在精确的时钟周期内完成运算二是高度可编程的软硬件协同环境我们可以通过Python运行在ARM处理器上方便地配置实验同时将计算密集型的任务如神经网络推理下放到FPGA逻辑中加速。2.2 算法载体为什么选择多层感知机MLP面对时间序列的读出信号I/Q两路数据可选的神经网络架构很多处理序列数据有优势的循环神经网络RNN、擅长提取局部特征的卷积神经网络CNN或者用于特征提取的自编码器Autoencoder。我们最终选择了结构最简单的多层感知机MLP主要基于以下几点考量问题本质是分类而非序列建模虽然输入是时间序列但我们的目标并非预测下一个时间点的信号如RNN所做而是对整个时间窗口内的信号整体进行分类判断其属于|0态还是|1态。这是一个经典的二分类问题。计算复杂度与资源约束FPGA上的逻辑资源查找表LUT、触发器FF、DSP块等和存储资源BRAM是有限的。RNN和CNN通常具有更复杂的计算图需要更多的乘加运算和缓存在资源受限且对延迟极其敏感的场景下并非最优。MLP的结构全连接层虽然参数量可能不小但其计算模式非常规整易于在FPGA上通过并行化进行极致优化。性能饱和与过拟合风险我们对比了不同复杂度的MLP和CNN发现在我们的数据集上一个简单的2层MLP输入层-隐藏层-输出层已经能够达到与更复杂模型相近的分类精度约96%。继续增加模型复杂度精度提升微乎其微反而会显著增加参数量和计算量在有限的数据量下也更容易过拟合。与硬件工具的兼容性我们使用的hls4ml工具链对MLP的支持非常成熟和高效。MLP的固定计算图可以很容易地被转换为高度并行、流水线化的硬件数据流架构。因此我们确定了2层MLP作为我们的核心分类器架构输入层接收截取后的I/Q时间序列数据一个带有批量归一化Batch Normalization的隐藏层进行特征变换最后通过一个带有Sigmoid激活函数的输出层产生一个介于0和1之间的概率值代表信号属于|1态的概率。2.3 桥梁工具为什么是hls4ml与量化感知训练将PyTorch或TensorFlow中训练好的浮点模型直接部署到FPGA上是不现实的。FPGA擅长的是定点数Fixed-Point运算浮点运算会消耗巨大的资源。传统的做法是训练后量化Post-Training Quantization即将训练好的高精度模型权重和激活值“压缩”到低比特宽的定点数。但这种方法往往会导致明显的精度下降。hls4ml是一个开源工具它充当了高级机器学习框架如Keras, PyTorch与硬件描述语言最终是FPGA比特流之间的桥梁。它的核心价值在于它允许我们在模型训练阶段就模拟硬件部署时的量化效应。我们结合使用了QKeras一个支持量化操作的Keras库和hls4ml。具体流程是使用QKeras定义和训练一个“量化感知”的模型。在训练的前向传播中权重和激活值会被模拟量化例如从32位浮点舍入到8位定点但反向传播仍然使用高精度梯度。这让模型在训练过程中就“学会”适应低精度计算带来的噪声。训练完成后hls4ml将这个量化模型转换为一组C描述再通过Xilinx Vivado HLS高层次综合工具生成对应的RTL寄存器传输级代码。最终这些RTL代码可以作为IP核知识产权核集成到QICK的FPGA项目中。量化感知训练QAT是此工作流中的关键一步。它确保了我们的模型从设计之初就考虑了硬件实现的约束。我们尝试了从32位浮点到6位、3位乃至三元权重Ternary取值仅为-1 0 1的量化方案。令人惊喜的是对于我们的二分类任务即使是使用三元权重的极简模型其保真度损失也微乎其微仍保持在96%左右但硬件资源消耗和计算延迟却得到了大幅优化。这为我们选择最终部署的极简模型800x4x1三元权重提供了直接依据。3. 端到端工作流拆解从数据到硬件IP核3.1 实验配置与数据采集我们的实验对象是一个频率可调的多Transmon量子比特芯片本次工作聚焦于其中的一个量子比特频率~4.50 GHz。实验在稀释制冷机中进行以确保量子比特在毫开尔文温度下工作。信号链路径如下控制与读出QICK的DAC通道产生微波脉冲经过室温/低温放大器链后用于驱动量子比特控制脉冲和读取谐振腔读出脉冲。信号返回从量子芯片返回的微弱读出信号经过低温放大器至关重要用于提升信噪比和室温放大器放大后由QICK板载的ADC以6.88 GS/s的速率直接数字化。实时处理数字化后的I/Q数据流被送入FPGA逻辑。在传统模式下FPGA内的解调模块会对其进行实时平均或阈值比较。在我们的新方案中这部分数据流被导向新集成的神经网络IP核。数据准备流程 为了获得带标签的训练数据我们执行以下序列每个循环周期100 µs初态制备冷却由于热平衡下量子比特处于激发态|1的概率仍有约6%我们首先施加一个2.3 µs的磁通调制脉冲利用谐振腔作为耗散库将量子比特“冷却”到基态|0将热布居误差降至1.6%以下。激发态制备对于|1态样本在冷却步骤后施加一个共振的π脉冲高斯包络宽度46 ns将量子比特从|0翻转至|1。读出立即施加一个2.5 µs的方波读出脉冲到读取谐振腔。采集ADC采集770个时钟周期对应2.5 µs的I/Q时间序列数据{In, Qn}。 我们总共采集了100万组数据|0和|1各50万组用于后续的模型训练和测试。3.2 模型设计与超参数探索我们的输入数据是截取后的I/Q时间序列。原始数据是770个时间点每个点包含I和Q两个值共1540个数据点。直接全部输入网络会导致模型过大。因此确定最优的“读出窗口”是第一步。我们系统地分析了不同起始位置和不同长度的窗口对分类保真度的影响见图5。发现几个关键规律起始时间不宜过早信号在最初的约100个时钟周期~325 ns内谐振腔正在被激发信号尚未稳定区分度较低。窗口并非越长越好窗口长度超过约400个时钟周期后保真度提升趋于平缓甚至因量子比特弛豫T1过程导致信号退化而下降。最佳区间起始于第100个时钟周期长度为400个时钟周期的窗口在保真度和数据量模型输入大小之间取得了最佳平衡。此时输入维度为 400点 * 2 (I/Q) 800。基于此我们固定输入维度为800。接下来是网络结构搜索。我们对比了不同隐藏层神经元数量的2层MLP。图6的结果非常直观当参数量达到一定规模后对应隐藏层约4-64个神经元保真度便接近天花板~96%。一个仅有4个隐藏神经元的微型网络800x4x1与一个64个隐藏神经元的网络表现几乎一致。这强烈表明对于从噪声中区分两个稳定态信号这一任务一个极其简单的模型已经足够捕捉其决定性特征。选择4神经元版本能最大程度节省FPGA资源。3.3 硬件优化与IP核集成确定了800x4x1的三元量化模型后我们使用hls4ml进行硬件实现。这里有几个关键优化点并行化与流水线Unrolling Pipelining为了追求最低延迟我们在hls4ml中设置了完全展开fully unroll的选项。这意味着矩阵乘法中的乘加运算不是顺序进行的而是通过复制计算单元在硬件上完全并行展开。结合流水线技术虽然会消耗更多的DSP和LUT资源但能将计算延迟压缩到极致的10个时钟周期。定点数精度配置ADC输入数据为14位无符号整数。我们在hls4ml配置中为输入、权重、中间激活值和输出都指定了合适的定点数格式整数位宽和小数位宽。三元权重-101的实现大大简化了乘法器因为与-1或1相乘本质上只是取反或保持原值。IP核接口设计hls4ml生成的神经网络计算模块需要被封装成一个标准的AXI接口IP核才能集成到QICK的Vivado工程中。如图8所示我们设计了三个主要接口AXI4-Lite (config)用于软件ARM上运行的Python配置IP核例如设置数据缩放因子等。AXI-Stream (in)以流式方式接收来自QICK读出模块的I/Q数据流。每个32位数据包中包含两个14位的I和Q值。BRAM Controller (out)神经网络的计算结果一个表示|1态概率的logit值被直接写入FPGA上的块存储器BRAM中。这是一个高速、低延迟的存储区软件可以随后通过DMA读取这些结果。集成后的数据流在实验运行时ADC数据实时流入神经网络IP核。经过10个时钟周期3.22 ns/周期共32 ns的计算分类结果被存入BRAM。整个处理过程在FPGA上独立完成与运行在ARM上的Linux操作系统和Python控制软件异步并行实现了真正的实时、低延迟推理。4. 性能评估与结果分析4.1 保真度对比NN vs. 传统方法我们使用独立的测试数据集对比了神经网络方法与两种传统方法的性能方法单次读出保真度 (F)误判概率 P(0|1)误判概率 P(1|0)说明简单阈值法 (TH)95.80% ± 0.03%~6.05%~2.34%对全窗口(770 CLK)平均后的I/Q信号设定阈值匹配滤波器法 (MF)95.76% ± 0.03%~6.05%~2.34%对全窗口信号进行最优加权平均后设定阈值神经网络法 (NN)96.04% ± 0.03%~5.56%~2.35%使用400 CLK窗口4神经元MLP从结果可以看出即使在最优的400时钟周期窗口下神经网络方法相比传统方法仍有约0.25个百分点的保真度提升。这个提升主要来自于对P(0|1)将|1误判为|0的降低。这很可能是因为神经网络能够更好地处理由于量子比特弛豫T1过程导致的信号形状时变和非对称噪声而简单的阈值或线性加权匹配滤波器难以完全建模这些复杂效应。实操心得不要盲目追求使用全部数据。我们通过网格搜索发现截取信号中区分度最高的那一段第100到500时钟周期不仅减少了输入数据量降低了模型复杂度和延迟反而因为去除了早期不稳定和后期衰减严重的信号段获得了最高的保真度。这体现了特征选择在硬件部署中的重要性。4.2 硬件资源与延迟这是FPGA部署的核心指标。我们的三元量化4神经元MLP模型在Xilinx ZCU216的RFSoC FPGA上综合后资源占用和延迟如下查找表 (LUT) 占用 16%。这是一个非常低的资源消耗意味着在同一个FPGA上可以集成多个这样的分类器用于多量子比特并行读出或者为其他控制逻辑留出充足空间。触发器 (FF) DSP块占用同样极低DSP块的使用因三元权重而大幅减少。计算延迟32 ns10个时钟周期 311 MHz。这个延迟远低于量子比特的相干时间本项目T132 µs T2*1.7 µs也远短于读出脉冲本身的长度2.5 µs。这意味着在读出脉冲结束后我们几乎“瞬时”就能得到结果为后续的实时自适应反馈控制例如基于测量结果的快速纠错或量子门选择奠定了硬件基础。吞吐量由于采用了流水线设计该IP核可以每个时钟周期处理一组新的I/Q数据对理论吞吐量高达311 MHz完全满足高速、连续读出的需求。4.3 误差来源分析与优化方向我们实现的96%保真度并非算法的理论上限而是受限于当前实验系统的物理噪声残余热布居 (≈1.6%)冷却步骤后仍无法完全消除的|1态本底概率是系统误差。量子比特弛豫 (T1 decay, ≈4%)在2.5 µs的读出过程中量子比特有一定概率从|1态自发跃迁到|0态导致信号“变形”这是误判P(0|1)的主要来源。放大器链信噪比 (SNR)这是限制保真度进一步提升的主要瓶颈之一。采用量子极限放大器如约瑟夫森参量放大器可将读出的噪声温度降至接近量子极限有望显著提升信噪比和保真度。读取导致的退相干强读出光子可能诱导量子比特发生不必要的跃迁。未来的优化可以从算法和硬件两方面着手算法探索更复杂的模型如轻量级CNN是否能在不显著增加延迟的情况下更好地处理多量子比特间的串扰信号。研究在线学习或自适应算法使模型能跟踪系统随时间的漂移。硬件将Purcell滤波器集成到芯片设计中可以抑制通过读取谐振腔的量子比特弛豫从而允许使用更短、更强的读出脉冲减少T1误差。同时升级放大器链是提升保真度最直接的工程手段。5. 常见问题与部署避坑指南在实际部署这套工作流时我们遇到了不少挑战也积累了一些经验。5.1 模型训练与量化中的陷阱问题量化后精度骤降。排查检查hls4ml配置中的定点数格式是否合理。特别是激活函数的输出范围如Sigmoid输出0-1需要与定点数表示范围匹配。确保在QKeras中进行QAT时使用了正确的量化配置如quantized_bits位宽、整数位。技巧从高精度开始逐步降低。先尝试8位量化确保精度无损后再尝试6位、4位。对于权重可以尝试binary或ternary但要注意可能需要调整训练超参数如学习率。问题模型在训练集上表现很好但测试集或硬件部署后效果差。排查首先检查数据划分是否严格随机确保训练集和测试集来自相同的数据分布。然后检查是否过拟合。我们的4神经元小网络在此问题上表现稳健但如果你使用了更大网络务必加入正则化如Dropout L2或使用更早的停止策略。技巧在hls4ml转换后利用其仿真cosimulation功能。这可以在将模型部署到FPGA之前在CPU上模拟定点化模型的行为与原始浮点模型的结果进行对比提前发现因量化或转换引入的错误。5.2 FPGA集成与调试难点问题神经网络IP核集成后时序约束不满足无法达到目标时钟频率。排查这通常是关键路径延迟过长导致的。使用Vivado的时序报告工具定位关键路径。路径很可能出现在大规模并行乘加运算的组合逻辑部分或者与BRAM接口相关。技巧在hls4ml中可以尝试调整复用因子ReuseFactor。完全展开ReuseFactor1延迟最低但资源消耗大、时序压力大。适当增加复用因子让部分计算资源分时复用可以显著缩短关键路径改善时序但会以增加延迟为代价。这是一个典型的面积-速度折衷。问题AXI-Stream数据流对接出错数据丢失或错位。排查仔细核对QICK读出模块与自定义IP核之间的AXI-Stream接口协议。确保数据位宽我们的是32位包含I和Q、TREADY/TVALID握手信号我们的设计为了简化未使用TREADY要求IP核始终准备接收的逻辑一致。技巧在Vivado中搭建一个简单的ILA集成逻辑分析仪调试核心。将AXI-Stream的关键信号如TVALID TDATA和IP核内部的关键状态信号抓取出来可以直观地看到数据流是否正常以及神经网络各层的计算是否按预期进行。这是硬件调试中最强大的工具。问题资源占用超出预期。排查除了神经网络本身检查封装IP核时引入的额外逻辑如AXI接口转换、数据缓冲FIFO等。批量归一化层在定点实现中可能需要除法器消耗较多DSP资源。技巧考虑将批量归一层的参数缩放因子和偏移量在训练收敛后固定下来并在hls4ml中将其与前一层的权重合并从而在推理时消除额外的乘加操作。这被称为“折叠批归一化”是模型压缩的常用技巧hls4ml支持此优化。5.3 系统级考量与扩展性多量子比特扩展当前IP核是针对单量子比特设计的。扩展到多比特读出有两种思路一是实例化多个相同的IP核每个处理一个量子比特的I/Q流这是最直接但资源线性增长的方式二是设计一个多输入、多输出的单一网络如多个二分类头或一个多分类网络但这需要重新设计网络结构和数据流复杂度更高。对于串扰明显的多比特系统后者可能更有优势。实时自适应反馈目前的结果存储在BRAM中由软件轮询读取。要实现纳秒级的反馈控制如根据测量结果决定下一个量子门需要将神经网络的输出一个二进制判决直接连接到QICK的定时处理器tProc作为条件跳转指令的输入。这需要对QICK的固件进行更深度的定制让硬件决策环路完全在FPGA内闭合。这套基于QICK和hls4ml的工作流最大的价值在于它降低了门槛。它让量子实验物理学家能够用熟悉的Python和机器学习工具来设计算法然后通过一个相对自动化的流程将其转化为高效的硬件加速器。我们开源了所有的代码和设计希望这能成为一个起点推动更多结合机器学习和量子硬件的协同设计工作。