关于量子计算机:Amazon-Braket-与量子计算

2次阅读

共计 6175 个字符,预计需要花费 16 分钟才能阅读完成。

KY1,Yankuan Pan2,Bertran Shao3,Zoey Deng4
1.Amazon HERO;2. 我的项目架构师;3. 开发者生态负责人;4. 开发者关系

Amazon Braket 是一项齐全托管式的量子计算服务,次要可面向钻研人员、科学家和开发人员提供一些量子计算软硬件服务进行钻研和开发工作。Amazon Braket 可帮忙解决量子硬件获取不便当、量子相干应用资源无限等问题。而启科量子专一于全栈量子计算产品体系研发,次要包含离子阱量子计算机、全栈量子软件、量子算法等量子计算产品,凭借深厚的量子技术积攒和丰盛的产品教训,成为中国首家兼具量子计算、量子通信外围技术储备与产品研发能力的科技创新型企业。

1. 通用的量子计算机整体架构

量子计算是一种以传统图灵机为实践模型且遵循量子力学法则调控量子信息单元的新型计算模式。一个实在的量子计算机需满足五个必备条件:
a. 有一个含有大量量子比特的物理零碎,其中的量子比特数能够依据待解决问题规模的增大而减少;
b. 可制备初态量子比特的零碎;
c. 一套通用的量子逻辑门,可进行通用的量子纠缠操作,通过间断的量子门组合作用于量子比特作任意酉变换;
d. 有一种无效的解决退相干问题;
e. 可测量量子比特失去最终后果。

因而一个通用的量子计算机体系结构须要依据以上五个必备条件设计残缺的软硬件构造体系。其中就蕴含了量子计算处理器、量子编码体系、量子软件、量子算法、通用的量子汇编语言等关键技术。

启科量子依照上述条件设计了全栈量子计算产品体系,包含全栈量子计算硬件及全栈量子计算软件。目前,全栈量子计算软件基于经典计算开发,但也预留了对接实在离子阱量子计算机的接口。下文将会具体介绍全栈量子计算产品的相干性能特点。

1.1 量子计算硬件与软件

因为量子计算机的研发还处于晚期阶段,每种量子计算技术路线各有千秋且其关联的资源也各有不同,因而提前断言哪种技术路线更有劣势还为时过早。只管量子计算属于前沿科技,就技术产业化而言,布局量子计算生态、造就宏大的中国开发者市场、推动量子技术的落地与商业化利用是倒退量子计算的必经之路。

对于量子计算硬件,综合寰球次要的量子钻研机构及公司,实现量子计算的支流技术路线次要包含超导、半导体量子点、离子阱、光学和量子拓扑五个方向。其中超导和离子阱技术路线的关注度较高。例如谷歌和 IBM 做超导量子路线,微软投资了光量子公司,美国上市公司 IonQ 做离子阱量子计算,中国分布式离子阱量子计算机(AbaQ-1)(研发中)。

对于量子计算软件量子计算机软件次要有量子操作系统、量子编程框架、量子汇编语言和量子应用软件等。量子软件开发套件可次要面向开发者提供量子程序、量子算法等开发和钻研的工具。文中全栈量子计算软件体系是中国外乡钻研团队在量子计算软件开发中作出的翻新,其量子软件产品次要包含量子编程集成开发环境 QuBranch、量子编程框架 QuTrunk、量子算法库 QuFlower、量子计算模仿软件 QuSprout、量子体系框架 QuRoot。

2. Amazon Braket 与量子计算

Amazon Braket 是一项齐全托管式量子计算服务,可为用户提供量子算法构建、测试、运行等服务,其中包含可拜访不同技术类型的量子计算机、提供对立的开发环境和经典线路模拟器、运行混合量子经典算法等。

