查看原文
其他

腾讯公布量子计算机体系结构最新研究进展,探索高并行性架构

量子客 2022-07-07




腾讯是国内最先布局量子计算的科技巨头之一,早在2018年,腾讯便提出“ABC2.0”技术布局(人工智能、RoBotics、量子计算),并成立了以张胜誉教授、葛凌博士等为核心成员的腾讯量子实验室,以探索量子计算与量子系统模拟的基础理论,以及在相关应用领域和行业中的应用。 

 
一直以来,腾讯在自身量子计算方面的探索都比较低调,业内也较少听闻他们的相关进展。
 
今日,腾讯公布其量子计算机体系结构的最新研究进展,简要跟进,从侧面了解腾讯一直以来的一些具体研究方向。
 
对于当前的超导量子计算机而言,随着物理量子比特数量的增长,由于超导量子比特相对较短的退相干时间(在多比特系统中目前常见为几十微秒),量子控制处理器中任何的处理不及时都会导致额外累积的退相干错误,从而使得计算结果的正确性降低。
 
针对当前量子控制处理器中存在的处理并行度较低,难以扩展的问题,腾讯提出了一种新颖的量子控制微体系结构QuAPE,包括:
 
1)通过多核架构来对不同子线路进行动态调度,以实现线路层级并行度;
2)通过量子超标量架构来高效地并行执行量子指令,以实现量子操作层级并行度。
 
经测试,该多核架构在一个含大量反馈的复杂算法的测试中取得了2.59倍的加速(理论最高为3.11倍);超标量架构在多个其他常见量子算法的测试中通过取得了平均4.04倍的性能提升
 
这些新的高并行性控制方法为构建适用于大规模量子计算机的控制层打下了重要基础。除此之外,腾讯将其新型量子控制微体系结构进行了软硬件一体化实现,向构建全栈量子计算机迈出了关键的一步。
 
以下,为腾讯量子计算机体系结构最新研究进展发表在《腾讯量子实验室》的相关介绍:
 

一、 量子控制微体系结构介绍

 
在相当长的一段时间中,量子算法和量子硬件是量子计算领域中两个得到了较多关注,但又相对独立发展的方向。随着量子计算领域逐渐走出实验室,构建一台中等规模的量子计算机系统,并研究如何让其在含噪环境(Noisy Intermediate Scale Quantum)[1] 下高效运行成为了近期工作的重点之一。

为了达到这一目标,量子软硬件需要进行紧密协作。在传统控制方法中,量子软件的输出无法直接在量子硬件上执行,因此需要额外的中间控制层来将二者联系起来。基于此,研究人员按照图1所示组织结构来构建一台全栈量子计算机。具体层级分类如下:
 
1. 量子芯片层:上面工作着量子比特,是量子计算的基本单元;
2. 控制与测量仪器层:这套设备完成控制和读取信号在经典世界和量子世界之间的转换。对超导量子芯片来说,本层次需要完成的是数字信号和模拟(微波)信号之间的转换;
3. 体系结构层:这部分和经典计算机类似,由指令集和微体系结构组成。通常在实现上,研究人员会基于该控制微体系结构实现一个量子控制处理器 (Quantum Control Processor),通过对接控制与测量仪器,来实时地完成对量子芯片的测控;
4. 量子软件层:这一部分包含了量子算法,量子高级语言和编译器。编译器会将上层软件编译为基于量子指令集的汇编代码,并在量子控制处理器上执行。
 

图1| 全栈量子计算机组织结构示意图(来源:腾讯量子实验室)

 
当前的研究[2, 3] 中已经对于构建量子领域专用的量子指令集和控制微体系结构有了初步的探索,并实现了可以稳定工作的原型机。
 
在实际的工作中,量子编译器会生成由量子指令集来描述的程序,作为软件层给下层的输出;而这些指令随后会作为硬件的输入由量子控制处理器执行,并通过驱动控制与测量仪器,最终将对应的微波操作发送至量子硬件。同时在这种工作框架下,还可以实现基于量子-经典信息实时交互的反馈控制。
 
虽然量子计算体系结构已经有了上述进展,但随着需要控制的量子比特数量不断增长,以及量子线路的复杂程度不断上升,量子控制处理器的处理效率也受到了越来越多的挑战。
 
