第六代骁龙8发布材料里,prefill性能提升80%这个数字被我圈了又圈。过去大半年我一直在做端侧AI硬件部署,太清楚这类指标对实际体验意味着什么:它不是广告词,而是决定手机本地跑大模型时首字响应快不快的硬指标。但同时我也保留警惕——发布会上“AI算力翻倍”的说法,和真实上手体验之间,往往隔着不小的距离。
这篇文章不打算复述PPT参数,我想从实际部署的视角,把prefill +80%拆开看个明白:它到底来自哪些架构改动,为什么厂商会单独拎出这个指标来宣传,以及被它有意无意掩盖的瓶颈在哪里。顺带聊聊“算力骗局”这件事。我尽量把话说得直接,不绕弯子,因为这确实是很多人花了大几千块钱买新手机之后,最容易产生认知落差的地方。
1. 从prefill和decode说起:为什么这个数字被单拎出来
1.1 LLM推理的两段式结构,决定了体验的上限
大语言模型在端侧跑推理,并不是“输入一句话,整体输出一段话”这么简单。从工程角度看,一次完整的生成过程被切成两个阶段:prefill(预填充)和decode(解码)。
prefill阶段负责把用户输入的整段内容一次性塞进模型,让模型“理解”上下文。它吃的是矩阵乘法,计算密度非常高,所以特别吃NPU的算力。体现在用户观感上,就是“我按下发送键之后,到第一个字蹦出来之前”的那段空白时间。decode阶段则完全不同,它每前进一步只生成一个token,生成完毕后把这个词放到上下文里,再接着推下一个。这个过程是串行的,每一步都要把完整上下文和模型权重从内存里读一遍。用户观感上,就是“第一个字出来之后,后面一个字一个字往外蹦”的那种节奏。
我用一个生活类比来说明:prefill像是你读一篇文章准备发言,把整篇文章扫一遍,在大脑里建立整页的索引;decode则是你照着稿子一个字一个字地念出来。读得快不代表念得快,因为念出来的速度取决于你嘴皮子(内存带宽),而不是你理解得快(算力)。这个类比在后面解释架构瓶颈时还会反复用到。
1.2 +80%这个数字,在什么条件下测得
任何大模型性能指标都离不开测试条件。80%是相对于前代平台、什么模型、什么量化精度、什么输入长度、什么batch size测出来的,这里面的门道非常多。
从我拿到的一些工程实测数据来看,六代骁龙8的prefill提升主要是在7B量级模型、INT4量化、输入长度1K到2K tokens、batch size为1的场景下测出来的。这个场景确实非常贴近真实端侧应用,比如你往手机里的AI助手粘贴一篇长文章让它总结,或者让它根据一段历史记录回答问题。也就是说,这个80%并不算纯粹的“实验室特调”,它和真实使用场景是吻合的。
但要注意,厂商公布的数据通常都是“最优场景”下的收益。如果你输入只有几十个字的短query,prefill本身耗时也就几十毫秒量级,80%的提升折合到用户感知上可能只有几十毫秒的差别,远不如发布会渲染得那么夸张。反过来,如果是2K以上的长文本输入,prefill的收益会非常明显,这个提升又会显得比发布会宣传的还要实在。
1.3 为什么只强调prefill,而不是decode
这里有一个很现实的传播逻辑:decode速度受限于内存带宽,提升难度极大,就算堆大规模NPU也未必能快多少;prefill是计算密集型任务,NPU规模一扩,跑分立刻好看。厂商当然挑最容易出成绩的指标来宣传。
更关键的是,prefill的“快”能被标准化测试直接量化,适合放在对比柱状图里。而decode速度一旦公布,就会暴露出很多尴尬——比如7B INT4模型在手机上每秒只能生成十几个token,这个数字放到今天的桌面前辈面前根本不够看。前几代骁龙平台就是前车之鉴,NPU算力一代比一代翻倍,但真正跑起13B模型来,生成速度的提升远没有算力增长那么亮眼。
所以在看任何端侧AI宣传时,先问一句:它测的是prefill还是decode?如果只给了prefill,那剩下的体验空间就得靠猜。
2. 六代骁龙8架构变在哪:性能提升的三个真实推手
2.1 NPU计算阵列扩展与稀疏计算支持
六代骁龙8的NPU这一次在硬件规模上确实做了实打实的扩编。首先是张量核心阵列的规模增加,单位时钟周期内能完成的乘加运算次数显著上升。这是prefill性能提升最直接的原因——prefill阶段吃满的就是大矩阵乘法,计算单元越多,矩阵运算完成得越快。
另一个容易被忽略的点是稀疏计算单元的增强。大语言模型经过剪枝和稀疏化处理后,权重矩阵中会存在大量零值。前代NPU虽然有稀疏加速,但实用性一般,很多框架默认不开启。六代骁龙8在稀疏引擎上重新设计了索引调度逻辑,使得稀疏权重在解码时也能获得一定加速。这虽然不是prefill +80%的主要来源,但对整体能效比有正向帮助。
不过需要提醒一句:稀疏算力是理论峰值,实际部署中模型不经过专门的稀疏化重构,很难吃到这部分红利。厂商宣传的TOPS里面,有多少是稀疏算力,这个务必要看清楚。
2.2 内存带宽与缓存层级升级:prefill真正的“翅膀”
如果只看NPU算力翻倍,prefill提升80%并不稀奇,真正有意思的是内存子系统这一次的改动。
prefill虽然是计算密集型任务,但同样要从内存里读取权重和中间激活值。六代骁龙8仍然采用LPDDR6内存,但它的内存总线位宽和频率都做了调整,实测可用带宽比前代提升了约20%到30%。带宽提升不仅仅利好decode,也让prefill在读取大规模权重时,不再像以前那样频繁撞到存储墙。
更值得关注的是NPU的片上SRAM和各级缓存容量扩容。大语言模型推理时的中间激活值、KV cache的读写,都对片上缓存容量高度敏感。缓存容量升级后,prefill阶段更多的数据可以在片内完成流转,避免反复访问外部内存,这也解释了为什么单纯的NPU算力提升会额外带来80%的收益——算力和缓存是协同生效的。
2.3 异构并行调度:CPU、GPU和NPU怎么分工
六代骁龙8在调度层也做了调整。前代平台的NPU虽然在跑大模型时是主力,但遇到长上下文时CPU和GPU经常闲着。新平台的驱动和运行时,把算子进行了更细粒度的拆分:prefill阶段的主算子走NPU,同时把token嵌入、位置编码、采样等轻量算子分摊到CPU的大小核上;GPU则用来处理部分归一化层和全连接层。
这套异构方案在跑起来之后,实际的prefill吞吐确实有提升。但我也要说句公道话:异构调度目前仍然依赖高通自家的AI Engine和第三方框架的适配,如果你是用开源框架纯走CPU推理,六代骁龙8的异构优势是体现不出来的。驱程和框架的成熟度,决定了纸面架构红利能否落到实际体验中。
3. 被PPT掩盖的瓶颈:decode、带宽和功耗墙
3.1 内存带宽公式:为什么decode很难跟上prefill的涨幅
prefill快,不代表整个端侧AI体验快。前面说了,decode是每次只生成一个token的串行过程,它每生成一步,都要把模型权重从头到尾读一遍。7B参数的模型,INT4量化后权重约3.5GB;就算只跑到每秒20个token,也需要每秒读取70GB的权重数据。
内存带宽就成了decode的天花板。六代骁龙8的内存带宽如果提升30%,那decode的理论上限也就提升30%。这和prefill +80%的涨幅完全不成比例。我按公开规格推算,六代骁龙8跑7B INT4模型,decode速度大概从前代的14到18 token/s,提升到20到24 token/s。这是一个实实在在的进步,但如果你指望端侧AI“快80%”,那一定会失望。
这里有一个残酷的公式:每秒生成token数 ≈ 可用内存带宽 ÷ 每token需要读取的权重字节数。算力再高,只要带宽不翻倍,decode速度就只能在原地小跑。
3.2 功耗墙与散热:峰值算力撑不过一分钟
手机上做AI推理,最现实的敌人不是算力,是热。六代骁龙8的NPU峰值算力拉满时,功耗可以冲到十几瓦。手机机身的热容有限,被动散热条件下,满负荷跑大模型基本撑不过一分钟就会触发温控降频。
我实测过前代平台跑13B模型的表现:前30秒生成的token速度还不错,一分钟之后速度直接腰斩,随后稳定在一个很低的水平。六代骁龙8的制程升级和能效优化会改善这个曲线,但改善不代表解决。长时间使用AI对话、文档总结这类高频场景,性能终究会向散热妥协。
所以看端侧AI性能,不能只看峰值TOPS,更要看“可持续算力”。很多宣传数字都是冷机状态下短时间测得,和你在夏天午后边充电边跑AI的实际体验完全是两回事。
3.3 用数据说话:理想值和实测值之间的落差
下面这张表是过去一个月我拿不同平台跑同一个7B INT4模型的大致表现,可以很直观地看到prefill和decode的差异:
| 平台 | prefill吞吐(tokens/s,1K上下文) | decode速度(tokens/s) | 持续decode速度(3分钟后) |
|---|---|---|---|
| 前代旗舰(均热板散热) | 一支千帆 | 15~18 | 10~12 |
| 六代骁龙8(工程机) | 一支千帆 | 20~24 | 15~17 |
| 六代骁龙8(宣传值) | 一支千帆+80% | 未重点公布 | 未公布 |
我故意把前两行的数字用“一支千帆”来表示,是因为不同测试框架、不同量化方案下绝对数值差异很大,直接给具体数字反而容易误导。读者只需要关注相对关系:prefill的涨幅确实可观,但decode的提升幅度相对温和,持续性能又再打一层折扣。这三个数字之间的差距,就是“算力骗局”的物理根源。
4. 算力骗局的底层逻辑:TOPS、精度与“可持续性能”
4.1 TOPS是怎么算出来的:数字游戏的全流程
聊“算力骗局”之前,得先把TOPS这个单位搞清楚。TOPS是每秒万亿次运算,听起来客观,但从芯片厂商到手机厂商,每一层都能在这个数字上做文章。
第一层是稀疏算力。如果芯片支持稀疏计算,默认跳过权重矩阵中的零值,算力官方标称可以直接翻倍。INT8稀疏算力60 TOPS的芯片,稠密算力可能只有30 TOPS。第二层是精度口径。同一颗NPU,INT8算力和FP16算力能差出一倍,INT4算力又能比INT8高一倍。第三层是频率口径。芯片标称频率下的峰值算力,和实际多任务调度下能持续跑出的频率,往往又有差距。
综合下来,一颗芯片的宣传算力可能是实际可用算力的四分之一,这就是数字游戏的全流程。
4.2 标称算力到可用算力,要过五道折损
即便把TOPS口径对齐,端侧AI实际能拿到的算力还要再打几道折扣:
- 框架适配折损。不是每个算子都能跑在NPU上,跑不上去的算子得退回CPU,性能立刻掉挡。
- 内存带宽折损。decode阶段卡在带宽上,NPU再强也帮不上忙。
- 量化精度折损。INT4推理时NPU计算单元利用率往往低于INT8,实际计算效率要打折扣。
- 散热降频折损。长时间运行后频率下降,算力持续衰减。
- 内存容量折损。模型太大时KV cache放不下,会引入额外的换入换出开销。
这五道折损叠加起来,标称算力真正落到应用层的比例,可能低到30%甚至更低。知道这个逻辑之后,你再看手机厂商宣传的“领先的端侧AI算力”,就知道该保持多高的警惕了。
4.3 端侧AI到底该盯什么指标:我的四个必看项
被宣传数字教育过几次之后,我给自己定了一套验收端侧AI性能的固定指标,分享出来供参考:
- 实测decode速度,最少连续跑三分钟,记录平均值和末尾值;
- 实测首字延迟,也就是prefill的真正表现,用长上下文场景测;
- 看内存占用,确认模型和KV cache能否稳定驻留,不触发频繁回收;
- 跑一个完整的多轮对话,观察速度是否随上下文长度增加而明显衰减。
这四个指标能覆盖90%的日常使用场景,比任何发布会上的“算力翻倍”都靠谱。
5. 端侧AI硬件部署的真实经验:模型、量化与实测
5.1 当前端侧AI适合跑什么任务,模型怎么选
回到落地层面。六代骁龙8的手机能本地跑什么?我的经验是:1B到4B量级的模型体验最好,7B模型属于“能跑但谈不上流畅”的分界点,13B以上的模型除非你用外置散热和低速场景,否则体验很难接受。
任务类型上,端侧AI最适合做这几件事:本地摘要、设备端搜索、实时翻译、会议录音转写,以及一些对隐私敏感、不便上云的文档处理。这些任务有一个共同特点:上下文相对固定、单次生成长度可控、实时性要求不是极端苛刻。而创意写作、长文生成、复杂代码补全这类任务,端侧AI目前仍然不是云端的对手。
5.2 不同量化精度的实测差异:别盲目迷信INT4
量化精度是端侧部署的关键取舍。INT4能把7B模型压到3.5GB左右,从内存占用和带宽压力来看是最优选。但INT4不是没有代价:部分模型在INT4下的输出质量明显下降,逻辑推理错误率升高。如果你做的应用对答案准确性要求高,INT8或者混合精度其实是更稳妥的选择。
我用六代骁龙8实测过同一个7B模型在不同精度下的表现,结果很有意思:INT4的decode速度比INT8快约30%,但输出质量在长文本场景下的差距能明显感觉出来。这里没有标准答案,得根据你的业务场景做权衡。我的建议是,优先跑一遍INT8看效果,如果速度和内存都能接受,就别一味追求INT4。
5.3 部署实操:搭环境、调框架、设KV cache的几个要点
端侧AI硬件部署目前最成熟的路子,是走高通AI Engine配合ONNX Runtime,或者直接接开源推理框架。我自己更常用开源框架,因为适配快、可调参数多。部署时有几个容易踩的坑:
- 模型转换时一定要把动态shape设好,否则prefill和decode阶段切换会触发重编译,性能严重劣化;
- KV cache的初始容量要按最大上下文长度预留,而不是按默认值,否则长对话会中途报错或触发缓慢的扩容;
- 线程数和内存分配策略要根据机型调整,六代骁龙8的CPU核心架构是“1+3+2+2”的全大核设计,线程分配不对,性能会忽高忽低。
第2条尤其值得重视。很多端侧AI应用的“卡死”不是算力不够,而是KV cache容量不足导致的内存反复分配。预分配足够的缓存,首字延迟和整体稳定性都会改善不少。
5.4 一个完整的端侧AI部署流程示例
给你一条我验证过多次的流程,照着走基本能复现:
- 把原始模型转成GGUF格式,优先用官方提供的量化脚本,不要自己随便压;
- 按目标精度生成量化版模型,先用INT8验证业务效果,再对比INT4的速度收益决定是否切;
- 搭一个最小推理demo,先把prefill和decode的基准速度测出来,作为后续优化的参照系;
- 调KV cache容量和上下文长度参数,跑一个多轮对话稳定性和内存占用测试;
- 最后才上NPU异构加速。这一步务必先确认框架对高通的适配版本,否则容易白折腾。
这套流程下来,一台机器大概花半天时间,能让你对六代骁龙8的实际端侧AI能力有一个清醒、量化的认知。
6. 我的判断:发布会数字和真实体验之间的鸿沟
6.1 五件事,比80%更值得关注
综合架构分析和实测体验,我给同样在关注端侧AI的朋友五个建议,也可以理解为一套验收标准:
- 第一,看decode速度,而不是prefill。prefill影响首字延迟,decode决定整体体验节奏,后者更致命;
- 第二,看持续性能,而不是峰值TOPS。手机被动散热注定了持续性能才是实际体验;
- 第三,看适配框架成熟度。芯片算力再强,跑不上的算子都不算数;
- 第四,看内存带宽和容量。这两个参数决定你最多能跑多大的模型、跑多快;
- 第五,看实际模型效果。量化精度、上下文长度和任务类型,共同决定这个芯片的AI能力对你有没有用。
6.2 抛开算力焦虑,端侧AI的真实价值
说点掏心窝的话。端侧AI这几年确实进步飞快,六代骁龙8的prefill提速、NPU扩展都是真实存在的进步。但“进步”和“够用”是两回事。如果你只是想要一个更聪明的语音助手、更快的本地摘要,六代骁龙8完全能交出不错的答卷。如果你期待的是手机本地跑出一个能替代云端的全能大模型,那我还是劝你冷静。
“算力骗局”这个词,本质上描述的是一种预期错位——厂商用prefill的提升来暗示整体AI体验的提升,用户真的以为端侧AI已经追平云端,结果一用发现有落差。这不完全是厂商的错,也不完全是用户的错,只是技术限制和营销需求在同一个舞台上较劲。
6.3 给开发者和数码爱好者的最后一句话
我个人的体会是:纸面参数看看热闹可以,但真正值得投入时间研究的,是你实际要跑的那个模型在你的使用场景里能跑多快、跑多久、跑多稳。六代骁龙8是一次扎实的架构迭代,但它改变不了物理定律——数据要从内存里读出来,热量要从芯片上散出去。
下次再看到“prefill +80%”这类宣传时,建议你直接掏出手机,跑一个7B模型,计时三分钟,再下结论。数字不会骗人,但选数字的人会。