模拟/建模/设计

利用 NVIDIA CUDA-Q 和 NVIDIA cuDNN 加速太阳能预测的量子算法实现

改善可持续能源的来源是一个全球性问题,具有环境和经济安全方面的影响。台湾中原基督教大学电力系统与能源杰出教授 Ying-Yi Hong 研究混合量子经典方法,这些方法利用 量子计算 来解决电力系统和可持续能源方面的挑战性问题。

Hong 教授的研究团队重点关注太阳辐射预测,目标是利用地理和历史数据来预测光伏发电场的发电量,使电力公司能够以最佳方式调度传统的基于矿物燃料的发电。

Hong 教授和他的学生 Dylan Lopez 使用 NVIDIA CUDA-Q 平台 ,通过混合量子神经网络(HQNN)运行的计算来预测太阳辐射。这项工作最近发表在论文《 使用混合量子神经网络进行太阳辐射预测:GPU-Based Workflow 开发平台的比较 》中。

与其他领先的量子模拟器相比,HQNN 的这项工作利用了 CUDA-Q 与 NVIDIA cuDNN 库的互操作性,实现了模型训练速度提升 2.7 倍,测试集错误率降低了 3.4 倍。

什么是混合量子神经网络?

经典神经网络(NN)是可训练的 机器学习(ML) 模型,由类似于大脑中连接神经元的数学运算层构建而成。每个层都由神经元组成,这些神经元通过可训练权重连接到相邻层中的神经元。一个标准的神经网络包括接收原始数据的输入层、应用各种变换的隐藏层,以及生成最终预测的输出层。

NN 是使用数据集训练的 ML 模型,可找到可最小化成本函数的最佳参数。经过训练的模型可以在称为 推理 的过程中根据新数据进行预测。事实证明,NN 在为复杂系统建模时非常有效。

HQNN 具有相同的目标,但会将传统神经网络的一层或多层替换为所谓的“ 量子 层”中的参数化量子电路。量子层由几个重要的子层组成(图 1)。

Diagram of a standard quantum layer within a hybrid quantum neural network showing encoding layer, parametric unitary, classical data, and more.
图 1. 混合量子神经网络中的标准量子层。

首先,输入数据通过编码层被编码到量子电路中。然后,一组参数化的单量子位门作用于每个量子位。这些门的结构通常称为 ansatz。接下来,使用受控非门(CNOT 门)的级联应用纠缠层。最后,测量量子电路,测量结果用于计算成本函数,或作为输入前馈至另一层。

HQNN 是一种前景广阔的方法,因为量子纠结的独特属性为更有表现力的模型提供了机会,该模型可以使用更少的可训练参数捕获复杂的模式。然而,仍然存在许多挑战,特别是将经典数据编码到量子电路的最佳方式。

用于太阳能辐射的 CUDA-Q HQNN 

HQNN 需要 CPU、GPU 和 QPU 协同工作(图 2)。数据预处理在传统 CPU 上进行,GPU 运行 HQNN 的经典层,QPU 运行构成量子层的电路。教授 Hong 和 Dylan 使用 CUDA-Q 开发平台构建和训练了一个 HQNN,该 HQNN 使用的数据来自国家太阳辐射数据库,其中包括来自台湾的许多与天气相关的功能。

图 2 显示了典型的 HQNN 工作流。大多数工作流都使用 CUDA 加速,并使用 cuDNN cuQuantum 库实现额外加速。

A typical HQNN workflow showing dataset preparation; classical, hybrid, quantum; and CPU-powered, GPU-powered sections.
图 2.典型的 HQNN 工作流程

在 PyTorch 中实施了经典神经网络,并使用论文的“ 方法 ”部分中所述的贝叶斯优化设计了 NN 层。由此生成的架构充当了 HQNN 的经典组件,在 HQNN 中,最后的密集层被替换为量子层(图 3)。

Diagram showing (left to right): locations, multidimensional input, quantum NN, and output vector.
图 3. HQNN 与 NN 设计类似,最终(品红色)层被量子层取代。 两个 NN 都处理具有各种天气特征的数据,以生成相应的预测

NVIDIA CUDA-Q、CUDA 和 cuDNN 工具协同工作,能够加速此 HQNN 中的整个工作流程。CUDA-Q 可确保网络中的量子层和经典层得到加速,使量子资源和经典资源能够无缝协作。PyTorch 训练通过 CUDA 自动加速。

两个 NVIDIA 库可进一步加速特定任务。cuDNN 可确保在模拟量子层(而不是在实际量子硬件上运行)的情况下实现卷积等高效 NN 运算。cuQuantum 可加速所有量子电路模拟。

CUDA-Q 提高了 HQNN 的速度和准确性 

Hong 教授 Dylan 使用两块 NVIDIA RTX 3070 GPU 训练了他们的 HQNN 模型,以预测一年中所有四个季节的太阳辐射。他们将结果与经典基准进行了比较,并对不同模拟器和加速混合工作流程中经典 NN 部分的方法进行了基准测试。数据表明,使用 GPU 加速和 CUDA-Q 是实现最大性能提升的关键。

Two side-by-side graphs: average epoch latency (left) and HQNN test set error (right).
图 4. CUDA-Q 经过优化,可利用 CUDA 和其他库(如 cuDNN)加速混合量子经典应用,如 HQNN

GPU 在模拟 HQNN 的量子部分和经典部分方面的效用显而易见。无论使用何种模拟器,GPU 加速的量子电路模拟均可将每个训练步骤的时间(Epoch Latency)至少加速 3 倍。经典的 NN 步骤也可以通过 CUDA 或 CUDA 加上 cuDNN 进行加速(图 4,左)。

CUDA-Q 经过独特优化,可更好地利用 GPU。与其他领先的 GPU 模拟器相比,在 CUDA 和 cuDNN 加速经典 NN 步骤时,CUDA-Q 的速度提高了 2.7 倍(图 4,左),并且在测试集 RMSE 方面训练模型的准确度提高了 3.4 倍(图 4,右)。

Hong 教授和 Dylan 能够成功预测台湾的季节性太阳辐射,其准确度与传统方法具有竞争力。Hong 教授指出,这项研究的结果表明,“CUDA-Q 为 NISQ 时代及以后的能源研究阶段混合量子运算提供了很好的方法。加速经典和量子任务使我们能够探索在解决方案管道中集成高性能计算机(HPC)和量子计算机的最佳和最差解决方案。”

开始使用 CUDA-Q 

CUDA-Q 是一个用于混合量子经典计算的平台,而不仅仅是一个量子模拟器。CUDA-Q 编排了混合 CPU、GPU 和 QPU 工作流程的各个方面,从而加速本作品中展示的 HQNN 的量子和经典组件。CUDA-Q 平台上开发的代码具有较长的使用寿命,并且旨在随着加速量子计算机的扩展无缝扩展,以解决实际问题。

要开始使用 CUDA-Q,请查看以下资源:

 

标签