我们的 NPU:在低功耗下实现持续的高性能 AI
经过多年的研发,Hexagon NPU 已发展以应对快速变化的 AI 需求。2007 年,首款 Hexagon DSP 在 Snapdragon® 平台上发布——DSP 控制和标量架构成为我们未来 NPU 代际发展的基础。
2015 年,Snapdragon 820 处理器发布,首次集成了 Qualcomm AI Engine,以支持图像、音频和传感器操作。2018 年,我们在 Snapdragon 855 中为 Hexagon NPU 添加了 Hexagon 张量加速器。次年,我们扩展了 Snapdragon 865 上设备内 AI 的应用场景,包括 AI 图像处理、AI 视频、AI 语音和始终在线的传感。
2020 年,我们实现了 Hexagon NPU 的重大里程碑,进行了革命性的架构更新。我们将标量、向量和张量加速器融合在一起,以实现更好的性能和能效。为加速器专门配置了大型共享内存,以高效共享和移动数据。融合的 AI 加速器架构为我们未来的 NPU 架构奠定了坚实的基础。
在 2022 年,Snapdragon 8 Gen 2 中的 Hexagon NPU 引入了一系列重要的增强功能。专用电源轨根据工作负载动态调整和分配供电。微瓦片推理利用 Hexagon NPU 的标量能力,将网络划分为可以独立执行的小微瓦片。这消除了多达 10 层或更多层之间的内存流量,最大化了 Hexagon NPU 内标量、向量和张量加速器的利用率,并最小化能耗。原生的 4 位整数(INT4)支持提高了功率和内存带宽效率,同时将 INT4 层和网络的张量吞吐量翻倍。变换器网络加速显著加快了多头注意力的推理速度,这在生成性 AI 中被广泛使用,使得某些应用场景下的 AI 性能提高了惊人的 4.35 倍,特别是在 MobileBERT 模型中。其他特殊硬件包括改进的群卷积、激活函数加速和张量加速器的性能。
我们最新的 Hexagon NPU 在 Snapdragon 8 Gen 3 中专为生成性 AI 设计,是迄今为止表现最佳的 NPU,提供了 98% 更快的性能和 40% 的持续 AI 推理性能提升。它在 NPU 上进行了微架构升级。微瓦片推理进一步升级,以实现更高效的生成性 AI 处理并减少内存带宽。此外,为了支持需要不同级别标量、向量和张量处理的 AI 模型,Hexagon 张量加速器新增了专用电源轨,以实现最佳性能和效率。大型共享内存的带宽也翻了一番。这些改进,以及我们的 INT4 硬件加速,使 Hexagon NPU 成为在设备上推理大型生成性 AI 模型的领先处理器。
与其他 NPU 不同的是,我们的系统方法、定制设计和快速创新。在我们的系统方法中,我们考虑了每个处理器的架构、SoC 系统架构和软件基础设施,以提供最佳的 AI 解决方案。做出正确的硬件添加或修改的权衡和决策需要识别当前和未来的瓶颈。通过对应用程序、神经网络模型、算法、软件和硬件的全栈 AI 研究和优化,我们发现瓶颈。由于我们定制设计 NPU 并控制指令集架构(ISA),我们的架构师可以快速演变和扩展设计以应对瓶颈。
这种迭代改进和反馈循环可以不断快速地增强我们的 NPU 以及基于最新神经网络架构的 AI 堆栈。通过我们自己的 AI 研究以及与更广泛的 AI 社区的合作,我们也与 AI 模型的发展方向保持同步。我们独特的能力可以支持全栈设备内 AI 开发的基础 AI 研究,能够快速进入市场并优化 NPU 实现,重点应用于设备内生成性 AI。
因此,我们的 NPU 经过多代的精细化和多次学习,消除了瓶颈。例如,Snapdragon 8 Gen 3 中 NPU 的许多架构升级有助于加速大型生成式 AI 模型。内存带宽是 LLM(大语言模型)令牌生成的瓶颈,这意味着性能受限于内存带宽而非处理速度。因此,我们随后集中精力提升内存带宽的效率。Snapdragon 8 Gen 3 还支持行业中最快的内存配置之一,LPDDR5x 运行在 4.8GHz 和 77GB/s,以满足生成式 AI 应用日益增长的内存需求。
从 DSP 架构构建我们的 NPU 是一个正确的选择,能够提高可编程性,并能紧密控制 AI 处理所固有的标量、向量和张量操作。我们优化的标量、向量和张量加速设计,加上大规模的本地共享内存、专用电源系统以及其他硬件加速,能够使我们的解决方案脱颖而出。我们的 NPU 模拟最流行模型的神经网络层和操作,例如卷积、全连接层、变换器以及流行的激活函数,以在低功耗下提供持续的高性能。
异构计算:利用所有处理器进行生成式 AI
适合设备端执行的生成式 AI 模型正变得越来越复杂,参数规模从十亿级增加到十亿、七十亿参数。它们越来越多模态,这意味着可以接收多种输入(如文本、语音或图像)并生成多个输出。
此外,许多使用案例同时运行多个模型。例如,个人助理应用使用语音输入和输出。这需要运行一个自动语音识别(ASR)模型进行语音转文本,一个 LLM 用于文本转文本,以及一个文本转语音(TTS)模型进行语音输出。生成式 AI 工作负载的复杂性、并发性和多样性需要利用 SoC 中所有处理器的能力。一个最佳解决方案包括:
- 在处理器的多个核心和处理器之间扩展生成式 AI 处理能力
- 将生成式 AI 模型和使用案例映射到一个或多个核心和处理器
选择合适的处理器取决于许多因素,包括使用案例、设备类型、设备级别、开发时间、关键性能指标(KPI)和开发者专业知识。许多权衡会驱动决策,目标 KPI 可能是功耗、性能、延迟或不同使用案例的可访问性。例如,制造跨多个设备类别和级别应用程序的原始设备制造商(OEM)需要根据 SoC 规格、最终产品能力、开发的便利性、成本以及应用在不同设备级别上的优雅降级选择最佳处理器。
如前所述,大多数生成式 AI 使用案例可以分为按需、持续或普遍。对于按需应用,延迟是 KPI,因为用户不想等待。当这些应用使用小模型时,CPU 通常是合适的选择。当模型变大(例如,数十亿参数)时,GPU 和 NPU 更适合。对于持续和普遍的使用案例,其中电池寿命至关重要且功率效率是关键因素,NPU 是最佳选择。
另一个关键区别是识别 AI 模型是内存受限 - 性能受到内存带宽的限制 - 还是计算受限 - 性能受到处理器速度的限制。今天的 LLM 在文本生成中是内存受限的,因此在 CPU、GPU 或 NPU 上关注内存效率是合适的。对于可能是计算或内存受限的 LVM,GPU 或 NPU 都可以使用,但 NPU 提供每瓦特最佳性能。
预计提供自然语音用户界面(UI)的个人助理将成为一种流行的生成式 AI 应用。语音识别、LLM 和语音模型必须同时运行,因此将模型分配到 NPU、GPU、CPU 和传感器处理器之间是理想的。对于 PC,代理预计将持续运行(始终在线),因此尽可能多的功能应在 NPU 上运行,以提高性能和功率效率。
Qualcomm AI 引擎:一流的异构计算用于生成式 AI
Qualcomm AI 引擎由多个硬件和软件组件组成,旨在加速 Snapdragon 和 Qualcomm 平台上的设备端 AI。在集成硬件方面,Qualcomm AI 引擎拥有一流的异构计算架构,包括 Hexagon NPU、Adreno GPU、Kryo 或 Qualcomm Oryon CPU、Qualcomm Sensing Hub 和内存子系统——所有这些都经过精心设计,以便协同工作,快速高效地在设备上运行 AI 应用。
Qualcomm AI 引擎的处理器
我们最新的 Hexagon NPU 在生成式 AI 方面提供了显著的改进,性能提高了 98%,每瓦特性能提高了 40%。它包括微架构升级、增强的微瓦片推理、降低的内存带宽和用于优化性能和效率的专用电源轨。这些改进,加上 INT4 硬件加速,使 Hexagon NPU 成为设备端 AI 推理的领先处理器。
Adreno GPU 除了作为提供高性能图形和丰富用户体验的强大引擎外,还可在高精度格式下进行并行处理 AI,支持 32 位浮点(FP32)、16 位浮点(FP16)和 8 位整数(INT8)。Snapdragon 8 Gen 3 中升级的 Adreno GPU 提供了 25% 的 GPU 能效提升,增强了 AI、游戏和流媒体性能。Llama 2-7B 可以在 Adreno GPU 上每秒生成超过 13 个令牌。
如前所述,CPU 在需要低延迟的低计算 AI 工作负载中表现良好。在 Snapdragon® X Elite 计算平台上,Qualcomm Oryon CPU——PC 新的 CPU 领导者——提供了高达 2 倍的 CPU 性能优势,与竞争对手的峰值性能相匹配,同时功耗仅为其三分之一。
在处理普遍生成式 AI 应用时,必须还要有一个始终在线的处理器来处理上下文。集成的 Qualcomm Sensing Hub 是一个极其高效的始终在线 AI 处理器,适用于较小的神经网络和需要 24/7 运行的普遍应用(如上下文感知和传感器处理),通常电流低于 1 毫安(mA)。Snapdragon 8 Gen 3 中更新的 Qualcomm Sensing Hub 比前代产品提高了 3.5 倍,内存增加了 30%,并配备了两个下一代微 NPU,提升了 AI 性能。Qualcomm Sensing Hub 拥有专用电源轨,使其能够在 SoC 其他部分关闭时运行,从而节省大量电源。
所有处理器都相辅相成,共同实现更高效的 AI 处理。
我们的 AI 异构计算系统方法
对异构计算解决方案采用系统方法至关重要,因为异构计算涵盖整个 SoC,分为三个层次——多样化的处理器、系统架构和软件。整体视角使我们的架构师能够评估这些层之间的关键约束、需求和依赖关系,从而为 SoC 和最终产品的使用做出最合适的选择,如设计共享内存子系统或决定每个处理器应支持哪些数据类型。
由于我们自定义设计整个系统,因此可以做出适当的设计权衡,并利用这些见解提供更具协同效应的解决方案。这种定制设计方法使我们的解决方案与众不同,并允许我们在每个处理器中插入新的 AI 指令或硬件加速器。我们力求保持处理器多样性,同时为异构计算功能发展架构,因为多样性带来了收益。如果所有处理器具有相似的架构,则 SoC 将成为一个同质系统。相反,大多数其他芯片供应商通常会授权几个第三方处理器,然后将它们拼凑在一起。这些处理器可能并不一定能够很好地结合在一起,也并非为相同的约束或市场细分设计。
Qualcomm AI 引擎在我们的 Snapdragon 平台和许多其他产品中是我们设备端 AI 优势的核心。经过多年的全栈 AI 优化,Qualcomm AI 引擎在极低功耗下提供一流的设备端 AI 性能,以支持当前和未来的使用案例。
我们已经发运了超过 20 亿个产品,搭载 Qualcomm AI 引擎——支持包括智能手机、XR、平板电脑、PC、安全摄像头、机器人、车辆等在内的无与伦比的设备类别。