在应用 Amazon Braket 的过程中,预装在 Amazon Braket 中的 Jupyter notebooks 和 Amazon Braket SDK 能够大大降低用户应用 Amazon Braket 服务的难度。一方面,用户应用 Jupyter notebooks 可不便其定义、提交和监控工作;另一方面,用户能够间接在 Amazon Braket SDK 中构建量子线路或者定义退火设施的退火问题与参数。

2.1 Amazon Braket 的工作流程

在应用 Amazon Braket 时,用户可随时更换量子计算设施,不用拘泥于某个硬件。以下简略介绍 Amazon Braket 的根本应用流程。

图 1:Amazon Braket 的工作流程

开始应用 Amazon Braket 时,首先须要创立一个 Amazon Braket notebook 实例。这一步骤次要是创立 notebook 和设置名称等基本操作。

其次应用 Amazon Braket Python SDK 运行第一个量子线路。关上第一步创立的实例后抉择 conda_braket 选项创立一个新的 notebook。前述操作实现后便可应用 Braket 创立一个量子线路。

量子线路创立实现后,便能够按须要抉择适合的量子模拟器。最初运行量子线路就能失去最终模仿得出的后果。最终工作能够从 Amazon Braket 上下载。具体测量信息和参数信息如下图所示:

图 2:具体测量后果信息

图 3:工作运行的参数信息

2.2 Amazon Braket 与全栈量子计算软件

在量子计算硬件方面,Amazon Braket 可反对拜访 IonQ 离子阱技术、Oxford Quantum Circuits 和 Rigetti 公司的超导量子处理器、D-Wave 的量子退火技术、Xanadu 的光量子技术。个别如果想要尝试应用 Amazon Braket 中的实在量子计算机,能够应用量子模拟器进行原型设计。Amazon Braket 提供四种模拟器,别离为本地模拟器、SV1、TN1、DM1。

当咱们的内存量足够大的或者进行原型设计时能够应用本地模拟器;当模仿的量子比特数超过 34 量子比特全状态向量时则须要应用 SV1;DM1 用于模仿高达 16 量子比特的线路上的噪声;TN1 用于模仿部分纠缠高达 50 量子比特的量子线路。目前,Amazon Braket 还未接入中国的量子计算软硬件产品。AbaQ1 离子阱量子计算采纳分布式设计每个节点捕获 20 个齐全链接的离子,平台可接驳最多 8 个计算节点,最多可达到一百多量子比特的链接。

在量子开发工具方面,Amazon Braket 可反对拜访围绕量子可微编程概念而构建的开源软件框架 PennyLane。PennyLane 次要可帮忙构建和运行混合量子经典算法和变分算法,提供机器学习工具 PyTorch 和 TensorFlow 之间的接口。PennyLane 库是预装在 Amazon Braket notebooks 中的,要从 PennyLane 拜访 Amazon Braket 设施,须要执行 import pennylane as qml 命令导入 PennyLane 库。

应用 Amazon Braket 设置和运行混合量子算法次要是应用其中的 Amazon Braket PennyLane 插件或者 Amazon Braket Python SDK 和示例 notebook 存 储库。当没有 PennyLane 插件时,咱们能够应用基于 SDK 的 Amazon Braket 实现某些混合量子算法的设置和运行。开源量子编程框架 QuTrunk 可反对运行各种量子算法,比方 Grover 算法、Shor 算法、VQE 算法等,且将提供各种支流机器学习框架的 API 接口,满足普通用户提供量子人工智能的开发需要。

由启科量子发动的中国外乡我的项目 QuTrunk——量子编程框架——将致力于推动量子 +AI 技术在寰球技术畛域的摸索与倒退。(注:现启科量子已退出百度 paddlepaddle 技术搭档打算。依据《2021 中国年度开源报告》中国 GitHub 活跃度排名百度 paddlepaddle 沉闷得分高达 6490.8934,Issue、Comment 数据达 18979 均位列第一,是中国 AI 畛域关注度较高的 AI 框架。)

