Amazon Braket 与量子计算

news2025/8/13 18:41:38

KY1,Yankuan Pan2,Bertran Shao3,Zoey Deng41.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 QCircuitfrom 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(唐松炎),启科量子开发者关系,国内首个开源量子计算社区发起成员

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/33217.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

中国设备维修安装企业能力等级证书(制冷空调)

中国设备维修安装企业能力等级证书(制冷空调),是由中国制冷学会审定,中国设备管理协会批准颁发,全国性制冷空调设备维修、安装行业能力等级证书。也是目前国内唯一能在中国招标网http://www.ctba.org.cn/查询到的制冷空…

AVX | 关于RC电路耦合、相移、滤波、微分、积分的那些事儿~

所谓RC电路,就是电阻R和电容C组成的一种分压电路。如下图1所示:输入电压加于RC串联电路两端,输出电压取自于电阻R或电容C。由于电容的特殊性质,对下图(a)和(b)不同的输出电压取法,呈现出不同的频率特性。 由此RC电路在…

STM32实战总结:HAL之HMI

什么是HMI? HMI人机界面,HMI是Human Machine Interface 的缩写,“人机接口”,也叫人机界面。 人机界面(又称用户界面或使用者界面)是系统和用户之间进行交互和信息交换的媒介, 它实现信息的内部…

集世界杯+GameFi元素的MetaElfLand,为何将在世界杯期间爆发?

又到了四年一度的球迷狂欢节,本次卡塔尔世界杯已于11月21号举行。 每当世界杯来临,与世界杯相关产业都会迎来一波爆发,毕竟这个千亿美金市值的市场暗藏着无数的机会。而自GameFi的火热开始,世界杯也成为了加密投资者的狂欢日&…

C语言内存分区

本文参考详细讲解C语言五大内存分区与可执行程序的三段(Text段、Date段、Bss段)【建议收藏】 - 知乎 一、C语言内存分区 1.栈区(stack):存放函数形参和局部变量,由编译器自动分配和释放 2.堆区(heap)&am…

mysql-4-锁机制

1 场景 库存等 共享资源等。 都需要锁,大量并发下,防止库存超卖等现象产生。 2分类 分类 1:(读,写)锁:对数据操作的类型分类 2: 对数据操作的粒度分 行锁,表锁 读写锁 读锁(共享锁)&#xff1a…

ISCSLP 2022 | NPU-ASLP实验室8篇论文被录用

作为语音处理技术领域的旗舰国际会议,ISCSLP2022(International Symposium on Chinese Spoken Language Processing)将于12月11-14日在新加坡举办。 西工大音频语音与语言处理研究组(ASLPNPU)本届会议将携合作伙伴宣读论文8篇,涉…

MCE | 曲贝替定——来自海洋的抗软组织肿瘤化合物

目前,常用于 STS 的化疗药物为蒽环类药物如阿霉素 (ADM)、异环磷酰胺(IFO) 、环磷酰胺 (CTX) 、顺铂 (DDP) 等。但是,为了解决部分患者不适合利用蒽环类和酰胺类药物治疗,或利用这些药物治疗无效的问题,仍需寻找新的药物治疗方案。…

用gdb调试有问题的程序:练习使用gcc编译器和gdb调试器

内容 1.用gdb调试有问题的程序:练习使用gcc编译器和gdb调试器; 2.练习使用make工程管理器。 实操流程: (1)编制greet.c文件。 此代码的原意为倒序输出main函数中定义的字符串,但…

JNDI注入的理解、JDK给出的修复

RMI RMI(Remote Method Invocation):一种执行远程调用的Java API。RMI的目的是使在不同计算机上运行的对象(Object)之间的调用行为类似于本地调用。 RMI机制:服务器(Server)应实现一定的功能并将其注册到注册表(Registry)中,客户端(Client)应在注册表的命名空间(Naming spac…

RabbitMQ入门教程(安装,管理插件,Publisher/Consumer/交换机/路由/队列/绑定关系,及如何保证100%投递等)

RabbitMQ入门教程(安装,管理插件,Publisher/Consumer/交换机/路由/队列/绑定关系,及如何保证100%投递等) 1. RabbitMQ简介及AMQP协议 开源的消息代理和队列服务器。基于AMQP(Advanced Message Queuing Pr…

矢量网络分析仪如何校准?安泰测试来助力

要想学会测试, 首先要学会校准! 对矢量网络分析仪的校准是非常重要的一个步骤,能够提高仪器的测量精度。今天安泰测试就给大家分享一下矢量网络分析仪的校准操作步骤: 一、单端口校准 校准目的: 通过单端口校准可以消除该端口的反射跟踪误差、…

[附源码]SSM计算机毕业设计教学辅助系统JAVA

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

双层神经网络实现非线性回归——机器学习

目录 一、算法思想 二、算法原理 三、算法分析 四、源程序代码 五、运行结果及分析 一、算法思想 在两层神经网络之间,必须有激活函数连接,从而加入非线性因素,提高神经网络的能力。所以,我们先从激活函数学起,一类…

线代——求逆矩阵的快捷方法

通常,求逆矩阵有两种方法: 方法一: 方法二: 但是,对于特殊矩阵,如: 1、二阶矩阵 A[abcd]A \begin{bmatrix} a & b\\ c & d \end{bmatrix}A[ac​bd​],其逆矩阵 A−11ad−bc[d−b−ca…

FienReport在线报表工具-大数据集导出示例

前言 在企业管理中,报表可以以图表等简洁的方式向用户显示数据,从而提高工作效率。许多公司紧跟信息技术的潮流,已经应用了报表软件工具。“我们企业想用一个报表工具,你有推荐吗?”这是这两年被问到最多的问题&#…

MySQL 进阶 怎么去了解MySQL的架构原理

前言 在了解 MySQL 原理之前,对我而言 MySQL 就是一个黑盒子,我写的SQL 语句通过服务发送给 MySQL 数据库,然后数据库就执行 SQL 语句,返回一些查询结果或做一些操作。然后就没然后了。。。再深入一点,就是知道某些 S…

机器学习-聚类算法

机器学习-基础知识 机器学习-线性回归 机器学习-逻辑回归 机器学习-聚类算法 机器学习-决策树算法 机器学习-集成算法 机器学习-SVM算法 文章目录聚类算法1. K-Means算法1.1. 理论基础1.2. 具体代码1.2.1. 数据集1.2.2. 自定义k-means算法类1.2.3. 测试模块1.3. 效果展示1.3.1.…

Flink 多流转换

多流转换分流使用侧输出流基本合流操作联合(Union)连接(Connect)基于时间的合流——双流联结(Join)窗口联结(Window Join)间隔联结(Interval Join)窗口同组联…

C#界面里Form.IsMdiContainer 属性的使用

C#界面里Form.IsMdiContainer 属性的使用 由于屏幕的局限,以及软件需求的复杂,并且还需要方便使用, 面对这样的任务,就需要好好地考虑使用多窗口的界面设计。 因为每一个窗口可以实现不同的功能,这样方便把相关的功能放在一起,不同的功能分为不同的窗口。 这样既可解决屏…