与经典计算机不同的是,一个低效率的量子控制处理器不仅会使得计算速度变慢,还会给最终的计算结果引入额外的退相干错误。造成这种处理延时的主要原因是量子控制处理器中受限的操作发射速度,而这一点可以通过提高处理器的并行能力来解决。
 
研究人员发现,基于量子线路的特点,量子程序中有很多控制层的并行机会可以加以利用。通过实现这些不同层级的并行度,可以很大程度上缓解上述问题,使得在系统规模逐步扩大时量子程序的运行免受控制处理器的限制。
 
基于此,研究人员提出了一种新颖的量子控制微体系结构QuAPE (Quantum control microArchitecture for Parallelism Exploitation),该结构适用于超导量子比特(计算)场景下的控制层的并行性利用。
 
研究人员利用FPGA实现了该架构的原型机并使用多个量子算法进行测试以评估其性能。最终,将整体测控系统连接至真实量子芯片并运行实验作为原理性验证。

 

二、 量子程序中不同层级的并行度


定义两种量子程序中会出现的并行度:
1. 线路层级并行度(Circuit Level Parallelism, CLP):不同线路或子线路之间的并行度。
2. 量子操作层级并行度 (Quantum Operation Level Parallelism, QOLP) :指并行量子操作反应到量子程序上的并行度,其中并行量子操作指的是同时在不同量子比特上进行的操作(无论这个操作的时间长短)。
 
研究人员用一个由两个并行RUS (Repeat-Until-Success) 子线路组成的线路来解释一下线路层级并行度和实现这一并行度的必要性。
 
RUS线路是一种比较特殊的量子线路,它会重复执行一系列量子操作并对一些量子比特进行测量,直到期望的测量结果出现。
 
在描述该线路的量子程序中,研究人员倾向于用两个独立的程序块来分别描述这两个不同的子线路。显然,用单个程序流来执行这样的程序时,在第一个子线路结束前并不会处理任何第二个子线路中的指令,因为第一个处理中的程序块“阻塞”住了程序流。
 
在这种情况下,理想中的并行执行 (图2(a)) 被强制转化为了串行执行 (图2(b))。这种情况时间利用率非常低,对于超导量子计算来说是不可接受的。因此,需要设计新的量子控制微体系结构来利用量子程序中的线路层级并行度。
 

图2| 两个并行RUS子线路在不同情况下的执行结果(来源:腾讯量子实验室)

 
对于并行量子操作来说,其所对应的指令之间就存在量子操作层级并行度,并可以在量子控制处理器上被并行执行。当量子比特的数量增加,同时需要处理的并行量子操作数量也会随之增加。
 
为了衡量控制处理器实现量子操作层级并行度的性能,研究人员定义一个CES(Cycles Each Step)指标,即在控制处理器中执行线路中某一步(circuit step: 量子线路中的一部分,包含了某一时间点上所有的并行量子操作)所需花费的周期数。
 
可以将CES理解为由四部分组成:执行量子指令的周期数(CEQI: Cycles Each Quantum Instruction,执行每个量子指令所花的周期数;QICES: Quantum Instruction Count Each Step,每一步中量子指令的个数),执行经典指令的周期数,经典控制流程带来的暂停,以及反馈控制在控制处理器上所花的时间。
对于量子控制处理器来说,需要做的就是在一定时间内能够完成这些指令的处理,即实现一定程度的量子操作层级并行度
 
为了量化这一目标,研究人员提出了指标TR (Time Ratio)。TR指的是处理一个程序时,量子控制处理器上所花的执行时间和量子芯片上所花时间的比例。对于线路中某一步来说,TR写作:
其中QCP (Quantum Control Processor) 指量子控制处理器(见图1),QPU (Quantum Processing Unit) 指量子芯片。在每个线路步骤中,QPU 都是完全并行地执行量子操作,这使得可以用量子门时间来表示 QPU 时间。
 
对于理想的量子控制处理器来说,它对所有量子程序都应达到 TRi < 1,也就是QCP并不比QPU上实际执行量子操作花费的时间更长,这样使得芯片上的比特不会因为等待QCP导致额外的退相干错误。

 

三、 QuAPE概览

 
在经典体系结构中,并行性利用是一个被广泛研究的领域。但是,经典的解决方案并不能直接被量子控制微体系结构所借鉴。由于独特的量子控制特性,量子控制微体系结构需要解决以下几点问题:
 