综上,Amazon Braket 作为一项齐全托管式的量子计算服务曾经接入了多种量子计算硬件设施和软件服务。要建设布局更大的量子计算市场,启科量子也将是一个较好的抉择。目前,启科量子编程框架曾经集成了 Amazon Braket 的一些性能,可应用 QuTrunk 调用 Braket 云上的量子模仿设施和实在的量子计算机设计一些量子线路。

3. 全栈量子软件的技术劣势

全栈量子软件产品有强可扩展性,可满足量子编程开发者的多样化开发需要。启科量子软件产品体系的每一层接口预留短缺、全面,将可联合多种 AI 框架实现人工智能畛域的性能扩大。

全栈量子软件产品有较强独立性,可为量子编程开发者提供多样的产品抉择。启科量子的整个量子软件产品体系次要采纳分层架构,既可至上而下解耦为独立产品,又能够随便搭配组合为新的产品体系对外应用,如 QuBranch+QuTrunk+QuBOX、QuBranch+QuTrunk+QuRoot。

全栈量子软件技术的潜在的标准化。因为目前量子软件和量子云仍处于产业化的晚期阶段,量子计算机市场尚未呈现支流软件技术主导的场面,这间接导致了量子计算机软件层面没有一个对立的规范,启科量子软件技术作为中国少有的量子计算研发公司,无望成为将来的支流量子计算软件。

该套量子软件诞生于中国外乡的量子计算技术生态土壤,其行业倒退受国家政策的大力支持,领有较大的中国市场潜力。中国云服务市场始终是云厂商继续深耕的外围市场。而量子科技作为寰球的新建赛道,也将会为软件行业发明出一个全新的倒退机会。

3.1 开源量子编程框架 QuTrunk

QuTrunk 是启科量子自主研发的一款收费、开源、跨平台的量子计算编程框架,包含量子编程 API、量子命令转译、量子计算后端接口等。QuTrunk 应用 Python 作为宿主语言,利用 Python 的语法个性实现针对量子程序的 DSL (畛域专用语言),所有应用 Python 编程的 IDE 均可应用装置。

QuTrunk 基于量子逻辑门、量子线路等概念提供量子编程所需各类 API,这些 API 由相应的模块实现。例如 QCircuit 实现量子线路,Qubit 实现量子比特,Qureg 实现量子寄存器,Command 实现每个量子门操作的指令,Backend 实现运行量子线路的后端模块,gate 模块实现各类根底量子门操作。此外,QuTrunk 还能够作为其余下层量子计算利用的根底,例如:量子算法、量子可视化编程、量子机器学习等。

QuTrunk 次要特点如下:
a. 基于量子逻辑门、量子算符和量子线路实现量子程序开发。
b. 提供 QuSL 量子汇编指令规范,QuSL 量子汇编与 Python 代码齐全兼容。
c. 设施独立,同一个量子线路只需替换后端类型即能够在不同的量子后端上运行。提供多种量子计算体验,本地量子计算提供 Python 和 C++ 量两种计算后端,近程后端提供 OMP 多线程、MPI 多节点并行、GPU 减速等计算模式,同时预留了接口对接启科量子自行研制的离子阱量子计算机。
d. 兼容多种量子汇编指令格局:OpenQASM 2.0 规范和 QuSL 汇编规范。
f. 反对量子可视化编程(其应用须要配合启科量子量子集成开发环境 QuBranch)。

图为:QuTrunk 外部结构图

3.2 量子汇编语言(QuSL)

目前 Amazon Braket 反对门型量子设施和模拟器应用 OpenQASM 3.0。量子汇编语言 QuSL 是 OpenQASM 2.0 的超集,因此其编程语言更加丰盛。

QuTrunk 应用 python 作为宿主语言,利用 python 的语法个性实现针对量子程序的 DSL(畛域专用语言),咱们把用于量子编程的专用语言称为:QuSL(一套相似 openqasm 的量子汇编语言)。QuSL 次要特点是最右边是一个量子门操作,两头退出 ( ) 号链接符,最左边是操作的量子比特,模式如:gate * qubits。该规范充分利用了 Python 语法对 ( ) 运算符的重载个性。其表现形式更靠近量子物理计算公式。此外,(*)在计算机编程语言上可示意乘法运算,QuSL 借此模式可示意右边的量子门操作实际上是对量子比特做矩阵乘法运算。

