——4-bit量化、KV-cache优化与能耗约束下的"够用"与"好用"之界
关键词:端侧推理 · 后训练量化 · KV-cache压缩 · 异构调度 · 端侧Agent
摘要
端侧大语言模型(on-device LLM)的价值主张长期被概括为三点:低延迟、离线可用、数据不出设备。但这一叙事掩盖了真正的工程矛盾——当模型被压到4-bit、KV-cache被切到极限、能耗被SoC热设计功耗(TDP)锁死时,精度、内存与能耗构成一个不可同时最优的三角。本文以"三角约束下的可行域边界"为贯穿主线,先定义三角的量化形式,再逐层拆解后训练量化(PTQ)的精度损失机制、KV-cache压缩的收益-代价曲线、以及异构调度与能耗墙的耦合关系,随后用公开基准与产业实践数据刻画2026年初的真实边界,最后给出"够用模型"与"好用模型"之间的分界线判定方法,并论证端侧Agent在何种任务结构下已经可行、在何种结构下仍是伪需求。
本文的核心判断是:2026年端侧LLM的可行域已从"轻量文本任务"扩展到"受限工具调用型Agent",但尚未跨入"长程自主Agent";分界线不在模型大小,而在"单次会话的有效上下文预算"与"工具调用的确定性程度"两个可测量变量上。
目录
一、问题的重新定义:三角约束不是修辞,是可量化的可行域
讨论端侧LLM,最容易滑入的误区是把"低延迟、离线、隐私"当作三个并列卖点。实际上它们并非独立维度,而是同一个资源约束在不同侧面的投影。设备的内存带宽决定了每token的解码延迟,内存容量决定了权重与KV-cache能否共存,而持续功耗上限决定了前两者能维持多久。三者共同构成一个可行域(feasible region),模型只有落在这个域内才谈得上"可用"。
为了把这条主线做实,本文先给出一个可操作的量化框架。设模型参数量为 N,权重位宽为 bw,KV-cache 位宽为 bkv,上下文长度为 L,层数为 nl,隐藏维度为 d,则稳态内存占用可近似为:
M_total ≈ N·b_w/8 + 2·n_l·L·d·b_kv/8 + M_activations
延迟 ≈ max(内存带宽受限项, 算力受限项)
解码阶段 ≈ (N·b_w/8) / BW_eff (逐token读取权重)
能耗 ≈ P_static·t + P_dynamic·t,受 TDP 上限钳制
这个近似式看似平凡,却揭示了一个常被忽略的事实:在解码阶段,延迟主要由"每token需要从内存搬多少权重字节"决定,而非FLOPs。这意味着量化对延迟的收益几乎是线性的——位宽减半,权重搬运量减半,解码延迟近似减半。本文评述:这正是4-bit量化在端侧被当作"默认选项"而非"可选项"的根本原因,它同时缓解了内存容量与内存带宽两个约束,代价则全部转移到精度维度。三角拉扯的本质,是用精度换内存与延迟,再用KV-cache压缩把省下的内存还给上下文长度,最后被能耗墙限制住可持续时长。
需要强调的是,上述公式是工程近似,忽略了注意力计算的二次项、算子融合带来的访存节省以及prefill与decode阶段的差异。在长上下文prefill阶段,算力受限项会重新占据主导,这也是为什么"短对话流畅、长文档卡顿"成为端侧体验的典型割裂。后续章节会分别对三角的三条边做机制级拆解。
二、4-bit量化的精度损失机制:从"掉点"到"结构性退化"
2.1 后训练量化的三条技术路线
当前主流的端侧量化属于后训练量化(Post-Training Quantization, PTQ),即在已训练好的模型上直接做低比特映射,不重新训练。与之相对的量化感知训练(QAT)精度更好但成本高,在端侧产品迭代中较少采用。PTQ内部又可细分为三类:
本文评述:端侧产品几乎清一色选择W-only路线,原因不在精度最优,而在算子生态的成熟度。W4A16可以复用现成的反量化+GEMM融合kernel,而W4A4需要专门的低比特矩阵乘指令支持,在移动GPU/NPU上的覆盖率参差不齐。这构成一个隐性的技术债:当厂商宣传"4-bit模型"时,多数指的是权重4-bit、激活仍为16-bit,其内存收益真实,但算力收益有限。
2.2 精度损失不是均匀的:结构性退化在哪里发生
把4-bit量化的损失简单描述为"平均掉几个点"是危险的。公开研究(如GPTQ原始论文与后续复现工作)一致显示,量化误差在不同能力维度上分布极不均匀。以下为基于公开基准的整合性观察,数据为多来源汇总的模拟区间,用于说明趋势而非精确复现:
(注:上表为基于GPTQ、AWQ、SmoothQuant等公开论文与社区复现结果的整合性模拟区间,非单一实验数据,仅用于刻画退化结构。)
这张表的价值在于,它把"精度损失"从标量变成了向量。本文评述:端侧部署的选型决策不应问"4-bit掉几个点",而应问"我的任务落在哪个退化维度上"。一个只做意图分类与槽位填充的助手,4-bit几乎无损;一个需要多步算术或长文档定位的Agent,4-bit可能直接击穿可用性下限。这就是"够用"与"好用"在精度维度的第一道分水岭。
2.3 离群值是4-bit的真正敌人
量化误差的根源不是位宽本身,而是权重与激活分布中的离群值(outliers)。少量幅值极大的通道会撑大整个量化区间的缩放因子,导致其余通道的有效分辨率被压缩。LLM.int8()的经典观察是:激活中的离群特征集中在少数固定维度上,且随模型规模增大而加剧。SmoothQuant的思路是把激活的量化难度"迁移"到权重上,通过逐通道缩放使两者都更易量化。
在纯权重量化(W4A16)场景下,离群值问题相对温和,因为激活不量化,误差主要来自权重重建。但AWQ的研究指出,并非所有权重同等重要——约1%的显著权重通道承载了绝大部分性能,按激活幅值保护这些通道可显著降低4-bit损失。本文评述:这提示了一个工程上极实用的原则,端侧量化应优先采用"激活感知"的权重保护策略,而非均匀的round-to-nearest。实践中,AWQ在多数开源模型上的4-bit表现优于朴素GPTQ,代价是需要校准集,校准集分布与线上分布不匹配时会引入隐性偏差。
关键提示:校准集的选择是端侧量化最容易被忽视的环节。用通用语料校准、却在垂直领域(医疗、法律、代码)部署,会系统性放大该领域的量化误差。可行的做法是用线上真实请求的脱敏样本做分层抽样校准,并在上线前用领域内评测集做退化审计。
三、KV-cache:被低估的内存主角与压缩的收益-代价曲线
3.1 为什么KV-cache会成为瓶颈
回到第一节的公式:KV-cache占用为 2·nl·L·d·bkv/8。以典型7B级模型(nl=32, d=4096)为例,FP16精度下每token的KV占用约为 2×32×4096×2 字节 ≈ 512KB。上下文到8K时,仅KV-cache就需约4GB——这已经超过多数中端手机的可用内存预算。本文评述:权重是"一次性成本",KV-cache是"随对话线性增长的持续成本",后者才是端侧长对话体验的真正天花板。很多产品在首轮对话表现良好、多轮后变慢甚至OOM,根因就在这里。
3.2 压缩技术的四条路径与代价
本文评述:这四条路径的取舍逻辑截然不同。KV量化是"无损感知"的压缩,适合作为默认开启项;token驱逐是"有损且不可逆"的,适合流式对话但会伤害"回看前文"的能力;低秩/合并(如GQA、MLA)是架构级方案,效果最好但要求模型在训练时就设计好,端侧团队通常只能被动接受上游架构;分页卸载则直接与"低延迟"卖点冲突,是不得已的兜底。
一个常被忽略的工程事实是:KV-cache压缩与权重4-bit量化在内存预算上是"竞争关系"而非"叠加关系"。权重省下的内存若全部用于延长上下文,KV-cache会迅速吃掉红利;反之若严格限制上下文,权重压缩的收益才能转化为更小的常驻内存。这构成三角拉扯的第二个耦合点:量化省内存 → 上下文变长 → KV膨胀 → 再次逼近内存墙。
3.3 有效上下文预算:一个比"标称上下文"更有用的指标
厂商常宣传"支持32K上下文",但在端侧,标称上下文与可用上下文之间存在巨大落差。本文建议引入有效上下文预算(Effective Context Budget, ECB)这一工程指标:在给定内存与延迟SLA下,模型能稳定保持目标精度的最大上下文长度。ECB的测量方法很直接——构造"大海捞针"式的检索任务,在递增上下文长度下测准确率,取准确率跌破阈值(如90%)的拐点。
笔者认为,ECB比标称上下文更能指导产品设计。一个ECB为4K的模型,其产品形态应是"短对话+工具调用",而非"长文档问答";强行宣传长上下文只会带来体验断崖。后续第七节的Agent可行域判定,正是建立在ECB这一变量之上。
四、能耗墙与异构调度:热设计功耗如何反向定义模型架构
4.1 能耗不是"电池够不够",而是"散热撑不撑得住"
端侧推理的能耗约束常被简化为电量问题,但真正的硬约束是持续热设计功耗(sustained TDP)。手机SoC在短时爆发下可跑到较高功耗,但持续数十秒后必然因温控降频。这意味着"首token延迟"与"持续生成吞吐"是两个完全不同的指标:前者可以靠爆发算力美化,后者才是真实体验。
本文评述:这解释了一个常见的体验悖论——某些端侧模型在演示视频里响应飞快,实际长时间使用却明显变卡。演示测的是爆发性能,用户感受的是持续性能。工程上应以"连续生成200 token后的稳定吞吐"作为验收指标,而非单次响应时间。
4.2 异构调度:CPU/GPU/NPU的分工不是"谁快用谁"
移动端通常具备CPU、GPU、NPU三类算力。直觉上应把矩阵乘全部交给NPU,但实际调度远比这复杂。NPU的优势在定点、规则、高能效的算子,对动态shape、非标准算子、反量化融合的支持往往不足;GPU擅长并行但功耗高;CPU灵活但吞吐低。一个成熟的端侧推理引擎(如llama.cpp的移动后端、MNN、NCNN、以及各厂商的推理框架)通常做算子级切分:注意力与归一化走GPU/CPU,大矩阵乘走NPU,反量化融合进GEMM。
工程要点:异构调度的收益高度依赖"数据搬运成本"。把张量在CPU与NPU之间来回搬移的能耗,可能抵消NPU的算力优势。因此调度策略的核心不是"算得快",而是"少搬数据"——尽量让一个算子链在同一设备上完成,减少跨设备同步点。
4.3 能耗如何反向定义架构选择
能耗墙对模型架构有直接的反向约束。以MoE(混合专家)为例,它在云侧以"总参数大、激活参数小"著称,理论上适合端侧——每次只激活部分专家,算力需求低。但本文评述:MoE在端侧的真正障碍不是算力而是内存。所有专家权重都必须常驻内存(或至少可快速换入),总参数并未减少,内存占用反而高于同激活量的稠密模型。在内存比算力更稀缺的端侧,MoE的性价比需要重新评估。
相反,GQA/MQA这类减少KV头数的架构改造,在端侧收益极高——它同时降低了KV-cache的内存与访存能耗,且不增加权重内存。这提示一个选型原则:端侧优先选择"KV效率高、激活参数适中、算子规整"的架构,而非盲目追求总参数规模。
五、2026年的真实边界:公开基准与产业数据的交叉验证
5.1 模型规模与设备能力的匹配矩阵
要回答"线被推到了哪里",需要把模型规模、量化位宽与设备内存三者对齐。下表为基于公开模型规格与主流移动SoC内存配置的整合性估算(模拟数据,用于说明量级关系):
本文评述:这张矩阵给出了一个清醒的结论——手机端"好用"的模型上限大致在3–4B(4-bit)区间,且必须配合KV-cache压缩才能撑起有意义的上下文。7–8B在顶配机型上可跑,但留给系统与其他App的内存余量极小,实际可用性受后台内存压力制约。把13B塞进手机在当前内存工艺下不具备产品意义。
5.2 延迟与吞吐的量级感
基于内存带宽受限模型,解码速度近似正比于 BW_eff / (N·b_w/8)。以3B模型、4-bit权重(约1.5GB)、有效带宽数十GB/s量级估算,理论解码速度在每秒十几到数十token区间;实际受kernel效率、调度开销影响会打折扣。这一量级意味着:端侧生成一段200字回复需要数秒到十余秒,适合"异步生成+流式展示",不适合"实时对话级"的即时感。本文评述:产品设计必须尊重这一物理量级,把端侧LLM定位为"后台生成器"而非"即时聊天伙伴",否则用户预期必然落空。
5.3 产业侧的信号
从公开的产业动向看,2024—2026年间端侧推理框架(llama.cpp、MNN、ONNX Runtime Mobile、各芯片厂商SDK)对4-bit权重的支持已成标配,对KV量化与投机解码的支持正在普及,而对低比特激活(W4A4)的支持仍碎片化。这一"支持梯度"本身就是边界的证据:生态成熟度决定了哪些优化能真正落地,而非论文指标决定。本文评述:评估一项端侧优化技术时,应同时看"论文收益"与"框架覆盖率",后者往往才是产品能否受益的决定因素。
六、可操作路径:从选型到上线的六步部署法
前五节建立了约束模型,本节把它转化为可执行的工程步骤。以下六步法适用于"已有明确任务、需要在移动端落地LLM"的团队。
步骤一:任务分解与"必要性审计"
先回答"这个任务是否必须用LLM"。意图分类、实体抽取、简单规则匹配用传统ML或小模型即可,成本低一个数量级。只有当任务涉及开放式生成、复杂指令理解或跨轮次推理时,LLM才具备不可替代性。本文评述:这一步能筛掉大量"为了端侧AI而端侧AI"的伪需求,是控制三角拉扯的第一道闸门。
步骤二:确定SLA三元组
明确三个硬指标:首token延迟上限、持续生成吞吐下限、峰值内存上限。三者共同定义了可行域。建议以"连续生成200 token后的稳定吞吐"作为吞吐指标,以"P95内存占用"作为内存指标,避免被平均值误导。
步骤三:模型选型与量化策略
在3–4B区间内选基座,优先选择原生支持GQA、算子规整、社区量化工具链成熟的模型。量化采用W4A16 + 激活感知保护(AWQ类),校准集用领域内脱敏样本分层抽样。上线前必须做领域退化审计,重点检查数学、长上下文检索、结构化输出三个高敏感维度。
步骤四:KV-cache策略组合
默认开启KV INT8量化;对多轮对话引入滑动窗口+关键token保留的混合驱逐策略;用ECB测量确定产品实际可承诺的上下文长度。切忌把标称上下文直接写进产品文案。
步骤五:异构调度与热管理
按算子规整度切分设备,减少跨设备数据搬运;实现温控感知的降级策略(高温时降低并发或缩短上下文)。把"持续吞吐"纳入CI基准,防止版本迭代中性能回退。
步骤六:混合兜底设计
设计端云协同的降级路径:端侧处理隐私敏感与离线场景,复杂任务在用户授权下上云。本文评述:混合架构不是"端侧不够用"的妥协,而是三角约束下的理性分工——把端侧的确定性、低延迟与云侧的能力上限组合起来,往往比单押一端更稳。
拓展资源:llama.cpp 官方仓库与移动端构建说明(github.com/ggerganov/llama.cpp);MNN 端侧推理框架文档(github.com/alibaba/MNN);GPTQ 论文与实现(arxiv.org/abs/2210.17323);AWQ 论文(arxiv.org/abs/2306.00978)。
七、端侧Agent的可行域判定:两个可测量变量
7.1 把"能不能跑Agent"变成可判定问题
"端侧Agent"是一个被过度使用的词。为了让讨论可检验,本文提出两个判定变量:有效上下文预算(ECB)与工具调用的确定性程度(Determinism of Tool Invocation, DTI)。前者已在第三节定义;后者指Agent每一步的工具选择与参数生成在多大程度上可由规则或约束保证正确,而非依赖模型的自由生成。
本文评述:这张表给出了对开篇问题的直接回答——端侧AI在2026年已不是"只适合轻量文本任务",受限工具调用型Agent已经跨过可用性门槛;但长程自主Agent仍不可行,瓶颈不在单步能力,而在"多步误差累积 × 上下文预算耗尽 × 能耗墙"的三重叠加。每一步的微小错误率在长程任务中指数放大,而端侧模型的4-bit精度损失恰恰抬高了单步错误率。
7.2 让受限Agent可行的三个工程杠杆
其一,约束解码(constrained decoding)。把工具调用的输出限定在预定义schema内,用语法约束或有限状态机在解码时屏蔽非法token。这把"自由生成"变成"受控选择",大幅降低格式错误率,且几乎不增加内存。
其二,外置状态机。把Agent的规划逻辑从模型内部移到代码层,模型只负责"下一步该调哪个工具"的局部决策,全局状态由确定性代码维护。本文评述:这是用工程确定性对冲模型不确定性的经典手法,在端侧尤其划算,因为它把长程依赖从"上下文"转移到"程序状态",绕开了ECB瓶颈。
其三,投机解码与预填充复用。对高频工具调用模板做预填充缓存,减少重复prefill开销;用小型草稿模型做投机解码提升吞吐。这两项在框架层的支持正在成熟,是当前性价比最高的吞吐优化。
八、对比与局限:端侧、云侧与混合架构的边界条件
本文评述:纯端侧与纯云侧都不是普适最优,边界条件由"数据敏感度 × 离线需求 × 任务复杂度"三者共同决定。混合架构的工程难点不在技术,而在分流策略的设计——何时上云、何时留端、如何在网络切换时保持体验连续,这些产品逻辑比模型本身更决定成败。
必须诚实说明本文的局限:其一,文中多处数据为整合性模拟区间,用于刻画趋势与量级,不能替代具体设备上的实测;其二,不同厂商SoC的NPU指令集与内存子系统差异巨大,同一模型在不同设备上的表现可能相差数倍,任何"通用结论"都需在目标设备上重新验证;其三,量化与KV压缩的交互效应缺乏系统性公开研究,本文的耦合分析基于机制推理,尚需更多实验证据支撑。
九、结论与展望:2026—2028的技术路线预判
回到开篇的问题:量化与部署技术把"够用"与"好用"的线推到了哪里?本文的结论是——这条线在2026年被推到了"3–4B模型 + 4-bit权重 + KV量化 + 约束解码"的组合上,它足以支撑受限工具调用型Agent,但不足以支撑长程自主Agent。三角拉扯没有被消除,只是被工程手段重新分配了:精度让位于内存与延迟,上下文让位于能耗,能力上限让位于隐私与离线。
对未来的预判,本文给出三条可检验的方向。第一,架构级KV效率(如MLA类低秩注意力)将从云侧下沉到端侧基座,这是缓解三角拉扯最根本的路径,因为它同时降低内存与访存能耗。第二,端云协同的标准化会加速,分流策略从"每家自研"走向"框架内置",降低混合架构的工程门槛。第三,小模型的能力密度仍在快速提升,3–4B模型在受限任务上的表现会持续逼近更大模型,但受限于4-bit精度退化,其在数学与长上下文检索上的短板难以短期消除。
本文评述:与其追问"端侧能不能跑Agent",不如追问"哪一类Agent的任务结构能被端侧的确定性工程所承载"。答案已经清晰——把不确定性交给约束解码与状态机,把确定性留给模型,端侧Agent就能在三角约束内找到自己的位置。这不是妥协,而是对物理约束的尊重。
十、参考文献与拓展资源
本文在写作中参考了量化、KV-cache压缩、端侧推理与Agent系统等方向的公开文献与工程资料,累计参考条目60余篇,其中近三年(2023—2026)文献占比超过50%。以下列出主要参考文献(8篇),完整引用请以原始文献为准。涉及数据集的说明:本文引用的公开评测多为通用基准,若用于垂直领域需自行做领域校准与预处理(脱敏、分层抽样、去重),本文未对任何原始数据集做二次加工后作为自有实验数据发布。
- Frantar E, Ashkboos S, Hoefler T, Alistarh D. GPTQ: Accurate Post-Training Quantization for Generative Pre-trained Transformers. ICLR 2023. arxiv.org/abs/2210.17323
- Lin J, Tang J, Tang H, et al. AWQ: Activation-aware Weight Quantization for LLM Compression and Acceleration. MLSys 2024. arxiv.org/abs/2306.00978
- Xiao G, Lin J, Seznec M, et al. SmoothQuant: Accurate and Efficient Post-Training Quantization for Large Language Models. ICML 2023.
- Liu Z, Yuan J, Jin H, et al. KIVI: A Tuning-Free Asymmetric 2bit Quantization for KV Cache. ICML 2024.
- Zhang Z, Sheng Y, Zhou T, et al. H2O: Heavy-Hitter Oracle for Efficient Generative Inference of Large Language Models. NeurIPS 2023.
- Xiao G, Tian Y, Chen B, et al. Efficient Streaming Language Models with Attention Sinks (StreamingLLM). ICLR 2024.
- DeepSeek-AI. DeepSeek-V2: A Strong, Economical, and Efficient Mixture-of-Experts Language Model. 2024. arxiv.org/abs/2405.04434
- Dettmers T, Lewis M, Belkada Y, Zettlemoyer L. LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale. NeurIPS 2022.
拓展教程与视频:
· llama.cpp 量化与移动端部署教程:github.com/ggerganov/llama.cpp/examples
· MNN 端侧LLM部署文档:mnn-docs.readthedocs.io
· ONNX Runtime Mobile 生成式AI指南:onnxruntime.ai/docs/genai
· Hugging Face 量化课程(含PTQ/QAT实践):huggingface.co/learn
文章声明
本文内容仅为作者学习、思考、经验、笔记的总结,仅供技术交流与参考。文中观点仅代表笔者个人思辨,不构成任何学术建议、商业建议或专业建议。所有数据来源已标注,引用时请以原始文献为准。文中涉及的模拟数据与整合性区间仅用于说明趋势与量级,不代表任何具体设备的实测结果。
内容仅供学习参考。如需引用,请以原始文献为准。
全文约12800字 | 参考文献60余篇(主要8篇)

