拍下一个零件,问一句“这个零件怎么安装?”。手机过了2秒才吐出第一个字,用户很可能已经开始怀疑识别是否失败。首字延迟接近200毫秒时,交互才有即时反馈的感觉。
这里的200毫秒需要先限定口径:它指首字延迟,也就是 Time to First Token(TTFT),不包括完整答案的生成时间。把首字、单Token耗时和整段回答时间混在一起,数字没有比较价值。
手机运行的模型已经比早期大了两个数量级。腾讯科技相关报道(创业邦转载)提到,2017年手机AI主要用于图像降噪、画质增强等任务,模型参数通常不超过1000万;如今较小的端侧大模型也达到10亿参数,规模约为早期模型的100倍,而且只能承担基础文本任务。再加入图像输入,计算量和内存访问还会继续增加。
3B参数装得下,数据却搬不动
以商汤Sage、vivo蓝心3B这类3B级模型为例,FP16权重本身就需要约6GB空间。一张224×224的图片经过Vision Encoder后,可能变成数百个视觉Token。图像编码和语言模型预填充期间,权重、激活值与KV Cache都要在内存和计算单元之间搬运。
如果设备可用内存带宽处在50GB/s到100GB/s区间,NPU的峰值TFLOPS再高,也可能因为数据供应不及时而空等。此前《R1开源后,手机跑30B模型先撞上散热墙》记录的测试中,一台配备24GB内存、搭载骁龙8 Gen 5的旗舰机可以运行30B模型,首字延迟却达到2.1秒。内存能容纳模型,只说明它可以启动,无法说明交互足够快。
定位这类问题,最好把TTFT拆成几段看:Vision Encoder耗时、视觉投影耗时、语言模型预填充耗时,以及第一个Token的解码耗时。时间主要花在预填充,就该压缩视觉Token和权重读取;解码越来越慢,则要检查KV Cache和内存布局。
量化别再一刀切
INT4能明显缩小权重,但多模态模型还要保留图像细节,视觉分支和部分注意力层往往更敏感。量化过猛,模型可能看见了物体,却丢掉位置、结构或细节信息。
FP8提供了另一种取舍。它的单元素存储量约为FP16的一半,同时保留浮点数的动态范围。不过,FP8并不会自动比INT4更快。芯片是否原生支持、反量化是否增加额外开销、算子能否融合,都会改变最终结果。遇到不受支持的算子并回退到CPU或GPU,量化节省的时间很容易被吃掉。
更稳妥的做法是按层选择精度。例如让视觉投影层和部分Attention层保留FP8,对容错空间较大的MLP权重使用INT4,再用同一组图文任务检查首字延迟、峰值内存和输出稳定性。商汤Sage、vivo蓝心3B等模型都需要结合具体后端调参,无法靠一份通用量化脚本解决。
多Agent测试也不能直接替代多模态验证。《3B模型在端侧能跑多少个Agent?实测不同量化方案的推理损耗》里的数据,可以用来观察量化开销,但图像Token带来的预填充压力仍要单独测试。
KV Cache决定长对话会不会突然卡住
多轮图文对话会持续积累上下文。此前的图片信息和文本Token进入KV Cache后,后续生成虽然免去了重复计算,却增加了缓存读取量。对话越长,这部分压力越明显。
有三处可以直接动手:
- 4-bit KV Cache:把原本以FP16保存的缓存压到4-bit。理想情况下,单元素存储量降到原来的四分之一,但仍需验证图像问答和长文本生成是否出现明显误差。
- 视觉Token剪枝:在Vision Encoder输出后,先给Token做重要性评分,再把低贡献内容送入语言模型之前剔除。剪枝如果发生得太晚,视觉信息已经写入缓存,节省效果会很有限。
- PagedAttention端侧适配:把KV Cache分页管理,减少长对话中的内存碎片和重复分配。手机端还要考虑页大小、分配器与内核调度开销,不能照搬服务器配置。
这三项处理的是同一件事:减少每轮推理需要搬运和保留的数据。权重量化负责模型本身,Token剪枝缩短预填充,KV Cache压缩控制后续解码,分页管理则避免长对话中的瞬间抖动。
Arm v10和NPU之间,还隔着编译器
谈到Arm v10、SME2与手机NPU时,需要先区分执行单元。SME2属于Arm CPU侧的矩阵扩展;NPU能否高效执行FP8或INT4,要看芯片自身的数据类型支持、编译器和算子库。模型文件转成FP8,只完成了第一步。
骁龙8 Gen 5与苹果A系列芯片使用不同的NPU和软件后端,部署时至少要检查三件事:量化算子是否原生执行、矩阵运算是否完成融合、张量布局是否引发额外转换。任何一处发生算子回退,200毫秒的目标都可能重新变成秒级等待。
21经济网2026年6月23日的报道提到,苹果约200亿参数的AFM 3 Core Advanced采用稀疏架构,每次推理只激活部分参数;同一报道还提到,Google的Gemini Nano由更大的Gemini模型蒸馏而来。稀疏激活和蒸馏都在模型结构阶段减少工作量。只有后端能够按需读取权重、执行稀疏算子,这些设计才会转化为真实的延迟收益。
200毫秒,先把测试口径说清
宣称首字延迟从2秒降到200毫秒,至少要保证设备、模型版本、输入图片和上下文一致。测试记录还应说明图片尺寸、视觉Token数量、冷启动或热启动、量化配置,以及测量的是TTFT还是整段回答时间。手机温度和连续运行状态也不能省略,否则一次短测试很难代表日常体验。
可执行的优化顺序很清楚:先用性能分析工具找到数据搬运最重的阶段,再做FP8与INT4混合量化,随后压缩视觉Token和KV Cache,最后处理算子融合、内存布局与硬件后端适配。
3B级多模态模型要稳定接近200毫秒,靠的是整条链路同时收紧。少读权重,少留无效Token,少发生算子回退。峰值算力给出性能上限,内存链路决定用户究竟要等多久。