查看原文
其他

TensorCircuit: 腾讯发布高效量子模拟开源软件

光子盒 2022-07-04

The following article is from 腾讯量子实验室 Author 量子妹


来源:腾讯量子实验室


相较于主流量子模拟软件,TensorCircuit 的模拟效率有数量级的提升,且针对特定任务可以模拟数百个量子比特的超大系统。腾讯表示,TensorCircuit 欢迎学术界和企业界的用户积极使用,并参与开源建设,共同构筑面向未来的量子生态。

 

TensorCircuit 是腾讯量子实验室发布的一款量子计算领域的开源软件产品。该软件从设计理念到运行效率均领先国际上的同类产品,代表了腾讯在硬核科技领域的积累和发展,是腾讯量子实验室长期扎实深耕量子科技领域前沿的又一体现

TensorCircuit 是面向有噪声中等规模量子计算(NISQ)的下一代量子计算软件,其底层由先进的张量网络缩并引擎赋能。软件直接构建在业界标准机器学习框架 TensorFlow、JAX 和 PyTorch 之上,由此与深度学习交互界面和工程范式无缝兼容,支持自动微分、即时编译、向量并行化和 GPU 加速。作为通用的量子线路和量子算法模拟框架,TensorCircuit 尤其擅长于变分量子算法、量子机器学习和量子-经典混合计算范式的模拟、研究与设计分析,有望极大地推动相关领域的科研进展。





相较于 Google 的 TensorFlow Quantum、IBM 的 Qiskit 和 Xandau 的 Pennylane 等业界主流量子模拟方案,TensorCircuit在多种常见任务上表现出了10到10^6倍的加速。同时 ,TensorCircuit 在特定问题上支持包含数百个量子比特的线路精确模拟,是主流态模拟器所支持的最大模拟量子比特数的二十倍以上。这些惊人的效率提升是基于(1)底层张量网络引擎和优化的缩并路径求解器,与(2)用户侧的机器学习工程实践:自动微分、即时编译、向量并行化与 GPU 加速。

 

如下展示两个代表性的实例对 TensorCircuit 的效率加以说明。更多的实例和 benchmark 数据可以参考 TensorCircuit 白皮书文章[1]。

 

1)高级自动微分支持(时间效率提升)

 

通过高级的自动微分支持,TensorCircuit 摆脱了传统低效的参数平移求导方案,可以高效求解线路梯度、线路量子 Fisher 信息和线路参数 Hessian 等各种计算量。与 IBM 的 Qiskit 的官方方案相比的,即使在中等大小线路上,TensorCircuit 已经有近百万倍的加速,而且随着问题规模的扩大,加速会更加显著。具体案例参见[2]。


图 1. TensorCircuit 相比 Qiskit 梯度框架在量子 Fisher 信息和量子 Hessian 评估上对应的加速

 

2)张量网络模拟引擎(空间效率提升)

 

通过张量网络优化缩并路径的搜索,不仅可以大幅提升量子线路模拟的时间效率,也可以大幅优化空间效率,从而实现传统态模拟器无法完成的大规模量子线路模拟。TensorCircuit 可在单 GPU 上跑通完整的 600 量子比特一维 VQE 工作流(横场伊辛模型,七层阶梯状双比特门)。对于该 600 比特系统,单步计算能量和全部线路梯度的耗时仅在 18s 左右,而主流量子模拟软件无法实现对该规模系统的能量和梯度的计算。具体案例参见[3]。

 


1)灵活

 

无论是对三大现代机器学习后端 TensorFlow、JAX 和 PyTorch 的支持,还是对模拟的数值精度、运行计算的硬件及张量网络缩并引擎的选择,都可以以一行代码完成动态配置和调整,且调整范围既可以是全局也可以是 with 语句级别。

2)简洁

 

TensorCircuit 秉持 Quantum for Human 的理念,坚持简洁和优雅的 API 设计,避免无意义的过度封装和抽象,在用户侧实现底层透明和简洁易用的完美平衡。对于简单的标准变分线路任务,TensorCircuit 所需的代码行数是 TensorFlow Quantum 的不到一半,且可以只导入 TensorCircuit 1个包完成 TensorFlow Quantum 需要导入 5 个包的任务。


具体对比可以参考:

https://github.com/tencent-quantum-lab/tensorcircuit/tree/master/examples/apicomparison。

3)全面

 

