HiQ量子计算云平台最新推出高性能QuPack量子模拟加速引擎,加速量子算法研究

背景和介绍

近年来,量子计算领域不断涌现突破性的新进展,从算法开发到硬件实现都在不断发展。当前,量子计算正处于含噪声中等规模(NISQ)阶段,大规模的量子模拟器容错度有限,尚未形成有效应用,量子模拟器的研究意义重大。
业界包括昇思MindSpore Quantum在内的各种量子计算套件,可方便地对量子线路进行模拟。然而,针对特定问题和特定硬件平台,我们可以采用更高效的模拟算法。因此,HiQ量子计算团队推出了精心设计的量子模拟加速引擎QuPack。QuPack利用业界最新、最前沿的技术,为科研工作者提供更强大的量子模拟工具。目前,QuPack引擎拥有自研的VQE量子化学模拟器和QAOA量子组合优化算法模拟器,对相应的算法模拟皆有数量级的加速,助力研究者发掘新的量子算法。

01 优势

QuPack作为一个简洁高效、灵活、功能强大的量子模拟加速引擎,在运行效率和功能设计上都远超国内外的同类软件。QuPack具有超强可扩展性,可自定义量子比特数、Ansatz线路层数、哈密顿量,满足定制化需求;可设置或得到量子线路的实时量子态,得到关于哈密顿量的期望值及梯度。

下面将具体介绍QuPack在不同应用场景下的功能和性能优势。

1. VQE专用模拟器

主要优势:更少的内存资源,计算更大比特的分子

QuPack量子模拟加速引擎提供VQE专用模拟器,实现了VQE算法加速。对比业界量子软件框架,有着显著的创新性。QuPack采用了更强大的内存压缩技术,将内存空间占用从指数级降低至多项式级,能够在更少的计算资源下运行超大规模的量子化学模拟,从而极大地缩短了运行时间。 

【VQE求解化学分子基态能量】

VQE求解化学分子基态能量的性能对比(以H6分子/12量子比特为例),如下图1所示,QuPack 相较 Qiskit 实现了数万倍的加速。QuPack 可在0.5s完成对12量子比特氢链系统基态能量求解的端到端模拟。

  图1 量子模拟器 VQE性能对比图

端到端时间(包括加载分子模型,构建量子线路、哈密顿量,计算期望值与梯度,迭代计算的全部时间)软件版本:Qiskit 0.43.0、TensorFlow Quantum 0.7.2、MindQuantum0.9.0、QuPack 0.1.1

与业界主流软件Qiskit、TensorFlow Quantum相比,QuPack能计算出更多大比特分子。目前在通用计算机上可支持32个及以上量子比特的计算,32U128G的环境最大可支持32量子比特,8U32G的环境最大可支持30量子比特,2U8G的环境最大可支持28量子比特。这使得QuPack成为处理大规模量子计算问题的理想选择。

 图2:氢链体系的基准测试 端到端时间

*硬件信息:Intel(R) Xeon(R)CPU E5-2620,8U32G;软件版本信息与图1相同

登录HiQ量子计算云平台,即开即用,免费在线体验(体验环境目前是2U8G)。https://hiq.huaweicloud.com/portal/home

2. QAOA专用模拟器

主要优势:超快的线路模拟,高效求解组合优化问题

QuPack提供QAOA专用模拟器,实现了对QAOA算法的加速。对于全连接图问题,迭代速度有明显的提升,无缝衔接高阶二值优化问题的哈密顿量,从而实现高效解决组合优化的问题。

【QAOA求解Max-Cut问题】

QAOA求解MAX-Cut问题的性能对比(以16节点的全连接图/16量子比特为例),如下图3所示,QuPack与主流软件Qiskit相比,性能提高88倍以上。

 图3:量子模拟器QAOA性能对比图

端到端时间(包括加载全连接图模型,构建量子线路、哈密顿量,计算期望值与梯度,迭代计算的全部时间)软件版本:Qiskit 0.43.0、TensorFlow Quantum 0.7.2、MindQuantum0.9.0、QuPack 0.1.1

02 开始使用

1. 了解QuPack

QuPack 教程文档:

