Origin
type
Post
status
Published
date
slug
summary
从端侧生成式 AI 的功耗与响应需求出发,理解 CPU、GPU、NPU 的分工,以及异构计算与软件栈如何共同支撑 AI PC 应用。
tags
NPU
category
AI 计算
icon
password
Created
May 15, 2024 05:37 AM
URL
作者
来源
文章链接
https://www.techwalker.com/2024/0313/3156397.shtml
发布时间
标签
📖
阅读提示:本文为历史文章的整理版。产品规格、企业布局、市场数据及预测保留原文语境,不代表最新进展;涉及选型和决策,请核对最新官方资料。
作者:周雅
今天的技术时代有几分像是 20 多年前的.com 世界。在互联网出现时,有声音高喊“每一台计算机都将连接到互联网”,而现在,同样的声音出现在个人电脑(PC)身上,只不过关键词是 AI。
从去年起,几乎所有 PC 巨头,包括联想、戴尔、惠普、微软等突然齐刷刷地推出或即将推出 AI PC 产品;业内的讨论声音也多,比如英伟达 CEO 黄仁勋就曾表示“PC 产业正在迎来再生,下个 10 年 AI PC 将取代传统 PC”,戴尔商用电脑与软件副总裁 Meghana Patwardhan 更是直言——“未来每一台 PC 将进化成 AI PC”。
不过话说回来,究竟啥是 AI PC?

漫谈 AI PC

AI PC 顾名思义,是集成了 AI 的个人电脑。留意到此前IDC《AI PC 产业(中国)白皮书》指出,AI PC 是一个“混合体”,在硬件上集成了混合 AI 算力单元,且能够本地运行“个人大模型”、创建个性化的本地知识库,实现自然语言交互。
区别于现有的通用 PC,AI PC 将为用户带来四大价值:
  1. 通用场景下的个性化服务。 AI PC 能够针对工作、学习、生活等场景,提供个性化创作服务、私人秘书服务、设备管家服务在内的个性化服务。
  1. 提供即时、可靠的服务响应。 2023 年 IDC 针对用户 AIGC 平台使用体验的调研中,“响应速度慢”“反馈时间长”是用户主要的负面反馈。AI PC 以本地推理为主,边缘和云端推理为辅,能够在混合算力、混合模型之间智能、合理的调配任务,有效缩减响应时间。
  1. 更低的大模型使用成本。 正因为本地推理辅以云端推理,一定程度降低了个人用户使用 AI 大模型服务的成本。
  1. 可信、安全的个人数据和隐私保障等。
乍一看,或许看不出端倪,如果一言以蔽之,AI PC 可以更好地支撑大语言模型和生成式 AI 应用,带来更懂你、智能化、个性化的体验,或许也就让 PC 回归了它的名字,成为真正服务于每个人的“个人电脑”。
新概念最终是为新应用的落地而生的。而提及生成式 AI 应用,高通技术公司产品管理高级副总裁 Ziad Asghar 近期在媒体沟通会中,援引高通最新发布的《通过 NPU 和异构计算开启终端侧生成式 AI》白皮书中总结,生成式 AI 应用可分为三类:
  1. 按需型:由用户触发,需要立即响应。 这包括照片/视频拍摄、图像生成/编辑、代码生成、录音转录/摘要和文本(电子邮件、文档等)创作/摘要。比如用户在 PC 上生成会议摘要,或在开车时用语音查询最近的加油站。
  1. 持续型:运行时间较长。 这包括语音识别、游戏和视频的超级分辨率、视频通话的音频/视频处理以及实时翻译。比如用手机进行实时对话翻译,或在 PC 上玩游戏时逐帧运行超级分辨率。
  1. 泛在型:在后台持续运行。 这包括始终开启的预测性 AI 助手、基于情境感知的 AI 个性化和高级文本自动填充。比如手机根据对话内容自动建议用户要开会、PC 根据用户的答题情况实时调整学习资料。