在保证了下一代量子软件的先进设计范式的同时,TensorCircuit 包含了全面的量子模拟所需功能,无论是量子线路输入矩阵乘积态波函数、蒙特卡洛和密度矩阵模式的量子噪声模拟,还是经典测量控制量子门排布、非幺正演化和后选择等,都是绝大部分同类产品没有完整支持但在研究和应用中非常重要的原语和组件。这些组件和量子模拟器的底层紧密关联,无法通过用户层的代码实现,这些支持的本质缺失阻碍了通过其他软件产品进行相应量子研究的可能性。

4)开放


TensorCircuit 将聚焦开源作为开发原则中的重要一条。我们格外关心代码的鲁棒性、可读性、便携性和可扩展性,并利用软件工程、丰富的检查测试工具和持续集成来保证软件拥抱开源社区,并以此推动全球量子科技的进步。

 


1)使用

 

腾讯表示,欢迎所有人在科研、学习和工作中体验和使用 TensorCircuit,并欢迎大家在 GitHub Discussion 来反馈使用的建议,在GitHub Issue 来反馈使用的问题。


GitHub Discussion:

https://github.com/tencent-quantum-lab/tensorcircuit/discussionsGitHub 


GitHub Issue:

https://github.com/tencent-quantum-lab/tensorcircuit/issues

2)关注

 

如果对该软件有兴趣,请在 GitHub 为代码库点亮 Star。如果 TensorCircuit 帮助到了您的科研工作,欢迎引用我们的白皮书文章。


点亮 Star:

https://github.com/tencent-quantum-lab/tensorcircuit


白皮书文章:

https://arxiv.org/abs/2205.10091

3)贡献

 

我们期望有更多人参与到 TensorCircuit 的持续开发和开源建设过程中。欢迎大家通过 GitHub PR 来贡献代码,共同构建更好的量子软件生态和量子开发社区。


GitHub PR :

https://github.com/tencent-quantum-lab/tensorcircuit/pulls

4)展望

 

我们将持续构建开源技术社区和量子开源生态,通过输出高质量的文档、案例、教程、教材、培训、研究和行业应用,积极组织相关的赛事和活动,来辐射更大的包括高校学生、科研工作者和企业合作伙伴在内的高质量用户群体。以 TensorCircuit 为着力点,腾讯量子实验室将进一步连接学术界研究和企业界落地探索,助力高校科研院所和企业研发部门等合作伙伴进行更高水平的科研,共同探索未来基于量子计算的潜力商业化应用场景。

 


Python:

pip install tensorcircuit 即可开始在 Python 生态中体验 TensorCircuit 的完整功能。

 

GPU:

对于 GPU 支持,我们推荐直接使用官方的 Docker 镜像。

https://hub.docker.com/repository/docker/tensorcircuit/tensorcircuit

 

在线体验:

可以通过浏览器用在线 Jupyter Lab 进行免配置体验。

https://mybinder.org/v2/gh/refraction-ray/tc-env/master?urlpath=git-pull?repo=https://github.com/tencent-quantum-lab/tensorcircuit&urlpath=lab/tree/tensorcircuit/&branch=master

 

技术文档:

请参考软件文档和软件白皮书学习软件的使用和丰富的实践案例。


软件文档:

https://tensorcircuit.readthedocs.io


软件白皮书:

https://arxiv.org/pdf/2205.10091.pdf


后续腾讯量子也将有系列推送,聚焦讨论 TensorCircuit 的架构、用法、场景和优势,敬请关注。


相关链接:

TensorCircuit 开源库:

https://github.com/tencent-quantum-lab/tensorcircuit

TensorCircuit 文档:

https://tensorcircuit.readthedocs.io/

TensorCircuit 文档(中文):

https://tensorcircuit.readthedocs.io/zh/latest/

TensorCircuit 白皮书:

https://arxiv.org/abs/2205.10091

TensorCircuit PyPI 页面:

https://pypi.org/project/tensorcircuit/

TensorCircuit Docker 页面:

https://hub.docker.com/repository/docker/tensorcircuit/tensorcircuit

 

参考链接:

[1]https://arxiv.org/abs/2205.10091

[2]https://github.com/tencent-quantum-lab/tensorcircuit/blob/master/examples/gradient_benchmark.py

[3]https://github.com/tencent-quantum-lab/tensorcircuit/blob/master/examples/vqe_extra_mpo.py


—End—

相关阅读:
腾讯“量子芯片专利”获得授权
腾讯实现变分量子线路和神经网络融合的指数加速
腾讯取得量子电路编译最新进展
腾讯量子研究最新进展:首次实现量子开放系统的绝热演化捷径
突破极限:腾讯实现百万原子超大体系平面波精度第一性原理计算

#光子盒视频号开通啦!你要的,这里全都有#

每周一到周五上午,我们都将与光子盒的新老朋友相聚在微信视频号,不见不散

你可能会错过:

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

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