[ ]
【IT168 编译】传统意义上,高性能计算(HPC)依赖于数值分析来求解物理方程,以此模拟小到亚原子,大到银河系的系统行为。而最近,科学家们开始尝试一种完全不同的方法。事实证明,机器学习(ML)模型比现有的数字运算仿真更高效、更准确。一旦深度神经网络(DNN)使用来自传统分析和直接观察的几乎无限的数据集得到训练,它就可以预测或估计模拟的结果——而不需要实际运行。早期的结果表明,通过将ML与传统的仿真相结合,这些“综合模型”可以提高准确性,加快求解速度,并显着降低成本。如果这一办法被广泛采用,将进一步推动以NVIDIA为代表的加速器供应商的业务的发展。
机器学习和HPC的交集
机器学习模型可以用来解决极其复杂的问题。就此而言,它会使用比传统方法少得多的资源。基于两个原因,ML可以更有效率。首先,数值分析通常需要昂贵的64位浮点计算,而经过训练的神经网络通常只需要8位整数计算。训练一个DNN无疑具有很高的计算要求,需要许多GPU和数万亿次的计算。但是,一旦训练好了,DNN就可以用简单的整数进行运算。其次,整个方法通过找到现有数据中的模式规律来起作用,而不是计算数值方程。因此,早期的研究表明ML通常消耗的资源要少得多,可以解决传统模拟所无法掌控的问题。
HPC机器学习的好处
虽然ML在HPC领域是一个相对较新的特性,但是科学家已经在研究中应用了综合建模并且得到了一些引人注目的结果。早期阶段的研究案例较少,以下是一些典型的研究项目,在SC17超算大会上备受关注:
1.LIGO信号处理(NCSA) - 快5000倍
2.预测分子能量学(UFL / UNC) - 快300,000倍
3.分析引力Lensing(SLAC斯坦福) - 从数周到10毫秒
4.产生玻色爱因斯坦凝聚(UNSW):快14倍
5.持久融合(Princeton):将中断预测从85%提高到90%
6.跟踪中微子(Fermilab):检测率提高33%
7.Protein Ligand Scoring(匹兹堡大学):将姿势预测精度从52%提高到70%
将ML应用于HPC问题有三种方法。首先,它可以用来调制连续迭代之间的仿真或实验 - 将收敛加速到一个稳定可靠的模型。在劳伦斯利弗莫尔国家实验室研究聚变能力的研究人员已经使用ML来检查仿真运行期间的发散,自动调整参数以保持仿真正常进行。他们已经报告使用这种技术的速度显着增加。
另一种方法是增强现有的模拟,以提高准确性和降低延迟。在这里,模拟提供了神经网络的出发点和训练数据,以改进数值模型的输出。这种方法的一个显着的例子是高分辨率光线追踪。这种传统的计算密集型方法创建了一个“真实”的图像,然后用它来训练一个DNN以产生额外的高质量图像,而资源却少得多。
▲与传统的光线跟踪相比,机器学习可以生成高质量的图像,计算资源要少得多。
最后,也许HPC中机器学习最有影响力的应用是用基于ML的近似值代替数值模拟模型。这种方法有可能改变HPC。然而,这种方法需要科学家采用一种办法,最终可能会使他们花费了数十年开发的代码变得过时。当然,实践中的结果可能也是让人惊叹的。佛罗里达大学和北卡罗来纳大学的科学家已经看到了其在药物研究中的好处,他们能够将计算时间从几分钟缩短到几微秒,减少了6个数量级。这可能会对筛选新候选药物所需的时间产生巨大影响,使用传统的CPU,这个筛选过程可能需要5年。
结论
这种新的方法仍处于起步阶段,也存在一些争议。 不过机器学习研究人员已经证明,它们可以减少多个数量级的计算资源和能源消耗,同时提高准确性和降低延迟。考虑到各国政府和行业的资金投入,以及现有的极其高效的GPU硬件,预计未来几年这一趋势将会大幅加速。