为什么AI PC需要一颗强大的NPU

今天的技术时代有几分像是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 能够针对工作、学习、生活等场景,提供个性化创作服务、私人秘书服务、设备管家服务在内的个性化服务。

2、提供即时、可靠的服务响应。2023年IDC针对用户AIGC平台使用体验的调研中,“响应速度慢”“反馈时间长”是用户主要的负面反馈。AI PC 以本地推理为主,边缘和云端推理为辅,能够在混合算力、混合模型之间智能、合理地调配任务,有效缩减响应时间。

3、更低的大模型使用成本。正因为本地推理辅以云端推理,一定程度降低了个人用户使用AI大模型服务的成本。

4、可信、安全的个人数据和隐私保障等。

乍一看,或许看不出端倪,如果一言以蔽之,AI PC可以更好地支撑大语言模型和生成式AI应用,带来更懂你、智能化、个性化的体验,或许也就让PC回归了它的名字,成为真正服务于每个人的“个人电脑”。

新概念最终是为新应用的落地而生的。而提及生成式AI应用,高通技术公司产品管理高级副总裁Ziad Asghar近期在媒体沟通会中,援引高通最新发布的《通过NPU和异构计算开启终端侧生成式AI》白皮书中总结,生成式AI应用可分为三类:

1、按需型:由用户触发,需要立即响应。这包括照片/视频拍摄、图像生成/编辑、代码生成、录音转录/摘要和文本(电子邮件、文档等)创作/摘要。比如用户在PC上生成会议摘要,或在开车时用语音查询最近的加油站。

2、持续型:运行时间较长。这包括语音识别、游戏和视频的超级分辨率、视频通话的音频/视频处理以及实时翻译。比如用手机进行实时对话翻译,或在 PC上玩游戏时逐帧运行超级分辨率。

3、泛在型:在后台持续运行。这包括始终开启的预测性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可以。

2、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能够做出正确的选择。

比如,高通骁龙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引擎包含多个硬件和软件组件,以加速骁龙和高通平台上的终端侧Al。在集成硬件方面,高通AI引擎拥有领先的异构计算架构,包括Hexagon NPU、Adreno GPU、高通Kryo或高通 Oryon CPU、高通传感器中枢、内存子系统,所有硬件都经过精心设计以实现协同工作,在终端侧快速高效地运行Al应用。

那么它是如何工作的呢?

举个例子,你要让PC上的“虚拟助手”为你制定一个旅游规划。

为什么AI PC需要颗强大的NPU?

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

你看见AI助手做的:给到航班行程建议,并与用户进行语音对话调整行程,最后通过某个插件创建完整航班日程。

实际上AI做的:

· 首先,你对虚拟助手所说的话,会通过自动语音识别(ASR)模型Whisper转化为文本,Whisper是OpenAI发布的一个约2.4亿参数的模型。该模型主要在高通传感器中枢上运行。

· 然后,AI助手利用Llama 2或百川大模型,基于文本内容生成文本回复。该模型在Hexagon NPU上运行。

· 再然后,需要通过在CPU上运行的开源TTS(Text to Speech)模型,将文本转化为语音。

· 与此同时,虚拟助手渲染必须与语音输出同步,才能实现足够真实的用户交互界面。使用融合变形动画(Blendshape)技术让语音与虚拟化身的嘴型匹配,实现音话同步。这一传统 AI工作负载在 NPU 上运行。

· 再同时,通过虚幻引擎MetaHuman 进行虚拟助手渲染,这部分渲染工作在Adreno GPU上完成。

· 最后,通过骁龙调制解调器技术进行网络连接,使用 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浪潮,终端侧正在经历一场全新的进化,无论是手机、PC、汽车或更多终端,或许未来不用专门谈AI,却处处都是AI。

而这个所谓的未来其实已来。根据IDC预计,2024年中国AI PC新机出货占比将超过50%,有望迎来发展元年。波士顿咨询更是预测,到2028年AI PC将占PC市场的80%。

“过去互联网刚出现时,只有少数人能够利用PC上网,而智能手机的出现让数十亿人都能联网,终端侧生成式AI的发展也将如此,它将让所有人充分利用生成式AI,改变工作、生活体验,变革各行各业。”Ziad Asghar在采访中如是说。