发展高性能计算基础设施,
推动人工智能创新

在英特尔实验室,我们对高性能计算与新兴工作负载的融合感到既兴奋又鼓舞。对于我们而言,探索最多、最具创新的领域之一便是人工智能(AI)。

如今,人工智能工作负载对计算能力的需求达到了前所未有的高度,因而也成为了推动百万兆级运算需求的关键因素之一。于是,人工智能与高性能计算形成共生关系,彼此相互推进。人工智能把海量数据问题提上桌面(对于以仿真为主导的传统高性能计算而言并不是太大问题),而高性能计算则提供了可对海量数据进行操作的高计算性能。

显然,这其中蕴藏着巨大的创新机会,但是除了大规模的数据和计算需求之外,还面临着其它新的挑战。第三个需要考虑的重要因素是,人工智能为高性能计算带来了一类新的专业人士,这些领域专家熟知数据科学,但是并不擅长编程。他们寻求前所未有的计算水平,但是对于自己动手编程往往兴趣寥寥,甚至完全没有。要为这些新用户提供所需的计算能力,同时又不影响他们的工作效率,恐怕是一大难题。

构建融合基础设施的考量因素

我们正在努力解决这一难题,首先要做的就是保障以端到端的方式提升工作效率。在所有项目中,大部分时间都耗费于计算前的数据准备上,例如,仅仅关注于提升一个深度学习数据集的卷积核,而忽略了大局。

解决方案的一大关键在于数据级并行,即同时处理数百万(甚至数十亿)个数据点的能力。然而在今天,实现这一目标的过程颇为曲折。通常情况下,您首先要开发一个“模型”,并且沿用 Python* 或 R* 等语言来完成不同算法的原型设计。然后,当您开始准备部署的时候,又需要丢弃代码,用 CMPI* 这样的工具来重新开发一遍,才能在高性能的基础设施上实现并行。在英特尔实验室,我们努力让 Python、R 和新兴编程语言(如 Julia*)实现并行,从而让整个流程,从原型设计到性能部署,都可以在统一的高效率软件基础设施上运行。

与此同时,并行功能也在不断发展。我们从传统的一维向量发展至二维矩阵处理器,提高了处理器一次能处理的数据量。下一步要做的是提升此二维模型的效率,引入使用现场可编程门阵列(FPGA)来提供细粒度配置。无论是在英特尔还是整个行业,此时此刻,这一领域都在经历着诸多变化。

除处理器本身之外,我们还可以对架构层进行改善。原生数据结构,比如数组,如今并未得到分布式基础设施支持,也无法让您利用多核系统提供的并行功能。我们还在努力寻求在高性能计算基础设施上支持这些大型数组的方法,从而帮助您满足苛刻的人工智能工作负载需求。为此,我们将数组分布在基础设施的各个节点上,在所有层面上充分利用并行功能(不仅仅是多个节点,还包括每个节点内的多个内核)以及对缓存和线程的支持。这样,程序员只需要编写自己所擅长的简单代码,而软件工具链的其它部分可以实现并提供所需的并行功能。

随着数据集不断增长,人工智能日趋复杂,内存便成为了另一大日益重要的领域。到目前为止,由于使用中的数据量相对较小,仍在现有的内存容量范围内,因此尚未给高性能计算用户造成很大问题。然而,让我们想象一下,假设您正在运行一个图像识别的深度学习算法,您不是在识别 1K 大小的对象(例如:识别图片中的一只猫),而是要在像素级上分析每张图片。一夜之间,您所处理的参数量和数据量,都会呈指数级增长。因此,设定清晰的策略来提升内存能力,使之与计算、网络和软件相匹配,至关重要。

后续举措:实现以数据为中心的生产力

在当前以数据为中心的环境中,企业想要融入市场,保持竞争力,就必须推动人工智能与高性能计算高效融合。虽然可能需要时间,而且无疑会遇到阻碍,但必定大有可为。幸运的是,这两大领域互为补充,当二者结合时,便有可能发挥更大价值。

您可以从今天开始行动,使用您已有的基于英特尔® 至强® 可扩展处理器的基础设施,甚至是您的云环境,将其作为起点。如需深入了解,请阅读解决方案简介:为人工智能融合而优化高性能计算架构,或者观看视频,了解我在英特尔实验室所做的关于人工智能和高性能计算融合的研究工作。

Pradeep Dubey 博士| 英特尔公司

高性能计算

了解英特尔的高性能计算 (HPC) 处理器、架构、框架和解决方案的产品组合。

了解更多

人工智能

实现解决方案加速和运营自动化,收集更好的洞察,以及做出更明智的决策。

了解更多

高级数据分析

了解跨行业利用的高级数据分析如何推动业务转型。

了解更多