不过,就像大模型需要数据中心的并发算力。这些生成式 AI 应用,也面临算力设施层面的两大关键挑战。
第一,由于终端的功耗和散热受限,通用 CPU 和 GPU,难以满足这些生成式 AI 应用严苛且多样化的计算需求。
第二,这些生成式 AI 应用在不断演进而多样化,如果在单一的硬件上部署,不符合常理。
对此,「NPU 和异构计算」成为硬件厂商专门应对终端侧生成式 AI 挑战的关键。

CPU、GPU、NPU,傻傻分不清?

众所周知,传统的 PC 通常有两个处理单元:
  1. CPU(Central Processing Unit),中央处理单元:是一块超大规模的集成电路,主要逻辑架构包括控制单元(Control),运算单元(ALU),高速缓冲存储器(Cache),以及实现它们之间联系的数据(Data)、控制及状态的总线(Bus)。简单说,就是计算单元、控制单元和存储单元。
CPU 遵循的是冯•诺依曼架构,其核心是存储程序/数据、串行顺序执行。因此 CPU 的架构中需要大量的空间去放置存储单元和控制单元,相比之下计算单元 ALU 只占据了很小的一部分,所以 CPU 在进行大规模并行计算方面受到限制,相对而言更擅长于处理逻辑控制。
CPU 无法做到大量数据并行计算的能力,但 GPU 可以。
  1. GPU(Graphics Processing Unit),图形处理单元:是一种由大量运算单元组成的大规模并行计算架构,早先由 CPU 中分出来专门用于处理图像并行计算数据,专为同时处理多重并行计算任务而设计。
与 CPU 相比,CPU 芯片空间的不到 20%是 ALU,而 GPU 芯片空间的 80%以上是 ALU。即 GPU 拥有更多的 ALU 用于数据并行处理。
因此,GPU 的优势也很多,包括:多线程,提供了多核并行计算的基础结构,且核心数非常多,可以支撑大量数据的并行计算,处理神经网络数据远远高效于 CPU;拥有更高的访存速度;以及更高的浮点运算能力。因此,GPU 比 CPU 更适合深度学习中的大量训练数据、大量矩阵、卷积运算。
这里需要提及的是,GPU 虽然在并行计算能力上尽显优势,但并不能单独工作,需要 CPU 的协同处理,对于神经网络模型的构建和数据流的传递还是在 CPU 上进行。
但是,GPU 也有天生缺陷,那就是功耗高,体积大,价格贵。性能越高的 GPU 体积越大,功耗越高,价格也昂贵,对于一些小型设备、移动设备来说将无法使用。
正所谓古语有云:工欲善其事必先利其器。一块石头,是通用的工具,即便可以用来做很多事,但如果把它精心打磨,让它变成锋利的工具,是不是就可以用来切割东西了呢?
因此,一种体积小、功耗低、计算性能高、计算效率高的 ASIC 专用芯片 NPU,就是那块打磨过的石头。
NPU(Neural Processing Unit),名为“神经处理单元”。它针对于矩阵运算进行了专门的优化设计,解决了传统芯片在神经网络运算时效率低下的问题。
按照字面意思去理解,神经网络就是你大脑里的神经元组成的网络,错综复杂的神经网络满满都是人类智慧。而 NPU 就是在模仿人类大脑的神经网络,使之具备智能。
怎么模仿呢?NPU 工作原理是在电路层模拟人类神经元和突触,并且用深度学习指令集直接处理大规模的神经元和突触,一条指令完成一组神经元的处理。相比于 CPU 和 GPU,NPU 通过突出权重实现存储和计算一体化,从而提高运行效率。
总结而言,NPU 专为实现“以低功耗加速 AI 推理”而生,因为它是模仿生物神经网络而构建的,CPU、GPU 处理器需要用数千条指令完成的神经元处理,NPU 只要一条或几条就能完成,因此在深度学习的处理效率方面优势明显。
尤其是面对当下极其多变的生成式 AI 需求,以及面对端侧 AI 的趋势,NPU 更是非常在行。
Ziad Asghar 指出,在上述所提及的“持续型”应用中,需要以低功耗实现持续稳定的高峰值性能,NPU 可以发挥最大优势。在基于大语言模型(LLM)和大视觉模型(LVM)的不同用例,例如 Stable Diffusion 或其他扩散模型中,NPU 的每瓦特性能表现十分出色。