https://hiq.huaweicloud.com/document/QAOA

https://hiq.huaweicloud.com/document/VQE

QuPack API文档:

https://hiq.huaweicloud.com/document/qupack/index.html


QuPack使用指南:

https://www.hiascend.com/forum/thread-0253120736407765026-1-1.html?fid=0106101385921175002

2. 在线体验

目前提供以下两种使用方式,让开发者来快速体验QuPack,点击链接,免费在线体验:https://hiq.huaweicloud.com/portal/home

  • HiQ量子计算云平台进入CloudIDE,即开即用,免费在线体验(创建实例时选择“样例工程”)。

  • HiQ量子计算云平台进入JupyterLab,免费体验。

3. 样例代码

我们以最常用的VQE算法求解化学分子基态能量作为案例,快速了解QuPack的API概貌。

from openfermion.chem import MolecularData
from openfermionpyscf import run_pyscf
from scipy.optimize import minimize

from mindquantum.core.circuit import Circuit
from mindquantum.algorithm.nisq import uccsd_singlet_generator
from mindquantum.core.operators import InteractionOperator, FermionOperator, normal_ordered
from qupack.vqe import ESConservation, ExpmPQRSFermionGate, ESConserveHam

# 定义分子结构
geometry = [["Li", [0.0, 0.0, 0.0 * 1.5]],["H", [0.0, 0.0, 1.0 * 1.5]],]
molecule_of = MolecularData(geometry, "sto3g", multiplicity=2 * 0 + 1)
mol = run_pyscf(molecule_of, run_ccsd=1,)

# 实例化模拟器,并生成uccsd方法的费米算符,然后用该算符生成量子线路。
sim = ESConservation(mol.n_qubits, mol.n_electrons)
ucc_fermion_ops = uccsd_singlet_generator(mol.n_qubits, mol.n_electrons, anti_hermitian=False)
circ = Circuit()
for term in ucc_fermion_ops:
    circ += ExpmPQRSFermionGate(term)

# 用分子对应的哈密顿量构造相互作用算符,然后构造费米算符,进而得到哈密顿量。
ham_of = mol.get_molecular_hamiltonian()
inter_ops = InteractionOperator(*ham_of.n_body_tensors.values())
ham = ESConserveHam(normal_ordered(FermionOperator(inter_ops)).real)

# 构造计算哈密顿量期望值和参数梯度的算子,然后优化线路参数直到期望值最小化,即得到基态能量。
grad_ops = sim.get_expectation_with_grad(ham, circ)

def func(x, grad_ops):
    f, g = grad_ops(x)
    return f.real, g.real

init_amp = [1e-6 for i in range(len(circ.params_name))]
res = minimize(func, init_amp, args=grad_ops, method='bfgs', jac=True)

03 赋能生态

欢迎大家体验全新的量子模拟加速引擎QuPack,感受极致的性能和超快的速度。同时,我们也诚挚邀请您积极参加“2023 MindSpore量子计算黑客松全国大赛”,展示您的才华和创新。大赛报名时间截止于2023年7月15日,敬请关注。

今年大赛的三大亮点:

  • 黑客松大赛新增热身赛道,小白和达人一起参与挑战。

  • 体验全新一代通用量子计算套件昇思MindSpore Quantum和首发的量子模拟加速引擎QuPack。

  • 荣誉殿堂展播,黑客松决赛大奖、鼓励奖、推广奖等多重奖项可叠加。

在大赛期间,我们将邀请华为资深专家在线直播互动,为开发者提供“学—练—赛”的全新模式,帮助大家更好地体验量子计算的软件编程。全新的竞赛体验,卓越的框架性能,活跃的开源社区,快来报名参赛,挑战全国总冠军!

大赛报名链接:https://competition.huaweicloud.com/information/1000041884/introduction
如果您想在教学或活动中使用 QuPack,非常欢迎直接和我们联系。
感谢大家对HiQ量子计算的持续关注,也欢迎大家多提宝贵意见。官方邮箱:[email protected]
欢迎转载和引用本文内容。

猜你喜欢

转载自blog.csdn.net/Kenji_Shinji/article/details/131417992