应用 QuSL 该规范编写的量子汇编能够间接被 QuTrunk 解析运行,而不须要做词法或语法方面的解析解决工作。基于该个性,QuTrunk 能够无缝连接 QuBranch,通过可视化量子编程性能间接生成的量子线路,即 QuTrunk 能够间接运行 QuBranch 生成的量子线路(只需做一些简略的初始化工作),而无需做语法上的编译 / 转译解决。

H * q[0];   # 对 q[0]做 hadamard 门操作
    CNOT * (q[0], q[1]);# q[0]为管制位,q[1]为指标位
    All(Measure) * q# 对 q 代表的所有量子比特做测量操作
    
    //Toffoli: 托佛利门,a, b 作为管制位,c 为指标位, 如果 a,b 均为 1 则对 b 进行取反,否则不做任何操作
    Toffoli * (a, b, c)
    
    //Measure: 测量门,对 a 进行测量,后果要么是 0,要么是 1,测量后果受概率振幅影响
    Measure * a
    
    //P: 相移门,将量子比特 0 > 态和 1 > 态的相位依据给定的角度进行挪动
    P(theta) * a

3.3 量子模仿后端(Beckends)

Amazon Braket 目前提供托管状态向量模拟器 SV1、托管密度矩阵模拟器 DM1、托管张量网络模拟器 TN1 及本地模拟器。启科量子也有自主研发的量子计算模仿软件——QuSprout。QuSprout 是基于经典计算资源的量子计算模仿软件,反对多线程、多节点、GPU 减速,可预装置在 QuBox 中。QuBox 是预装了 QuSprout 的 PKS 体系硬件,以产品状态为用户提供量子模仿资源。如 QuTrunk 应用本地后端qc = QCircuit(backend=BackendLocal())。残缺后端模仿代码示例如下:

 from qutrunk.circuit import QCircuit
    from qutrunk.circuit.gates import H, CNOT, Measure
    
    # new QCircuit object
    qc = QCircuit(backend=BackendLocal())
    # or use as default
    # qc = QCircuit()
    qr = qc.allocate(2)
    H * qr[0]
    CNOT * (qr[0], qr[1])
    Measure * qr[0]
    Measure * qr[1]
    res = qc.run(shots=100)

3.4 量子软件的金融利用——QuFinace

QuFinace 是一款专为金融畛域提供解决方案的量子软件产品。QuFinace 基于量子算法 VQE、蒙特卡罗及 Pennylane 算法库,可在金融畛域中的期权定价、时序汇率预估、投资组合优化、VAR 值计算等方面为金融从业者、投资者在简单市场环境中提供决策撑持。启科量子以 QuFiance 的时序预估性能为结合点,已退出了百度飞桨技术搭档打算。

图为:金融 QuFinance 产品量子时序汇率预估截图

量子软件工程和开发提供商 aQuantum 近期已在亚马逊云科技上推出 QuantumPath 云原生 SaaS 平台,次要提供对量子计算机和第三方解决方案的拜访以及有助于利用软件工程最佳实际的开发生命周期治理。亚马逊云科技目前正在反对在云平台上开发和部署量子解决方案。因而,如果启科量子与 Amazon Braket 联合,其技术劣势将能丰盛用户在 Amazon Braket 上编程工具和解决方案的抉择。

作者介绍:

Keith Yan(丘秉宜)中国首位亚马逊云科技 Community Hero。

Bertran Shao(邵伟),启科量子开发者关系负责人,国内首个开源量子计算社区发起者

Don Tang(唐松炎),启科量子开发者关系,国内首个开源量子计算社区发动成员

正文完
 0