NPU 的前世今生:此 N 非彼 N

不过,NPU 这个名字不是现在才有。只是,伴随着 AI 应用趋势的演变,NPU 的内涵也发生了一系列变化。我们现在说的,是被重新定义的 NPU。
约十年前,那些早期的 NPU 主要面向音频和语音 AI 设计,用于简单的 CNN,且主要需要标量和向量数学运算。
从 2016 年至 2022 年期间,随着 AI 在拍照和视频应用中大受欢迎,出现了基于 Transformer、RNN、长短期记忆网络(LSTM)、以及更高维度的 CNN 等更复杂的全新模型。这些工作负载需要大量张量数学运算,因此 NPU 增加了张量加速器和卷积加速,不仅能够显著提高性能,且可以降低内存带宽占用和能耗。
也因此,智能手机 SoC 自多年前,就开始利用 NPU 改善日常用户体验,包括影像、音频、连接性能、安全等等。
到了 2023 年的大模型时期,除计算需求之外,必须在性能、功耗、效率、可编程性和面积之间进行权衡取舍,而一个专用的定制化设计 NPU 能够做出正确的选择。
NPU 的演进(原文配图)
NPU 的演进(原文配图)
比如,高通骁龙 X Elite 上集成的 Hexagon NPU 算力达到 45TOPS,在 PC 上运行 70 亿参数的 Llama 2 模型时,处理速度则达到了 30 Tokens/s;此外,骁龙 8 Gen 3 得益于 Hexagon NPU,可以支持包括 Meta、Llama 2 在内的多种生成式 AI 大模型,能够在终端侧运行超过 100 亿参数的大模型,用户无需再完全依赖云端。
但随着 AI 时代持续演进,模型越来越复杂,参数规模也在不断攀升,从 10 亿、到百亿、甚至到千亿参数,多模态趋势日益增强,生成式 AI 应用也需要同时调用更多模型,种种迹象表明,虽然我们夸了那么多次 NPU,但处理器仅靠 NPU 扛大旗,当然并不现实。
所以,大家把焦点统统放在了同一个方向——异构计算。

异构计算扛大旗

“算力是 AI PC 各项功能得以实现的前提,终端异构混合(CPU+NPU+GPU)算力是 AI 规模化落地的必然要求。”《AI PC 产业(中国)白皮书》指出,异构混合计算,利用不同类型的指令集和体系架构的计算单元组成本地计算系统,可以通过 CPU、NPU、GPU 等计算设备的组合应用,充分发挥各硬件性能,对于不同的 AI 工作负载,提供灵活的解决方案。
如前文提到的三种生成式 AI 类型——按需型、持续型、泛在型。按需型应用的关键性能指标是时延,因为用户不想等待,这些应用使用小模型时,CPU 通常是正确的选择;当模型变大(比如数十亿参数)时,GPU 和 NPU 往往更合适;而电池续航和能效对于持续和泛在型应用至关重要,因此 NPU 是最佳选择。
“选择合适的处理器处理相关任务至关重要,但同时也要关注 SoC 整体的工作负载情况。”Ziad Asghar 举例说道,如果用户正在玩一款重负载游戏,此时 GPU 会被完全占用;如果用户正在浏览多个网页,CPU 可能会占用过高,此时 NPU 作为真正的 AI 专用引擎就会体现出非常大的优势,能够确保我们在 AI 用例中获得出色体验。
根据工作负载选择处理器(原文配图)
根据工作负载选择处理器(原文配图)
那么异构计算如何扛起终端侧 AI 和生成式 AI 的大旗呢?我们不妨以芯片厂商高通的做法以作解释。
集千万能力于一颗处理器身上,让不同的计算单元各司其职,一直是芯片厂商高通坚持且擅长做的事。
具体而言,高通 AI 引擎包含多个硬件和软件组件,以加速骁龙和高通平台上的终端侧 AI。在集成硬件方面,高通 AI 引擎拥有领先的异构计算架构,包括 Hexagon NPU、Adreno GPU、高通 Kryo 或高通 Oryon CPU、高通传感器中枢、内存子系统,所有硬件都经过精心设计以实现协同工作,在终端侧快速高效地运行 AI 应用。
那么它是如何工作的呢?
举个例子,你要让 PC 上的“虚拟助手”为你制定一个旅游规划。

