将AI应用提升到企业规模,您需要更明智地使用CPU和GPU
? ? ? ?十多年前,研究人员通过证明图形处理单元可用于显著加速关键的人工智能(AI)操作,使科技界眼花缭乱。
这种认识继续推动着企业的想象力。IDC报告称,在基础设施方面,GPU加速计算和类似HPC的扩展是希望构建AI基础设施的技术领导者和架构师的首要考虑因素之一。
但对于所有成功将AI应用于现实世界问题的企业来说,大多数都在努力超越实验或试点阶段。IDC 2021 年的研究发现,只有不到三分之一的受访者将他们的AI项目投入生产,而这其中也只有三分之一达到了“成熟的生产阶段”。
受访者提到的实施障碍包括数据处理以及加强基础设施以支持企业规模的人工智能等。IDC表示,企业需要投资“专门建造和适当规模的基础设施”。
企业在AI应用方面的挑战
那么,这些企业在人工智能方面出了什么问题呢?一个因素可能是技术领导者和人工智能专家未能全面审视更广泛的人工智能管道(AI pipeline),同时与其他计算引擎(尤其是古老的 CPU)相比,过于关注 GPU。
因为归根结底,这不是支持CPU、GPU与ASIC的问题。相反,它是关于找到构建AI管道的最佳方法,该管道可以使您从想法、数据和模型构建到部署和推理。这意味着要了解不同处理器架构各自的优势,以便您可以在正确的时间应用正确的计算引擎。
正如英特尔数据中心AI战略和执行高级总监Shardul Brahmbhatt所解释的那样,CPU已被用于云中的微服务和传统计算实例。GPU被用于并行计算,如媒体流、游戏和AI工作负载。
因此,随着超大规模企业和其他云计算参与者将注意力转向AI。很明显,他们正在利用这些相同的优势来完成不同的任务。
例如,GPU的并行计算能力使其非常适合训练AI算法。同时,CPU在低批量、低延迟的实时推断,以及使用这些算法分析实时数据,并提供结果和预测方面具有优势。
Brahmbhatt解释说,“有些地方你想做更多的批量推理。这种批量推理也是通过GPU或ASIC完成的。”
? ? ? ?
借助AI管道
但AI管道超越了训练和推理的范围。在管道的左侧,必须对数据进行预处理,并开发算法。通用CPU在这里发挥着重要作用。
事实上,根据英特尔的说法,GPU在整个AI管道的总处理器活动中占相对较小的比例。通常,由CPU驱动的 "数据阶段 "工作负载占总体的三分之二。
Brahmbhatt提醒我们,CPU架构还有其他优点,包括可编程性。“由于CPU的使用如此广泛,已经有现成的开发人员和应用程序生态系统,以及为通用计算提供易用性和可编程性的工具。”?
其次,CPU可以更快地访问更大的内存空间。此外,与擅长并行计算能力的GPU相比,CPU更具有非结构化计算能力。出于这些原因,CPU可作为数据移动器,为GPU提供数据,从而帮助推荐系统模型以及图形神经网络等不断变化的工作负载。
如何看待CPU和GPU的作用?
那么,在规划 AI 开发管道时,我们应该如何分别看待CPU和GPU的作用,无论是在企业内部,还是在云端,或者横跨两者?
GPU彻底改变了AI的发展,因为它们提供了一种加速的方法,将操作从CPU上卸载下来。但这并不意味着这是一项特定工作的最明智的选择。
英特尔平台架构师 Sharath Raghava认为,AI应用具有矢量化计算。向量计算是可并行化的。矢量计算是可并行的。为了有效地运行AI工作负载,人们可以利用CPU和GPU的能力,考虑到矢量计算的大小、卸载延迟、可并行性和许多其他因素。但对于一个“较小”的任务,卸载的“成本”会过高,在GPU或加速器上运行可能并没有太多意义。
CPU也可以从与其他系统组件更紧密的整合中获益,使其更快地完成AI工作。从AI部署中获得最大价值,不仅仅涉及运行模型本身——所寻求的洞察力取决于高效的预处理、推理和后处理操作。预处理要求在数据被送入生成推理之前,准备好数据以符合训练过的模型的输入预期。然后在后处理阶段从推理结果中提取有用的信息。
例如,如果我们考虑数据中心入侵检测系统(IDS),那么对模型的输出采取行动以及时保护和防止网络攻击造成的任何损害非常重要。通常,预处理和后处理步骤在主机系统 CPU 上执行时效率更高,因为它们与架构生态系统的其余部分更紧密地集成。
那么,这是否意味着完全放弃GPU加速的好处?不一定。近年来,英特尔一直在其至强可扩展CPU中构建AI加速。该系列已经包括用于在深度学习模型上进行高性能推理的深度学习增强,而其高级矢量扩展512(AVX 512)和矢量神经网络扩展(VNNI)加快了INT8推理性能。但DL Boost也使用了脑浮点格式(BF16)来提高不需要高精度的训练工作量的性能。
英特尔即将推出的至强可扩展第四代CPU将增加高级矩阵乘法(AMX)。根据英特尔的计算,这将比早期处理器中实施的 AVX-512 VNNI x86 扩展进一步提升 8 倍,并允许第四代可扩展处理器“像 GPU 一样处理训练工作负载和 DL 算法”。但这些相同的加速器也可以应用于 AI 和非 AI 工作负载的常规 CPU 计算。
将AI提升到企业规模
因此,强大的芯片可以支撑整个AI管道,同时最大限度地减少在不同计算引擎之间不必要地卸载数据的需求。例如,英特尔的处理器(无论是GPU还是CPU)还支持基于开源工具和框架的通用软件模型,并通过其OneAPI程序进行英特尔优化。
“我们正在使用一个通用的软件堆栈,基本上确保开发人员不必担心CPU和GPU之间IP的潜在区别。”Brahmbatt说。
这种通用软件堆栈和专注于为正确的任务使用正确的计算引擎的结合在企业中更为重要。企业依靠AI来帮助他们解决一些最紧迫的问题,无论是在云中还是本地。但是混合工作负载需要功能齐全的软件,以及系统堆栈的维护和管理,以运行加速器内核中未包含的代码。
因此,当谈到 “我们如何将AI提升到企业规模”这个问题时,答案可能取决于更长远的图景,并确保你使用完整的硬件和软件工具包。
? ? ? ?