NPU AI引擎:专业的人高效做专业的事
这是一个AI无处不在的时代,Intel一贯以来的XPU战略,更是水到渠成地在从软到硬全线推进AI。
与此同时,AI的使用场景也在迅速从云侧向边缘和端侧延伸,AI PC的应用场景和需求突飞猛进,包括智能语音降噪、视频背景模糊、超分辨率、游戏精彩时刻智能截取、大语言模型对话,以及文生图、图生图、文生视频等等AIGC场景。
酷睿Ulra首次引入了神经网络单元NPU,所有型号都有,可以从CPU、GPU接手持续的、低负载的AI工作,通过专门功能硬件高效运行,而且功耗极低。
酷睿Ultra NPU单元既可以执行固定功能任务,也可以做可编程计算,就看实际需求了,同时也支持混合精度数据,并提供标准化的编程接口。
同时,快速响应、低延迟的CPU,高性能、高吞吐量的GPU,也都不会闲着,同样担负部分AI算力需求,比如CPU适合轻量级的单次推理,GPU适合多媒体、3D渲染,三者合作共同推进AI PC。
尤其是Xe LPG架构的新一代核显,与锐炫显卡一样支持DP4a指令,同样可用于AI加速。
它面向整数类型处理,可以与浮点流水线并行,在每个时钟周期内可以执行多达64次INT8整数运算,并支持32位累加,也就是融合成INT32整数类型,再加上更高的频率,执行效率得以大大提升。
比如轻量级的神经网络模型MobileNet v2,在非常低的复杂度下,CPU的效率是极高的。
但是,随着复杂度的增加,CPU很快就跟不上了,这个时候就要看NPU的发挥,在高复杂度下的效率远超CPU,而且非常稳定。
Stable Diffusion这样的典型文生图AI应用,NPU执行起来更是得心应手,效率可以全面远远超越CPU、GPU。
Intel官方实测,完全使用NPU进行推理,所需时间不到CPU的一半,会略长于GPU,但所需功耗比它俩都低得多,相对效率可以达到CPU的几乎8倍、GPU的2倍多。
NPU还可以和CPU、GPU配合,各自承担不同的任务,综合起来大大节省所需时间和功耗,效率可以做到CPU的多达5倍、GPU的接近2倍。
在硬件架构上,NPU最关键的就是两路神经计算引擎和推理流水线,包括MAC阵列、可编程DSP、激活函数、数据转换、存储与载入等单元,同时搭配DMA引擎、暂用内存单元,构成一个完整的神经神经网络引擎,可以支持多种神经网络模型。
其中,MAC阵列可以高效灵活地执行矩阵乘法和卷积运算,每周期多达2048,支持INT8、FP16数据类型。
通俗地讲,NPU就是通过专用硬件单元,让专业的“人”做专业的“事”,效率自然高得多,当然专用性也意味着一方面缺乏通用性,另一方面需要专门适配。
换言之,AI硬件是容易做的,真正难的是软件和场景适配、优化,如何充分释放硬件潜力。
在这方面,Intel的影响力和号召力就体现得淋漓尽致了,一方面与微软深度合作,全面导入Office、Windows Studio Effects、Teams、DirectML,另一方面整个行业都在积极跟进。
不但有Adobe、Zoom、Webex、Blender、CyberLink、杜比、虚幻引擎这样的国际大牌,也有字节跳动、腾讯、虎牙直播、爱奇艺这样的国内巨头。
这也得益于Intel全面、成熟、易用的配套软件开发平台,从驱动程序到库、编译器再到OpenVINO这样的顶层API,都全面针对CPU、GPU、NPU AI应用提供支持,大大简化和加速开发,开发者也可以根据自己的应用和场景需求,灵活选择最合适、最高效的执行途径。
比如Microsoft Teams/Studio Effects就借助从NPU硬件到OpenVINO引擎的体系来优化音频、视频的AI加速,Adobe CC通过DirectML API发挥GPU的能力,视频分析工作则可以同时借助NPU、GPU的力量。