用户提出需求

对虚拟助手说,帮我制定一个去毛里求斯为期一周的旅游规划。

用户看到的结果

给到航班行程建议,并与用户进行语音对话调整行程,最后通过某个插件创建完整航班日程。

各处理单元的协作流程

  1. 首先,你对虚拟助手所说的话,会通过自动语音识别(ASR)模型 Whisper 转化为文本,Whisper 是 OpenAI 发布的一个约 2.4 亿参数的模型。该模型主要在高通传感器中枢上运行。
  1. 然后,AI 助手利用 Llama 2 或百川大模型,基于文本内容生成文本回复。该模型在 Hexagon NPU 上运行。
  1. 再然后,需要通过在 CPU 上运行的开源 TTS(Text to Speech)模型,将文本转化为语音。
  1. 与此同时,虚拟助手渲染必须与语音输出同步,才能实现足够真实的用户交互界面。使用融合变形动画(Blendshape)技术让语音与虚拟化身的嘴型匹配,实现音话同步。这一传统 AI 工作负载在 NPU 上运行。
  1. 再同时,通过虚幻引擎 MetaHuman 进行虚拟助手渲染,这部分渲染工作在 Adreno GPU 上完成。
  1. 最后,通过骁龙调制解调器技术进行网络连接,使用 Skyscanner 插件完成订票操作。
诚然,一颗处理器的内部,其实是多个处理单元相互配合,才能真正完全释放 AI 引擎性能。但是高通认为,这还不够。
因为任何一个 AI 终端,无论是 AI PC、还是 AI 手机、或是物联网,只有软硬件结合,才能创造最佳体验。当硬件性能准备好了,如何让软件也跟上步伐呢?

软件栈:让硬件能力落地

于是,高通 AI Hub 诞生了。这是高通在 MWC2024 期间推出的一个全面的模型优化库,为开发者提供超过 75 个主流模型,如 Stable Diffusion、ControlNet、Baichuan-7B 等。这些模型全部经过优化,可以充分利用高通 AI 引擎内所有核心的硬件加速能力,实现 4 倍推理速度提升。
对于开发者而言,既能快速将大模型无缝集成到应用程序中,缩短产品上市时间。同时,这些优化后的模型也同步上线到 GitHub、Hugging Face,开发者可在搭载高通和骁龙平台的云托管终端上,自行运行模型。
更重要的是,高通在所有的硬件 AI 能力之上,还打造了高通 AI 软件栈(Qualcomm AI Stack),支持目前所有的主流 AI 框架(如 TensorFlow、PyTorch、ONNX 和 Keras),且还支持所有主流的 AI runtime(如 DirectML、TFLite、ONNX Runtime、ExecuTorch),以及支持不同的编译器、数学库等 AI 工具。 开发者可通过高通 AI 引擎 Direct 软件开发包(SDK)直接进行耦合,加快开发进程。此外,高通 AI 软件栈集成用于推理的高通神经网络处理 SDK,包括面向 Android、Linux 和 Windows 的不同版本。
高通 AI 软件栈(原文配图)
高通 AI 软件栈(原文配图)
综上而言,面向 AI 大模型和生成式 AI 浪潮,终端侧正在经历一场全新的进化,无论是手机、PC、汽车或更多终端,或许未来不用专门谈 AI,却处处都是 AI。
而这个所谓的未来其实已来。根据 IDC 预计,2024 年中国 AI PC 新机出货占比将超过 50%,有望迎来发展元年。波士顿咨询更是预测,到 2028 年 AI PC 将占 PC 市场的 80%。
“过去互联网刚出现时,只有少数人能够利用 PC 上网,而智能手机的出现让数十亿人都能连网,终端侧生成式 AI 的发展也将如此,它将让所有人充分利用生成式 AI,改变工作、生活体验,变革各行各业。”Ziad Asghar 在采访中如是说。