1. 量子反馈控制是一种量子场景下特殊的控制流程,需要建立在QCP和QPU实时交互的基础上。它包括了线路中间测量,以及基于测量结果的分支跳转。反馈控制会在量子控制处理器中引入流水线暂停,且这一控制流程会在量子线路中同时发生,因此极大地增加了QCP中实现不同层级并行度的难度。
 
2. 时序控制是一种量子控制处理器中特殊的机制,它要求用处理器中带有不确定性的指令处理来发出基于确定性时序的量子操作。这为不同指令间引入了额外的时序依赖性,而为了保证时序控制不被破坏,我们需要尽可能消除在实现并行度时可能出现的不确定性执行时间。
 
3. QPU需要QCP来确定性地提供量子操作。经典场景中的分支预测,缓存架构可以带来整体上的性能提升,但如果发生cache miss或预测失败等情况,其所带来的penalty对于超导量子比特来说难以接受。
 
基于以上,研究人员提出了QuAPE作为新一代的量子控制微体系结构来实现前面介绍的两种并行度。
 
首先,不能仅依靠提升处理器的指令处理速度来实现线路层级并行度,因为量子程序中的各种控制流程会阻碍这一情况。相较而言,一个可行的方法是同时对多个程序块并发处理。基于此,研究人员提出了多核架构来实现线路层级并行度
 
这一架构的的基本结构如图3所示。在这个方案中,量子程序的所有指令都存放在指令存储器(Instruction Memory)中,并由所有处理单元(Processor)共享,而对应每个处理单元也有一个指令缓存(Private Instruction Cache,PIC)。每个处理单元内包含了译码器(Decoder),经典执行单元(Classical Execution Unit)和量子执行单元(Quantum Execution Unit)。
 
在对多个并行子线路进行调度分配时,需要消除由程序执行的不确定性带来的额外延时。因此,研究人员在调度单元实现了一个可以对多个子线路进行动态调度的方案。此外,通过添加指令预取功能来进一步减少了子线路切换时造成的额外开销,这有助于线路保持其时序依赖性。
 

图3|量子控制微体系结构中的多核架构,其中红色虚线框代表了控制多个处理单元的模块(来源:腾讯量子实验室)

 
在多核架构中的每一个处理单元内,研究人员进一步实现了一个量子超标量架构来利用量子操作层级并行度,如图4所示。对于超标量架构来说,在指令预解码阶段引入太多的比较复杂度会限制可以实现的发射单元数量。
 
因此,研究人员通过实现一种专门针对量子控制层的调度方案来避免这一情况。此外,通过应用一个允许单独分派不同类型指令的Lookahead策略,有助于吸收潜在的分支延迟,从而达到降低CES的目的。
 
而对于一些可能出现大量并行的简单反馈控制(如Active qubit reset),研究人员专门设计了一种快速上下文切换机制,来降低花费在反馈控制上的时间和资源开销。
 
图4|量子超标量架构概览(来源:腾讯量子实验室)
 

四、 测控系统实现

 
基于提出的控制微体系结构QuAPE,通过使用FPGA将其实现为一个量子控制处理器。此外,同样用FPGA实现了控制和读取单元,并将其集成进一套测控系统硬件中。其中控制单元被称为AWG (Arbitrary Waveform Generator) 部分,读取单元被称为DAQ (Digital AcQuisition) 部分,系统整体结构如图5所示。

图5|组成控制层的系统示意图,包含了量子控制处理器,AWG和DAQ(来源:腾讯量子实验室)

 
量子控制处理器中实现了QuAPE架构,并使用了高速串行接口来实现低延时的数据传输。在实际工作中,DAQ会将测量结果传输到控制处理器上,用于完成分支跳转等功能,判断结果再以Codeword的形式传输至AWG上,并最终将操作发送至量子芯片。
 
AWG和DAQ中除了FPGA外,还使用了DAC (Digital-to-Analog Converter) 和ADC (Analog-to-Digital Converter) 来分别完成数字->模拟转换和模拟->数字转换。
 
