你的手机能跑AI了。
但有个问题:同一个3B模型,在iPhone 15 Pro上流畅运行,在三年前的安卓机上却卡成PPT。
都是手机,差在哪?
有人说靠NPU,有人说靠GPU,CPU是不是已经过时了?
如果买手机想跑本地AI,到底该看什么指标?
一、CPU:万能管家,但不算账
CPU(中央处理器)是手机的大脑。
它擅长逻辑判断、顺序执行、复杂控制。比如打开微信、滑动页面、后台调度——这些都需要CPU。
但它不擅长AI。为什么?
AI计算的核心是矩阵乘法:把两个大表格里的数字两两相乘再相加。
CPU的设计思路是"少而精":几个核心(手机通常是8核),每个核心很强,但一次只能干一件事。
让CPU做矩阵乘法,就像让一位数学教授手工算1000道乘法题——他确实能算对,但算完天都黑了。
CPU像一家公司的总经理,他能决策、能协调,但你让他去流水线上拧螺丝,他也能干,但拧得又慢又贵。
(想了解CPU为什么不适合AI的数学原理,请看文末"延伸阅读"。)
二、GPU:并行计算专家,但电费惊人
GPU(图形处理器)最初是为游戏画面设计的。
游戏画面需要同时处理成千上万个像素的颜色、亮度、阴影。每个像素的计算都很简单,但需要同时算很多个。
GPU的设计思路是"多而简":几百个简单核心,每个核心只能做基础运算,但胜在数量多。
CPU(8核):8位教授,每人算一道题 GPU(数百核):数百个中学生,每人算一道简单题 同样是1000道题: - CPU:8位教授轮流算,需要125轮 - GPU:数百个中学生同时算,1轮搞定
AI喜欢GPU,因为矩阵乘法的本质就是"大量独立的简单乘加运算",这正好是GPU的强项。
GPU的代价是峰值功耗高。数百个核心同时运转,瞬时耗电远超CPU。跑大模型时GPU持续满载,电池肉眼可见地往下掉。但反过来,如果是算得快的小任务,GPU"跑完就睡",总耗电反而可能比CPU更低。
GPU像一家拥有数百名员工的代工厂。订单来了,所有人同时开工,一天做完。但数百人的工资和电费,比8个高级技师贵多了。
三、NPU:为AI量身定制的专用引擎
NPU(神经处理单元)是专门为神经网络计算设计的芯片。
它怎么做到又省电又快的?
1. 硬件级优化矩阵乘法
NPU直接把矩阵乘法的逻辑固化在电路里。数据进去,硬件自动完成乘加和累加,不需要软件逐条翻译。
手机里的GPU呢?它主要靠几百个通用核心并行计算,没有专门的矩阵乘法电路。虽然也能并行做乘加,但本质上还是"用大量通用工人干一件专用的事"。(桌面电脑的独立GPU如NVIDIA Tensor Core有专用矩阵单元,但手机GPU通常没有。)
2. 支持低精度计算
AI模型量化到INT8或INT4后,NPU原生支持这些低精度格式,能效极高。传统CPU处理低精度时,软件层面往往需要转换成FP32运算,多了开销。
3. 数据搬运少
CPU/GPU计算时,数据需要在内存和计算单元之间来回搬运。NPU有更大的片上缓存(SRAM),模型权重可以一次性加载进去,不用反复从内存里读取,减少了数据搬运的时间。
NPU像一台专用计算器。你只能用它算特定的公式,但它算这个公式的速度是教授的100倍,耗电却只有百分之一。
(想了解NPU的硬件架构和具体优化原理,请看文末"延伸阅读"。)
四、实测对比:谁跑模型更快?
同样的3B模型(INT4量化),在不同芯片上的表现:
芯片类型 | 代表 | 推理速度(估算) | 功耗 | 适合场景 |
CPU | 苹果A18 Pro CPU(6核) | ~2-5 tokens/秒 | 低 | 简单AI任务 |
GPU | 苹果A18 Pro GPU(6核) | ~5-15 tokens/秒 | 高 | 中等负载 |
NPU | 苹果A18 Pro Neural Engine | ~15-30 tokens/秒 | 很低 | 大模型推理 |
注意:以上速度为基于3B INT4量化模型的估算范围,实际表现因模型优化、散热和内存带宽而异。
一个直观对比:
●纯CPU跑3B模型:说一个字卡一下,像对讲机
●GPU跑3B模型:流畅说话,但手机发烫、电池狂掉
●NPU跑3B模型:流畅说话,手机微温,续航坚挺
(想了解具体芯片型号的NPU算力对比和实测数据,请看文末"延伸阅读"。)
五、手机芯片的现实:为什么不只是NPU的事
现实1:没有纯粹的"NPU手机"
所有手机芯片都是异构计算——CPU、GPU、NPU全都有,只是分工不同。
主流方案里,NPU 负责核心的矩阵乘法(占运算量的大头),但一些 NPU 不支持的算子会 fallback 到 GPU 或 CPU。
跑AI像拍一部电影:
●CPU是导演和制片:协调全场、把控进度
●NPU是主演:干最核心的活
●GPU是替身演员:NPU演不了的戏份,GPU顶上
缺了谁,电影都拍不成。
现实2:NPU也有"代差"
同样是NPU,不同代际的差距可能比CPU和GPU的差距还大。
三年前的手机NPU算力可能只有15 TOPS,新的已经到45 TOPS——差了3倍。
这意味着:三年前的手机跑AI卡成PPT,现在的手机可以流畅运行。差距不在CPU,不在内存,就在NPU。
(想了解具体芯片型号的NPU算力对比,请看文末"延伸阅读"。)
现实3:软件优化和硬件一样重要
同样的NPU,有没有专门优化,体验天差地别。
Apple Intelligence:苹果自己写模型、自己设计芯片、自己开发框架。三层全栈控制,优化到极致。
安卓阵营:Google写框架,高通/联发科做芯片,手机厂商做系统,模型开发者做模型。链条长、协调难,同样的NPU硬件,实际体验可能有显著差距。
类比:硬件像赛车引擎,软件像车手和调校。同样的引擎,专业车队和业余车队的圈速能差出10秒。
(想了解苹果和安卓在AI优化上的具体差距,请看文末"延伸阅读"。)
💡 实用Tips
手机想跑本地AI,记住这三点:
1先看NPU算力:≥30 TOPS是门槛
2苹果用户:iPhone 15 Pro及以上(A17 Pro芯片)
3安卓用户:骁龙8 Gen3/天玑9300及以上
一句话:别只看总跑分,看NPU算力。跑AI不是"谁都能干",而是"谁更适合干"。
一句话总结
CPU是总经理,GPU是千人代工厂,NPU是专用计算器。
跑AI靠NPU,但NPU不能单打独斗。真正决定体验的,是CPU调度、NPU计算、软件优化三者的配合。
买手机想跑本地AI,先看NPU算力,再看系统优化,最后才看总跑分。
📚 延伸阅读:手机AI芯片技术详解
以下内容面向想深入了解手机AI芯片技术的读者。零基础读者可以跳过,不影响理解核心概念。
六、矩阵乘法:为什么CPU不适合AI
AI计算的核心是矩阵乘法。让我们用一个具体的例子,看看CPU和GPU的差别到底有多大。
一个真实的计算场景
先从一个最简单的例子开始。假设输入只有2个数字(x₁、x₂),输出也只有2个数字(y₁、y₂)。
y₁ 怎么算?它要跟 x₁、x₂ 都有关系:
y₁ = w₁₁×x₁ + w₁₂×x₂
这需要2个权重:w₁₁、w₁₂。y₂ 也需要2个权重:w₂₁、w₂₂。把全部权重排成表格:
输入2个、输出2个 → 权重表格就是 2×2,共4个权重。
同理,如果输入256个、输出256个呢?
每个输出 yᵢ 都要跟全部256个输入相乘再相加,每个输出需要256个权重。256个输出 × 每个256个权重 = 256 × 256 = 65,536个权重。
一次计算就是65,536次乘加运算:
y₁= w₁₁×x₁ + w₁₂×x₂ + ... + w₁,₂₅₆×x₂₅₆ y₂= w₂₁×x₁ + w₂₂×x₂ + ... + w₂,₂₅₆×x₂₅₆ ... y₂₅₆ = w₂₅₆,₁×x₁ + w₂₅₆,₂×x₂ + ... + w₂₅₆,₂₅₆×x₂₅₆
总共256行,每行256次乘加,合计65,536次运算。
CPU怎么算:串行流水线
手机CPU有8个核心,每个核心都很强,但一次只能做一件事。
它这样算:
第一轮: 核心1算y1,核心2算y2,...,核心8算y8
●每个核心内部串行计算256次乘加
●8个y值同时得出
第二轮: 核心1算y9,核心2算y10,...,核心8算y16
...
总共需要:256 ÷ 8 = 32轮
每轮里,每个核心要依次读取w、读取x、做乘法、累加结果——256次重复。大量的时间花在"等内存数据"和"一步一步算"上。
类比:8条手工流水线,每条线256个工位。产品必须一个工位一个工位地传,不能跳过。
GPU怎么算:并行爆发
为了讲解方便,我们假设GPU有128个简单核心(实际手机GPU的执行单元数量因架构而异,这里用128作为教学示例)。它的做法完全不同——不是8条线各走各的,而是128个工位同时开工。
GPU把这65,536次运算拆成很多小组,让128个核心同时处理:
第一步:海量乘法同时进行
128个核心同时启动,各自计算一个乘法:
●核心1:w11 × x1
●核心2:w12 × x2
●...
●核心128:w64,256 × x256
1个时钟周期,128个乘法同时完成。
接着再来一轮、再来一轮……大约512轮后,所有65,536个乘法都算完了。
第二步:并行累加
256行的乘积需要分别加起来。GPU用"树状归约"——两两配对、同时相加,像锦标赛一样层层淘汰。
以8个数为例(a+b+c+d+e+f+g+h):
第1轮:8个数 → (a+b) (c+d) (e+f) (g+h)4对同时加 → 得到4个和 第2轮:4个和 → (s1+s2) (s3+s4)2对同时加 → 得到2个和 第3轮:2个和 → (t1+t2)1对相加→ 得到最终结果
3轮搞定,而串行需要一个一个加,需要7轮。
回到256个数:
第1轮:256个乘积 → 128对同时相加 → 得到128个和 第2轮:128个和→ 64对同时相加→ 得到64个和 第3轮:64个和→ 32对同时相加→ 得到32个和 ... 第8轮:2个和→ 1对相加→ 得到1个最终结果
8轮后,y₁就算出来了。
但GPU不是用"128个核心"直接对应256个y值——这里需要解释一下GPU真实的并行方式:
GPU的"核心"和CPU核心不是一回事。GPU有成百上千个线程(流处理器),远远多于256。每个y值的归约需要8轮,但这8轮是"每个线程内部"的轮次——256个线程同时各自跑自己的8轮,所以8轮后256个y全部算完。
回到计算量统计(基于"128个核心"的教学设定):
●乘法:65536次乘法 ÷ 128核心 = 512轮(每轮每个核心做1次乘法)
●归约:每个y值8轮,但GPU线程数远大于256,256个y值可同时归约 → 8轮
●总共约520轮(512 + 8)完成全部计算。
520轮比32轮还多?
看起来GPU轮数更多,但关键区别在于:
| CPU | GPU |
每轮做什么 | 8个核心各算1个y(256次串行乘加) | 128个核心各算1个简单运算 |
每轮时间 | 长(串行256步+频繁读内存) | 短(一步完成+批量读内存) |
实际总时间 | 32轮 × 长耗时 | 520轮 × 短耗时 |
GPU虽然轮数多,但每轮极快——128个核心同时做最简单的运算,且数据从内存一次性批量读入。实际总时间通常是CPU的几十分之一甚至几百分之一。
类比:CPU像8条精密装配线,每步都要调试机器;GPU像128个人同时举手表决,虽然要举很多次,但每次举手几乎不花时间。
规模越大,绝对差距越大
刚才256×256的例子还比较小。在简化模型里,GPU相对于CPU的速度比大致不变(约16倍)。
但真实的3B模型情况完全不同:
一个3B参数的模型有几十层Transformer,每层包含多个矩阵乘法。单次生成1个token,总乘加运算就达到数亿到数十亿次。
当模型规模放大时,瓶颈从"计算速度"变成了"内存带宽":
●CPU:不仅计算慢,还要频繁等内存,等内存的时间随模型增大而放大
●GPU:有高带宽显存,且能"隐藏"内存等待时间(计算A时同时读取B的数据)
结果是:模型越大,GPU的相对优势越明显。
这就像:
●搬100本书:1个教授 vs 128个中学生 → 中学生快16倍
●搬100,000本书:教授不仅要搬,还要反复跑仓库(等内存);中学生有小车(高带宽显存)→ 差距变成100倍
但刚才的例子只是简化模型。真实的3B模型不是算一个矩阵,而是:
●28层Transformer × 每层6-8个矩阵乘法 = 近200个大矩阵
●生成一句话通常要算20-50个token
●每个token都要走完整套流程
总运算量轻松达到数百亿到数千亿次。
此时:
●CPU:8个核心逐个算,生成一句话要几分钟
●GPU:上千个核心并行,只需要几秒
这就是GPU适合AI的根本原因:AI计算不是“聪明"的问题,是"人多力量大"的问题。
七、NPU的硬件架构
NPU(Neural Processing Unit)是专门为神经网络计算设计的芯片。
硬件级优化矩阵乘法
NPU直接把矩阵乘法的逻辑固化在电路里。以苹果A18 Pro的Neural Engine为例,它采用**脉动阵列(Systolic Array)**架构:数据从一端流入,在阵列中逐层传递、乘加、累加,结果从另一端流出——整个过程由硬件电路自动完成,不需要软件逐条发指令。
手机CPU/GPU做矩阵乘法: 软件 → 指令译码 → 通用计算核心 → 结果 (每一步都要"翻译"和调度) NPU(如苹果Neural Engine)做矩阵乘法: 数据 → 专用脉动阵列 → 结果 (硬件流水线自动完成)
手机GPU虽然有几百个并行核心,但没有专门的矩阵乘法电路。它靠通用核心"硬算"矩阵乘法,就像让几百个会算加减乘除的小学生,每人拿一支笔去手工算1000道乘法题,每人分几道题,人多也能算完,但比不上一台专用计算器。(桌面电脑的NVIDIA GPU有Tensor Core这样的专用矩阵单元,但手机GPU通常没有。)
支持低精度计算
AI模型量化到INT8或INT4后,NPU可以直接处理这些低精度数字。
NPU对低精度运算的支持是从晶体管级别设计的。以苹果Neural Engine为例,它的脉动阵列直接以INT8/INT4为原生精度运行,不需要任何格式转换,单位功耗下的INT8算力是FP32的4倍以上。
桌面GPU(如NVIDIA Tensor Core)也原生支持INT8/INT4,不需要转换。手机GPU的情况因架构而异,部分支持FP16直接运算,但对INT8的支持不如NPU完善,有些场景仍需fallback到更高精度。
所以NPU的优势不是"只有NPU能算低精度",而是"NPU算低精度的能效最高"。这对手机来说至关重要——同样跑一个3B模型,用NPU可能比用手机GPU省电50%以上。
数据搬运少
CPU/GPU计算时,数据需要在内存和计算单元之间频繁搬运。以手机场景为例,模型权重通常存在DRAM(运行内存)里,每次计算都要从DRAM读到计算核心,算完再写回去,来回搬运消耗大量时间和电量。
NPU的解决方式是更大的片上SRAM缓存。仍以苹果Neural Engine为例,它内部有数MB到十几MB的专用SRAM,可以把一层神经网络的权重和中间结果都暂存在芯片内部,计算时直接从SRAM读取,不需要频繁访问DRAM。
类比:CPU/GPU像每次做题都要去图书馆借书还书;NPU像把书提前搬到自己的书桌抽屉里,做题时随手就能拿到。
NPU 不是万能的
算子覆盖率问题
NPU 虽然快,但它只"认识"有限的算子类型。如果模型里出现了 NPU 不认识的算子(比如某种变体的 Attention、自定义激活函数),框架会自动把它调度到 GPU 或 CPU 上跑。
以苹果的 Core ML 为例,模型编译时会生成一个"执行计划",明确标出每个算子在哪运行:
●约 70-90% 的算子 → NPU
●约 10-30% 的算子 → GPU/CPU fallback
GPU 也可以独立跑完整模型
在 NPU 不够强或框架不支持时,GPU 完全可以独自承担全部 AI 推理:
●mlc-llm(GPU 后端):在手机上纯 GPU 跑模型推理
●llama.cpp(Vulkan 后端):跨平台 GPU 推理
实际测试中,纯 GPU 跑 3B 模型的速度约为 NPU 的 30%-60%,但兼容性更好——只要手机有 GPU,就能跑。
八、具体芯片对比
NPU算力对比
芯片 | NPU算力(TOPS) | 能否流畅跑3B |
苹果A15(2021) | 15.8 | 勉强,很卡 |
苹果A17 Pro(2023) | 35 | 可以,偶有停顿 |
苹果A18 Pro(2024) | 38 | 流畅 |
高通骁龙8 Gen2(2022) | 26 | 可以,偶有停顿 |
高通骁龙8 Gen4(2024) | 45(理论峰值) | 流畅 |
注意:
●TOPS是理论峰值,实际推理效率通常只有20%-60%
●不同厂商的TOPS计算方式不同,实际体验还取决于软件优化、散热、内存、带宽等因素存
苹果vs安卓:软件优化的差距
Apple Intelligence:
●苹果自己写模型
●苹果自己设计芯片
●苹果自己开发框架(Core ML)
●三层全栈控制,优化到极致
安卓阵营:
●Google写框架(Android NNAPI)
●高通/联发科做芯片
●手机厂商做系统
●模型开发者做模型
●链条长、协调难
同样的NPU硬件,苹果的实际体验通常比安卓好30%-50%(据行业估算)。
九、趋势:从分立到融合
趋势1:NPU正在成为手机芯片的标配
2024年以后发布的中高端手机芯片,没有NPU已经不好意思开发布会了。
●苹果:A系列全系标配NPU,且每代大幅升级
●高通:骁龙8系NPU算力两年翻倍
●联发科:天玑系列NPU成为差异化卖点
●华为:麒麟芯片的NPU(达芬奇架构)一直是核心卖点
趋势2:从"专用NPU"到"AI无处不在"
未来的趋势不是单独的一块NPU,而是AI计算能力分散到芯片的每个角落。
●CPU里也加入AI加速指令
●GPU支持更多的AI算子
●甚至内存控制器、图像信号处理器(ISP)都开始内置AI能力
就像以前汽车有专门的发动机。现在电动车把电机分散到四个轮子(轮毂电机)。AI计算也在经历类似的"分布式"变革。
本文要点
1 CPU:万能但慢,适合顺序逻辑任务,不适合AI矩阵计算
2 GPU:并行计算强但耗电,适合图形和中等AI负载
3 NPU:专为AI设计,省电高效,是大模型推理的最佳选择
4 实测对比:NPU跑3B模型可达30-50 tokens/秒,GPU 10-20,CPU 2-5
5 手机现实:异构计算(CPU+GPU+NPU协作),没有纯粹的"NPU手机"
6 NPU代差:同样是NPU,不同代际性能差距巨大(15 TOPS vs 45 TOPS)
7 软件优化:全栈控制(苹果)vs 分散协调(安卓),体验差距显著
8 趋势:NPU成标配、AI计算走向分布式
🗳️ 你的手机跑AI什么水平?
●A. 很流畅 —— NPU算力充足
●B. 能用但有点慢 —— 勉强达标
●C. 卡成PPT —— 该换手机了
●D. 没试过本地AI —— 云端也挺好
欢迎在评论区选留言 👇