发布会PPT上那个“prefill性能提升80%”的数字,确实唬人。但多问几句之后你会发现,几乎所有博主都在复读这个百分比,没人讲清楚这80%是从哪块架构上“抠”出来的,也没人敢说这个数字放到真实端侧场景里还剩多少含金量。这篇文章不聊跑分截图,也不念参数表,就干两件事:把第六代骁龙8的LLM推理链路从底到顶拆一遍,看看prefill那80%到底是编译器优化还是硬架构推倒重来;再聊聊端侧AI算力宣传里那些一眼看穿、但没人捅破的窗户纸。
我尽量写得实在一点,哪怕你手上只有一台手机,看完也能拿着这套思路去验证厂商宣传里的水分。
1. 整体架构:把手机SoC当成一台微型AI服务器来看
1.1 CPU的“减法”:砍掉小核的真实动机
第六代骁龙8放弃了传统的大小核搭配,直接上了2颗超大核加6颗大核的配置。这个改动在手机SoC历史上相当激进,但你把它放在“端侧AI硬件部署”这个语境下,就完全说得通了。
小核(能效核)在传统手机里承担的是待机和轻负载任务,但在大模型推理场景里,小核几乎没有存在意义。LLM推理的算子极少能被拆成单线程轻负载任务,即便是decode阶段那种单token生成,也需要频繁的矩阵向量乘法和内存访问,小核的访存能力和算力双双不够,强行调用反而会造成任务切换开销。砍掉小核,等于把整个CPU管线都统一成中等以上性能的核,调度器不用再纠结任务往哪塞,对AI推理这种需要“整机协同”的场景,这个减法本身就是一种架构优化。
另一个很少有人提的点是:2超大核加6大核的设计,让CPU在混合精度推理里能承担更多“异架构计算”之外的控制逻辑。比如MoE架构模型的路由决策、Agent任务的状态管理,这些计算量不大但分支逻辑极多的工作,放NPU上跑纯属浪费,放CPU上跑又需要稳定的中高频性能。砍掉小核之后,CPU的所有核都能稳定输出高性能,这个调度红利在实际跑长上下文Agent任务的时候体感非常明显。
1.2 GPU和显示链路:被忽视的AI辅助角色
很多人看到Adreno系列GPU就只会想到游戏帧率,但GPU在端侧AI里从来不是旁观者。第六代骁龙8的GPU架构在保持光追性能继续提升的同时,特别强化了FP16和FP8的通用计算能力——这两个精度恰好是端侧视觉模型和部分多模态模型的常用精度。
更关键的是GPU与NPU之间的内存零拷贝通道。以前跑一个视觉任务,图片要从ISP进内存,再拷贝给NPU,中间光复制就浪费几十毫秒。新架构在数据路径上做了不少优化,摄像头输出的RAW数据可以直接通过共用缓冲区进入NPU的算力管线,省掉了“绕道系统内存”的环节。这个优化在实时翻译、视觉问答这类应用上,体感甚至比纯看TOPS数字更强烈。
1.3 内存和带宽:端侧AI真正的胜负手
我始终认为,判断一款SoC适不适合跑大模型,第一眼看带宽,第二眼看容量,第三才轮得到算力。第六代骁龙8在内存子系统上的提升被严重低估了——峰值带宽的增幅和更高的内存频率支持,让整块SoC的数据搬运能力上了一个台阶。
这里面有个简单的物理逻辑:AI推理的本质是权重和激活值的搬运,算力再高,数据喂不上来也是空转。用生活类比,算力是厨房里炒菜的速度,内存带宽是传菜员端盘子的速度,你炒得再快,传菜跟不上,客人照样得等。第六代骁龙8这一代主要就是多雇了几个“传菜员”。
对本地跑7B以上模型来说,这个改动比CPU多10%性能重要得多。权重一次性加载进内存之后,后续每生成一个token都要把所有权重从头到尾过一遍,带宽不够的话,每秒钟能生成的token数就会被死死卡住。这也是为什么很多老平台跑大模型“算力看着够、实际慢成狗”的根本原因。
2. prefill +80%:一个数字背后的三段架构手术
2.1 先分清prefill和decode:两件完全不同的事
短视频测评里经常把大模型生成速度笼统说成“每秒输出多少字”,但对做端侧部署的人来说,prefill和decode是两条难度完全不同的赛道。
Prefill阶段处理的是你输入的整段prompt,系统要把这段文本一次性“读进去”,完成所有中间层的计算,生成一套完整的KVCache(键值缓存)。它本质上是长序列的矩阵乘法,计算密集、并行度高,但显存占用增长极快。Decode阶段是你看到“打字机效果”的那段,每次只生成一个token,依赖上一步的KVCache,访存密集、并行度低。
这两个阶段对硬件的要求完全不同。prefill怕的是算力不够强、矩阵引擎不够宽;decode怕的是带宽不够高、缓存路径不够短。所以任何一个靠谱的端侧推理框架,都是把两阶段分开优化、分开调度的,谁要是笼统报一个“性能提升XX%”还不区分阶段,基本可以判营销号死刑。
第六代骁龙8那个“prefill +80%”的官方口径,恰恰说明这代芯片把主要力气花在了prefill这条链路上。这就引出了下一个问题:这80%是从哪儿腾出来的。
2.2 矩阵引擎的拓宽:从数据结构底层加速
Prefill阶段最主要的算子是标准矩阵乘法,而这恰恰是NPU矩阵引擎的看家本领。第六代骁龙8的Hexagon NPU在矩阵单元的设计上做了近几年最大幅度的改动——单位时钟周期内能处理的矩阵规模明显变大,配合更高的NPU运行频率,理论峰值算力数字变得非常好看。
但这里必须说明一点:峰值算力提升不等于prefill端到端提速80%。官方那个数字一定是把“矩阵引擎拓宽”和“编译器算子优化”捆绑之后的综合结果,单独拎出任何一项都达不到这个幅度。也就是说,这80%是硬架构和软调度一起挤出来的,不是某一颗“大核”的独角戏。
从实际开发者的角度看,硬件矩阵单元变宽之后,最直观的变化是:长prompt场景下TTFT(首token延迟)显著缩短。比如你拿一个7B模型扔给它一段2000字的输入,上代芯片可能要先“思考”两三秒才开始输出,而这代芯片能把这段等待压到一秒以内。这个体感优化,比单看跑分软件里跳动的数字实在得多。
2.3 KVCache路径与内存调度的同步改造
除了矩阵引擎,还有一条被低估的暗线:KVCache的分配与访问路径。Prefill阶段要生成大量KVCache,这些数据后续会被反复读取,直接决定了整个推理会话的续航表现。
第六代骁龙8在NPU内部和系统内存之间建立了更高效的缓存回写策略。说白了,以前KVCache写回内存要走一条比较绕的路,新架构把这条路修直了,还配上了更积极的预取机制,让后续decode阶段读KVCache时尽量不卡访存。
用做后端的人好理解的话:这相当于给KVCache做了个专属的“热点缓存+直连通道”,而不是让它跟普通APP数据一起在系统内存里挤公交。对于长对话场景(比如跑一个本地Agent),这个优化的价值会随着对话轮数增加而越来越明显——前几轮可能感觉不出来,到第20轮、第30轮,上下文越来越长,KVCache越来越大,系统和原来之间的差距就拉开了。
2.4 +80%落地到真机还剩多少
官方PPT上的80%通常是“最理想条件”。什么是最理想条件?短prompt、小batch、最合适的精度档位、散热充足的起步阶段,全部叠加之后再跑一遍标准测试集。真机日常使用中,你很难复现这个数字。
实测下来,第六代骁龙8在端侧跑主流7B量化模型时,prefill阶段的体感提升大约在50%到60%之间,与80%的官方口径有差距,但方向是对的。这个折扣不是厂商虚标,而是真实场景里LLM推理还受到内存带宽争抢、系统其他进程占用的影响。理解这个差距,对做评测的人尤其重要——不要拿实验室数据直接当用户体验来宣传。
3. 算力“骗局”:TOPS之外的真实世界
3.1 TOPS是怎么算出来的
现在几乎每场手机发布会都会亮一个TOPS(每秒万亿次操作)数字,动辄几十甚至上百,看着很唬人。但TOPS的统计口径从来没统一过,相当一部分厂商用的是INT4精度稀疏算力,有些甚至把纯加法操作也算进去,跟实际跑模型用的INT8/FP16稠密算力差了四到八倍。
用大白话拆解:稀疏算力假设矩阵里有一半权重是零可以跳过不算,但真实模型推理时权重分布是动态的,稀疏加速只能靠硬件里的“跳过零值”电路去碰运气,实际命中率远没到理论值。所以那个60 TOPS的漂亮数字,折算成你真正用得上的稠密INT8算力,可能要打个三折往下。
更诛心的是,很多厂商宣传TOPS时根本不提功耗约束。手机里的NPU不像云端GPU有独立供电和散热,它和CPU、GPU共用一块散热铜管和电池。想跑满峰值TOPS,要么降频撞墙,要么机身发烫。所谓“小时级持续算力”才是手机NPU的真实水平,而这份真实水平通常是峰值的一半甚至更低。
3.2 带宽才是所有端侧AI的天花板
写这篇文章之前我反复强调带宽,因为这是端侧AI“算力骗局”的核心:广告里所有人都讲算力,没人讲带宽。但LLM推理有个铁律——权重搬运量是计算量的数倍。以7B模型为例,每生成一个token,理论最低要读700MB权重(按每权重1字节算)。如果内存带宽是50GB/s,那理论上限就是每秒70个token。算力再高,带宽不涨,这个上限就不会动。
这也是为什么有些老平台换了更强的NPU核心之后,跑模型速度没变——木桶效应被内存带宽死死封住了。第六代骁龙8这代真正的良心升级之一,是同时抬高了带宽和内存频率,没有让NPU“空有算力没饭吃”。这一点,比广告里任何百分比都更值得肯定。
从实际体验看,好多6B、7B量化模型在这代平台上跑decode速度相当流畅,甚至有些模型能跑出轻薄本上独显都未必能做到的生成速度。跑模型不再是有钱人的玩具,这是架构合理分配资源带来的跨越,不只是“数字变大了”。
3.3 功耗墙下的持续算力
手机芯片标称的峰值性能通常只在几秒到十几秒的短时间内可达,比如跑分软件的短时测试。一旦内置温控检测到热节流点,频率就会逐步下调,直到系统重新平衡散热。这个过程中NPU的算力输出曲线是一条典型的“先冲顶、再滑坡、最后稳住”的形状。
做端侧AI硬件部署的工程师拿到一台设备,第一件事不应该是跑分,而是挂一个长时间稳定性测试,看看5分钟、10分钟之后的持续算力跌到多少。我测过不少平台,峰值TOPS高得离谱的,持续性能往往只有峰值的四到五成,反而一些峰值数字看着保守的平台,因为散热设计扎实,持续性能反而更稳。
第六代骁龙8在散热设计上其实压力不小,毕竟CPU和GPU都在往上堆性能。但从已上市的工程机反馈来看,NPU这块因为功耗本身不算极端,在长稳测试里没有出现灾难级滑坡。对开发者而言,这算是个小惊喜——跑长任务时性能曲线比预期平滑。
3.4 别被“稀疏加速”迷了眼
稀疏计算确实是一项优秀的技术,原理是在矩阵乘法过程中跳过值为零的乘法操作,节省计算周期。问题是,大模型权重没有那么稀疏,尤其是量化后的权重,零值占比远低于稀疏加速要发挥优势所需的阈值。
厂商喜欢宣传稀疏算力的原因很简单:数字大。没人会在发布会PPT上用小字标注“此数据基于INT4稀疏场景”,但开发者如果拿着这个数字去估算模型推理速度,会死得很难看。做端侧部署的时候,真正可靠的做法是看官方工具链支持的稠密算力、或者自己实测。
第六代骁龙8其实也在这上面玩了一些“文字游戏”——如果按INT4稀疏口径算,数字非常夸张;但按端侧常用的INT8稠密口径,数字至少打折一半。这不是说这代芯片不行,而是说指标口径不同,横向对比就是一场灾难。以后看到任何AI算力数字,第一反应应该是先问一句:什么精度?稀疏还是稠密?持续多久?
4. 实测方法论:别让跑分软件骗了你
4.1 正确的端侧AI测试姿势
我自己的测试流程一直保持得很简单:选一个成熟的端侧推理框架,固定量化精度和上下文长度,预热之后再记录TTFT(首token时间)、decode速度(token/s)、峰值内存占用三个核心指标。
TTFT对应prefill阶段效率,token/s主要看带宽和算子优化,内存占用则看整机的“跑模型能力上限”。这三个数据凑齐,比任何单一跑分都有说服力。
有一点特别重要:每次测试前要把手机冷却到同一温度,还最好是充着电测,否则功耗墙会剧烈波动,测试数据会变得完全不可复现。我见过很多评测,同一个模型同一个平台,两次测试数据差了30%,就是因为没控制机身温度。
4.2 端侧到底能跑多大模型
目前主流端侧旗舰机跑7B级别量化模型已经比较从容,但“跑得动”和“跑得流畅”是两回事。所谓跑得动,是能加载权重并逐token生成;跑得流畅,是每秒钟生成速度不低于10个token,且机身温度可接受。后者的门槛高得多。
第六代骁龙8这个平台,标准7B模型开4bit量化,开启长上下文之后,速度已经能逼近甚至超过不少老旧PC的体验。再往上走,14B模型在多模态和Code场景里仍然力不从心,主要瓶颈出现在内存容量上:内存不够装下权重加KVCache,系统就开始大量交换数据,推理速度直接崩盘。
对应用层开发者来说,现阶段端侧的甜点区间还是7B上下,配合MoE架构的小模型(比如激活参数很小的模型)反而能在功耗和速度之间取得更好平衡。这个判断,短期内不会被硬件突破改变。
4.3 从“够用”到“好用”的半代差距
拿这一代和上一代直接对比,最能说明prefill优化的价值。上代平台跑同样7B模型、同样输入长度,TTFT大约在2到3秒,偶尔能感觉到“它好像有点卡”。而第六代骁龙8基本能压在1.5秒以内,在短输入场景里甚至能到0.5秒级别。表面上看只是差一两秒,实际交互体验是完全不同的档位——上一代像在等一个迟钝的助手,这一代已经进入“有问必答”的对话节奏。
不过也要泼一盆冷水:prefill快归快,整段会话的续航能力才是端侧AI落地的核心。跑多轮Agent任务时,上下文不断累积,KVCache持续膨胀,总生成时间最终还是会被带宽和容量按在地上摩擦。这个瓶颈不是某一颗芯片能解决的,属于整个端侧AI架构的共性问题。
5. 关于宣传口径、购买建议和开发者的几个大实话
5.1 怎么“翻译”厂商的宣传话术
消费者和开发者看宣传稿,要养成三个条件反射:第一,任何“XX TOPS”出现时,先默认它是最理想精度下的最大值,主动在脑内除以三;第二,任何“性能提升XX%”出现时,追问一句是哪个阶段,prefill还是decode,别被笼统的“整体提升”糊弄;第三,任何AI功能宣传视频,都默认是精心调试后的演示,实际效果要等真机上手再下结论。
这三点不是教你抬杠,而是帮你过滤掉信息噪音。本身就热爱折腾手机AI的人,与其被参数牵着走,不如自己动手跑几轮测试。数据的说服力,永远大于话术。
5.2 要不要为了端侧AI换机
如果是纯为了玩端侧大模型换手机,我的建议是:看看手里机器是不是已经把7B模型跑到可用程度了。如果上一代平台跑7B已经能到每秒10 token以上,那第六代骁龙8的主提高不是“能不能跑”,而是“跑得更快、等得更短”,属于体验优化而算不上革命。
反过来,如果是做端侧AI相关开发,或者是重度本地长对话用户,那prefill带来的TTFT缩短和KVCache路径优化,实打实能缓解日常使用中的耐心消耗。这个钱花得值不值,取决于你每天跟端侧模型对话多久。
另外提一句,内存版本的选择比芯片代际更重要。跑大模型的内存容量底线是12GB,16GB才能算舒服。预算有限的情况下,与其追新芯片配小内存,不如选上一代旗舰配大内存,运行模型的流畅度反而可能更高。
5.3 给端侧AI开发者的几句实在话
如果你的目标是在第六代骁龙8上做产品原型,优先去熟悉官方推理工具链的算子支持和量化校准流程,别自己手搓底层算子——芯片新架构的编译器适配,远比你想象中复杂。官方工具链在prefill这条路径上做了大量专门优化,绕过它等于主动放弃那80%的红利。
针对KVCache优化:能复用就复用,能提前分配就提前分配。端侧环境内存碎片化严重,频繁申请和释放KVCache会带来不小的性能抖动,这也是导致同一模型在不同手机上体验差距巨大的常见原因。
我的一个实用小心得是:在线演示时把上下文长度设短一点,配上“流式输出”的交互方式,用户感知到的“爽快感”会大幅提升,而背后只是避开了长上下文KVCache的衰减区间。这套方法不是偷懒,它是在当前硬件约束下最务实的体验优化。
5.4 推荐关注的两个方向
接下来值得持续关注的方向有两个。一是内存子系统的持续升级,这是端侧AI能不能继续往上摸到更大模型的关键,比NPU堆算力更值得期待。二是NPU算力池的深度开放,以更通用的编程模型释放NPU的剩余算力,把CPU、GPU、NPU真正编排成一个异构算力整体——这两条线才是端侧AI从“能用”走向“好用”的真正路线图。
我自己这几年最深的体会是:端侧AI的宣传总是跑在技术前面半步,发布会数字永远比真实体验好看。但落到芯片设计本身,第六代骁龙8这步棋走得相当扎实——prefill的优化踩在了LLM推理最痛的穴位上,而总线带宽的提升则给整条链路托了底。别太相信PPT上的百分比,也别一棍子打死所有营销数字,带着这篇文章里那套“拆开看”的思路去把玩真机,你会比我写出更多有价值的观察。