研究人员对整套系统进行了高度集成化的设计,一套系统可以提供288个DA通道32个AD通道,并实现了所有通道的亚纳秒级同步。通过提升了并行处理能力的量子控制处理器,整套系统可以完成任意通道间的低延时反馈控制。图6给出了该测控系统的实物图。
 

图6|测控系统实物图(来源:腾讯量子实验室)

 

五、 评估结果

 
在硬件上实现了QuAPE后,研究人员对线路层级并行度和量子操作层级并行度在FPGA上进行了测试以评估其性能。在对线路层级进行评估的benchmark上,选择了一个Shor syndrome measurement线路,主要是因为这个线路中存在大量反馈控制相关操作。其对应的量子程序由288条量子指令和252条经典辅助指令组成。
 
通过一个简单的编译工具,将其划分为50个不同的程序块以方便提出的多核架构来进行线路级的并行处理。
 
研究人员分别测试了用单核,两核,四核和六核的运行结果,结果如图7所示。除了实测多核架构的加速效果外,同样计算了理论上该线路能达到的最大加速效果(假设所有的调度和程序块切换的延时均为0)。
 
可以看到,六核架构在理论最优为3.11倍加速的情况下,实现方案能够取得最多达2.59倍的加速,极大地利用了这个线路所提供的线路层级并行度。

图7|(a)平均线路执行时间;(b)相对单核处理时间所得到的加速(来源:腾讯量子实验室)

 
在对量子操作层级并行度的评估上,从ScaffCC [4], Qiskit [5] 和RevLib [6] 中选择了多个常见的量子算法。并使用一个8路超标量设计来运行这些算法并计算了TR值。实测结果如图8所示,在TR指标上达到了平均4.04倍的提升,并且可以保证所有时刻的TR均小于1
 

图8|不同benchmark的测试结果,其中虚线代表了TR=1(来源:腾讯量子实验室)

 
此外,研究人员还在一个真实量子芯片上使用该架构运行了一个simRB (simultaneous Randomized Benchmarking) 实验来对整个框架进行可行性验证。
 
最终的结果表明设计可以在实际运行中良好的工作,值得一提的是,基于指令集框架的设备在实测时会明显提升实验速度,主要是因为不需要配置长波形至测控系统。

 

06 总结

 
从提出一种新型量子控制微体系结构,到在硬件上实现了全套的测控系统,再到搭建起真实量子芯片的工作环境并完成实验,这整套的工作是由来自计算机体系结构,物理,电子工程,量子纠错等不同背景的专业人员紧密合作完成的。多元化背景的科研团队是完成这项工作的主要助力,也体现了计算机工程和物理实验在构建量子计算机时逐渐融合所带来的益处。
 
腾讯量子实验室表示,后续会在已完成工作的基础上继续推进,包括量子控制体系结构的研究和工程实现的完善,以及探索量子纠错在控制层上的实现等。也会在编译器方面积极探索,待构建全栈量子计算机后,让量子算法和量子硬件能够取得更近一步的发展,以推进量子行业的进步。
 

参考文献:

[1] Preskill, John. Quantum computing in the NISQ era and beyond. Quantum 2: 79, 2018
[2] Fu, Xiang, et al. An experimental microarchitecture for a superconducting quantum processor. Proceedings of the 50th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO). 2017.
[3] Fu, Xiang, et al. eQASM: An executable quantum instruction set architecture. IEEE International Symposium on High Performance Computer Architecture (HPCA), 2019.
[4] JavadiAbhari, Ali, et al. ScaffCC: a framework for compilation and analysis of quantum computing programs. Proceedings of the 11th ACM Conference on Computing Frontiers. 2014.
[5] Aleksandrowicz, Gadi, et al. Qiskit: An open-source framework for quantum computing. Accessed on: Mar 16, 2019.
[6] Wille, Robert, et al. RevLib: An online resource for reversible functions and reversible circuits. Proceedings of the 38th International Symposium on Multiple Valued Logic (ismvl),  2008.




声明:此文出于传递更多信息。若有错误或侵权,请联系



延 伸 阅 读

01    IonQ通过1万美元积分使用量子计算机
02    深度分析第一家上市全栈量子计算公司IonQ
03    IonQ官宣离子阱量子计算机路线图
04    IonQ发布QV400万超强量子计算机
05    全球十大知名量子初创公司IonQ
06    IonQ宣布与IBM Qiskit全面整合

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存