Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

ByteQC:通往大规模实用化量子化学计算的曙光

图片

编辑 | ScienceAI

真实化学体系包含大量的微观粒子,其精确的严格计算需要指数高的复杂度,对这些体系的模拟一直是材料、制药和催化等领域的难点和前沿。

为了解决这一问题,近日字节跳动 ByteDance Research 团队开发并开源了 ByteQC ——基于 GPU 加速的大规模量子化学计算工具集。

该工具集使用强大的 GPU 算力,大幅度加速了常见的量子化学算法,同时结合领域内前沿的量子嵌入方法实现了量子化学「黄金标准」精度下的大规模量子化学体系的模拟。

论文以大尺寸分子团簇,表面吸附问题为例,展示了 ByteQC 在真实材料计算中的应用潜力。

图片

该论文作者中还包括 NVIDIA 和北京大学的合作者。

论文链接:https://arxiv.org/abs/2502.17963

代码链接:https://github.com/bytedance/byteqc

摘要

在大规模体系中应用量子化学算法需要大量的计算资源,并且计算资源的需求随着体系规模和所需精度的提高而增长。字节团队开发并发展了开源项目 ByteQC(ByteDance Quantum Chemistry)。

在硬件层面,ByteQC 在现代 GPU 上高效实现了多种标准量子化学算法,包括平均场计算(Hartree-Fock 方法和密度泛函理论)以及后 Hartree-Fock 方法(如 Møller-Plesset 微扰理论、随机相位近似、耦合簇方法和量子蒙特卡洛方法)。

在算法层面,ByteQC 提供了一种量子嵌入方法,该方法在保持量子化学「黄金标准」精度的同时,显著扩展了可计算的体系规模。

图片

图 1:ByteQC 软件架构

方法

GPU 的显存显著小于 CPU 内存,同时架构的不同导致很多 CPU 可以高效实现的复杂逻辑在 GPU 上很难实现。为了解决这些问题 ByteQC 在开发过程中主要使用了以下方法:

1、引入高效计算库

张量缩并是量子化学计算的主要热点之一,为此作者团队引入了 NVIDIA 提供的高效张量计算库 cuTENSR/cuTENSORMG。该计算库在最小占用显存的前提下高效计算张量缩并。作者团队完善了相关的函数封装,将其引入到了 Python / Cupy 的生态中。

2、高效实现复杂计算逻辑

在周期性体系屏蔽计算中需要在 GPU 上实现高效的动态生产者-消费者模型,作者团队提出使用动态的 warp 特例化高效实现。在平均场 Fock 矩阵构建中,涉及相邻任意多的线程竞态求和的问题。CUDA 自带求和函数并未针对该特殊情况优化,作者团队使用 warp 内的 shuffle 指令实现了高效地求和。

图片

图 2:基于 warp 特例化的生产者-消费者模型


图片

图 3:基于 warp 同步原语的相邻 7 个线程的竞态求和

3、优化缓存和简单高效的原位操作

ByteQC 的诸多代码实现均进行了详细的缓存分析,最大限度地实现了缓存的复用,减少了显存需求。此外大量地使用 Cupy 提供的 kernel 接口,通过 CUDA kernel 实现了原位操作,减少了显存的占用。

结果

基准测试表明相比于 100 核 CPU,ByteQC 的标准量子化学算法最高可实现单 A100 GPU 60 倍加速,大多数模块的多卡标度可达到线性加速。对应可以单GPU计算的体系规模也大幅提升:

  • 耦合簇单、双激发(CCSD):1,610 轨道
  • 带微扰三重激发(CCSD(T)):1,380 轨道
  • 二阶 Møller-Plesset 微扰理论(MP2):11,040 轨道
  • 开放边界条件下的平均场计算:37,120 轨道
  • 周期边界条件下的平均场计算:超过 100,000 轨道

图片

图 4:ByteQC 的子模块加速比(数据点)和计算规模(虚线)

此外,结合 ByteQC 中提供的量子嵌入功能,团队在 2,753 轨道的水团簇问题和 3,929 轨道的氮化硼表面水吸附问题上均实现了 CCSD(T) 水平的「黄金标准 」精度的计算。

图片

图 5:(左)水团簇结构和(右)氮化硼表面水吸附结构

总结

字节跳动 ByteDance Research 团队开发并开源的 ByteQC 软件包克服了 GPU 开发过程中显存受限,复杂逻辑难以高效实现的问题,实现了量子化学方法的高效 GPU 化。

此外,结合量子嵌入方法,ByteQC 可以在保持 CCSD(T) 的精度的前提下,计算更大的规模。通过这些创新和优化,ByteQC 有望成为推动量子化学领域发展的工具。

理论人工智能科学化学量子AI for Science
相关数据
字节跳动机构

北京字节跳动科技有限公司成立于2012年,是最早将人工智能应用于移动互联网场景的科技企业之一,是中国北京的一家信息科技公司,地址位于北京市海淀区知春路甲48号。其独立研发的“今日头条”客户端,通过海量信息采集、深度数据挖掘和用户行为分析,为用户智能推荐个性化信息,从而开创了一种全新的新闻阅读模式

https://bytedance.com
基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

张量技术

张量是一个可用来表示在一些矢量、标量和其他张量之间的线性关系的多线性函数,这些线性关系的基本例子有内积、外积、线性映射以及笛卡儿积。其坐标在 维空间内,有 个分量的一种量,其中每个分量都是坐标的函数,而在坐标变换时,这些分量也依照某些规则作线性变换。称为该张量的秩或阶(与矩阵的秩和阶均无关系)。 在数学里,张量是一种几何实体,或者说广义上的“数量”。张量概念包括标量、矢量和线性算子。张量可以用坐标系统来表达,记作标量的数组,但它是定义为“不依赖于参照系的选择的”。张量在物理和工程学中很重要。例如在扩散张量成像中,表达器官对于水的在各个方向的微分透性的张量可以用来产生大脑的扫描图。工程上最重要的例子可能就是应力张量和应变张量了,它们都是二阶张量,对于一般线性材料他们之间的关系由一个四阶弹性张量来决定。

逻辑技术

人工智能领域用逻辑来理解智能推理问题;它可以提供用于分析编程语言的技术,也可用作分析、表征知识或编程的工具。目前人们常用的逻辑分支有命题逻辑(Propositional Logic )以及一阶逻辑(FOL)等谓词逻辑。

动量技术

优化器的一种,是模拟物理里动量的概念,其在相关方向可以加速SGD,抑制振荡,从而加快收敛

byteq机构

BYTEQ e.U.创建具有设计和功能的网络和移动产品。总部位于维也纳,公司开发的解决方案也与加拿大息息相关。

https://byteq.com/en/
北京大学机构

北京大学创办于1898年,初名京师大学堂,是中国第一所国立综合性大学,也是当时中国最高教育行政机关。辛亥革命后,于1912年改为现名。2000年4月3日,北京大学与原北京医科大学合并,组建了新的北京大学。原北京医科大学的前身是国立北京医学专门学校,创建于1912年10月26日。20世纪三、四十年代,学校一度名为北平大学医学院,并于1946年7月并入北京大学。1952年在全国高校院系调整中,北京大学医学院脱离北京大学,独立为北京医学院。1985年更名为北京医科大学,1996年成为国家首批“211工程”重点支持的医科大学。两校合并进一步拓宽了北京大学的学科结构,为促进医学与人文社会科学及理科的结合,改革医学教育奠定了基础。

官网,http://www.pku.edu.cn/
推荐文章
暂无评论
暂无评论~