AI 模型大规模推理时代,如何打破 CPU 算力天花板?作者丨木青
编辑丨李梅
从数据分析、经典机器学习到搜索、推荐,再到语言处理和图像识别,每个 AI 任务运行的背后都需要海量的数学计算。可以说,AI 真的就是数学,但却是很多很多的数学。
尤其是在 AI 进入大模型时代的当下,模型的大规模训练和推理更是对计算资源有着巨大的需求。但同时,算力的掣肘正在阻碍着 AI 走向大规模落地。
当前 AI 面临的“数学题”都是何种难度?“算珠”又该如何拨弄得更快才能追得上不断增长的计算需求呢?
让我们从 CPU 的 AI 算力谈起。
人工智能迎来第三次浪潮后,以深度学习为代表的AI已经进入应用阶段。而深度学习 AI 需要进行大量矩阵乘法以训练神经网络模型,并利用推理将这些模型应用于实际任务。也就是说,深度学习分为训练和推理两个阶段,而推理则是推动AI大规模走向落地的关键。训练深度学习模型可能需要数小时或数天的算力。而深度学习推理可能需要几分之一秒到几分钟,具体取决于模型的复杂程度和对结果的准确度的要求。在推理过程中,计算机将输入数据与模型进行比较,然后推断数据的含义。让人工智能落地更多是推理层面的工作,无论是推荐引擎、图像识别、媒体分析、语言翻译
、自然语言处理、强化学习等负载中推理性能的大幅提升对落地应用的贡献都十分重要。而做大规模推理,CPU平台具有较大优势——用户学习门槛低、部署速度快等,在类似推荐系统的应用中,CPU也担当着算力支撑,那么如何提升CPU的AI算力?CPU的算力取决于 CPU 特定加速指令集或运算单元的持续引入及改进,那么通过强化算力单元和增加算力单元数量并举,即Scale-Up与Scale-Out相结合,提升CPU的AI算力。回望英特尔历代至强® 可扩展处理器的深度学习加速技术(即DL Boost),已经将这一提升路径充分实践并拉高优化天花板:从第一代至强可扩展处理器引入的AVX-512——中低端型号每核心配备1个FMA单元、高端型号每核心配备2个FMA单元,到代号Ice Lake-SP的双路第三代至强可扩展处理器将此类配置扩展到全系列产品,并将最高核心数从28增加至40个,CPU的向量处理能力得以大幅提升。指令优化方面,第二代英特尔至强® 可扩展处理器引入了简称VNNI(Vector Neural
Network Instruction,矢量神经网络指令)的扩展,提高了数据格式INT8推理的效率;代号Cooper Lake的第三代英特尔至强可扩展处理器又引入了数据格式bfloat16(BF16)加速功能,可以用于推理和训练。目前,前三代英特尔至强® 可扩展处理器的加速路径,主要依靠现有的计算单元,即AVX-512,配合指令集、算法和数据上的优化,输出AI算力。还有别的思路——内置硬件加速器,且与本就高性能的CPU内核无缝配合,叠加buff推高天花板。在今年11月,英特尔宣布将在2023年1月11日发布代号为Sapphire Rapids的全新第四代英特尔至强® 可扩展处理器。Sapphire
Rapids将为广泛的标量和并行工作负载提供跨越式的性能提升,更重要的是,它的基本架构旨在实现弹性计算模型(如容器化微服务)的突破性性能,以及在所有形式的以数据为中心的计算中快速扩展 AI 的使用。第四代英特尔至强可扩展处理器的核心数量有显著增长,并支持DDR5、PCIe 5.0和CXL 1.1等下一代内存和接口标准,在内置硬件加速上,Sapphire Rapids也集成了5项加速器:- 用于AI的高级矩阵扩展(Advanced Matrix
Extensions),简称AMX;
- 用于数据分析的存内分析加速器(In-Memory Analytics Accelerator),简称IAA;
- 用于5G/网络的数据流加速器(Data Streaming Accelerator),简称DSA;
- 用于存储的动态负载均衡器(Dynamic Load Balancer),简称DLB;
- 用于数据压缩和加解密的QuickAssist技术,英特尔®数据保护与压缩加速技术,简称QAT。
首先,内置加速器可以消除在将数据从 CPU 移至协处理器加速器时产生的大部分开销。同时,Sapphire Rapids还引入了加速器接口架构 (AIA) ,解决了无缝集成加速引擎和高性能核心时面临的关键挑战——能够处理 CPU 内核与内置加速器之间的数据高效调度、同步和信令传递,而不是高开销内核模式。内置的硬件加速器也易获得更出色的性能,而不必将时间浪费在进行片外传输设置上。AMX与上述其他4个加速器的一大区别,就是它本身就集成在了CPU核心内,与AVX-512一样,随核心数同步增长,线性提升处理能力。AMX是全新的计算单元,有自己的存储和操作电路,并行度高,以便为AI工作负载加速Tensor运算,支持bfloat16和INT8两种数据类型。Tensor处理是深度学习算法的核心,AMX功能可以实现每个循环2000次int8运算和1000次bfloat16运算。同时,AMX的寄存器(名为Tile)是二维的,寄存器组是三维的,均比AVX-512高一个维度,寄存器组存储的数据相当于一个小型矩阵,这样AMX 能够在每个时钟周期执行更多矩阵乘法以每时钟周期来看。理论上,AMX的TMUL(矩阵乘法运算)对AVX-512的2个FMA(融合乘加操作)单元,INT8性能高达8倍;处理浮点数据,AMX使用动态范围与FP32相当的BF16,性能可达AVX-512的16倍。如此,有全新可扩展二维寄存器文件和全新矩阵乘法指令,可增强各种深度学习工作负载中推理及训练性能,也就代表着计算能力的大幅提升,这些计算能力可以通过行业标准框架和运行时无缝访问。据今年1月数据表明,基于TensorFlow框架,INT8 精度下每秒检测的图像的数量增幅以及高达 6 倍多 BF16 精度下进行对象检测时每秒检测的图像的数量增幅明显增加:56核的第四代英特尔® 至强可扩展处理器全新的AMX,对比40核的第三代英特尔® 至强可扩展处理器,在SSD-ResNet34上进行实时推理时,每秒处理的图像数量增加高达4.5倍。(注:实际性能受使用情况、配置和其他因素的差异影响,且性能测试结果基于配置信息中显示的日期进行的测试[1])当然AVX-512本身就以FP32、FP64等高精度浮点数据的运算见长,依然可以专注于如数据分析、科学计算、经典机器学习等高精度计算。如今第三代人工智能浪潮是以深度学习为代表,并非只有深度学习,AI的范围正在不断扩大,计算需求也在多元化,当人工智能的工作负载出现混合精度计算需求,AMX和AVX-512就可搭配使用,发展各自长处。对于数据精度不高但要求高准确度的推理场景,如图像识别、推荐引擎、媒体分析、语言翻译、自然语言处理(NLP)、强化学习等典型AI应用场景,AMX其实属于降维打击,可发挥空间很大。根据预告,英特尔第四代至强可扩展处理器是处理AI等更现代化、更新兴并行工作负载的基础设施,在进行整体设计时也考虑到了未来技术发展趋势——绝大多数新的可扩展服务将采用容器化微服务等弹性计算模型进行开发。新版Windows、Linux Kernel和虚拟化软件也确实都具备支持AMX指令集的条件,所谓“引领”就是要更先一步到达未来。那,1月11号,让我们期待至强新品的发布和更多信息吧~可以先点击阅读原文,提前了解至强产品组合~参考链接:
[1]https://edc.intel.com/content/www/cn/zh/products/performance/benchmarks/vision-2022/
更多内容,点击下方关注: