分离式量化:特化 LLM Prefill 与 Decode
Prefill 与 decode 对量化的诉求截然不同:低精度算术加速 prompt 处理,紧凑权重则降低生成时的访存开销。我们提出 disaggregated quantization (DQ),为这两个阶段分别特化计算格式、权重与存储放置。 仅在 decode 阶段移除激活量化,即可在不增加推理成本的前提下提升 decode 密集型任务的准确率;训练独立的 compute-native prefill 权重,能相对 weight-only 推理加速 prompt 处理,并在 2-3-bit decode 下于两类任务上持平或超越其准确率。 在已发布的 Qwen3.8-27B GGUF decoder 上训练 NVFP4 prefiller,无需改动 decode checkpoint,MMLU-Pro 的 1-bit 准确率提升 32.5 分、MMMU-Pro 提升 35.3 分。为在单设备容纳额外 checkpoint,offloaded disaggregated prefill (ODP) 从 SSD 流式加载权重并按 prompt 长度摊销开销,同款 27B 模型在 llama.cpp 中 8K prompt 下相较 weight-only 基线取得 1.78x 的 TTFT 加速。我们还在 vLLM 的 disaggregated serving 下评估准确率,并通过至多 2.8T 参数模型上的 PTQ 验证共享权重的格式分离。
论文精读
TL;DR 将 LLM 推理的 prefill 与 decode 阶段量化策略解耦,prefill 用低精度算术加速、decode 用紧凑权重省内存,在 27B 模型上以 1-bit 精度提升 32.5 点 MMLU-Pro 并实现 1.78 倍 TTFT 加速。
问题
问题背景
当前 LLM 推理优化聚焦于分离 prefill 和 decode 阶段的资源瓶颈:prefill 受算术吞吐限制,decode 受显存带宽限制。量化作为同时降低计算量与内存占用的主流手段,其最优配置在两个阶段可能存在冲突。
现有方法局限
主流量化方案通常对整个模型采用统一位宽与格式,未区分两阶段工作负载差异:
- 权重/激活量化 同时作用于 prefill 和 decode,解码阶段激活量化会引入额外精度损失,却因解码算术强度低而无明显加速收益。
- 仅权重量化 虽利于 decode 的内存压缩,但 prefill 阶段仍需将低精度权重反量化至高精度计算,无法利用低精度算术加速 prompt 处理。
- 单一 checkpoint 无法同时满足 prefill 的算力友好格式与 decode 的内存友好格式,导致精度-速度权衡受限。
为什么难/重要
两阶段硬件约束相反:prefill 是 compute-bound,需要低精度矩阵乘法;decode 是 memory-bound,权重位宽直接决定带宽压力。若为 prefill 单独训练低精度权重,会带来额外存储和加载成本,且必须与既有 decode checkpoint 保持兼容,避免重训或精度回退。业界对长 prompt 下的 TTFT 优化和 2–3 bit 低比特部署精度高度关注,该问题直接影响推理成本和用户体验。
行业类比
这类似于在线推理服务中将 prompt 编码与 token 生成拆分到不同实例或硬件,并为每个阶段选择独立的量化策略,而不是强迫二者共用同一套压缩方案。
核心洞察
- 量化目标函数随推理阶段分解:prefill 阶段受计算吞吐限制,低精度算术(如 NVFP4)能直接加速矩阵乘;decode 阶段受内存带宽限制,权重压缩程度比激活量化更重要。现有工作通常为整个模型寻找统一量化格式,或仅针对单一阶段优化,而该工作显式训练两套专用权重,让 prefill 和 decode 各自采用最优格式,避免折中损失。
- 分解量化将权重、计算格式与存储位置一同按阶段特化,使 prefill 权重可针对低精度 GEMM 训练,decode 权重保持高度压缩(如 2–3 bit GGUF),且无需修改已部署的 decode 检查点即可提升整体准确率。更关键的是通过 SSD 流式加载 prefill 权重(ODP),将额外检查点的加载成本摊销到 prompt 长度上,在单卡上实现 1.78× TTFT 加速,为分离式推理部署提供了可行的存储方案。
方法
输入与阶段划分
输入为一个预训练 LLM(如 Qwen 3 / Gemma 3),推理被明确分为两个阶段:prefill(计算密集,低精度算术可加速 prompt 处理)和 decode(内存带宽受限,紧凑权重可减少数据搬运)。
关键模块:量化策略解耦
DQ 的核心是对两个阶段使用不同的量化格式、权重和存储位置:
- decode 侧:使用 weight-only 量化(如 2–3 bit GGUF 权重),并且移除激活量化,因为激活量化在 decode 阶段带来的精度损失超过其收益,移除后可提升 decode-heavy 任务准确率且不增加推理成本。
- prefill 侧:训练独立的 compute-native 权重(如 NVFP4),利用低精度算术加速 prefill,同时通过量化感知蒸馏(QADD)或训练后量化(PTQ)保持准确率。
- 存储与加载:为在单设备容纳两套 checkpoint,提出 offloaded disaggregated prefill (ODP),prefill 权重从 SSD 流式加载,加载延迟按 prompt 长度摊销,从而在 llama.cpp 中实现 8K prompt 长度下 1.78× 的 TTFT 加速。
输出与部署
最终输出为一个可在 vLLM / llama.cpp 中部署的 disaggregated 服务:decode 阶段使用紧凑的 weight-only 权重,prefill 阶段切换至 compute-native 权重。在 27B 模型上,训练 NVFP4 prefiller 配合已有 GGUF decoder,MMLU-Pro 提升 32.5 分,MMMU-Pro 提升 35.3 分,且无需修改 decode checkpoint。
与同类方法的差异
不同于所有阶段共用同一量化格式的传统方案,DQ 将量化策略与推理阶段显式解耦,分别针对算术吞吐(prefill)和内存带宽(decode)进行最优配置。
实验
实验设计
作者在 Qwen 3 与 Gemma 3 模型上验证 disaggregated quantization (DQ) 的两种变体:
- 格式分离:在 decode 阶段移除激活量化,降低 decode-heavy 任务的误差;
- 完全分离:训练独立的 NVFP4 prefill 权重,同时保留 decode 端的 2–3 bit 权重。
针对单设备部署,提出 offloaded disaggregated prefill (ODP),将 prefill 权重从 SSD 流式加载,按 prompt 长度摊薄加载开销。在 llama.cpp 上测量 prefill 速度,在 vLLM 中评估聚合服务下的准确率,并用 post-training quantization (PTQ) 在高达 2.8T 参数的模型上验证共享权重格式分离的泛化性。
关键发现
- 移除 decode 阶段激活量化提升 decode-heavy 任务准确率,且不增加推理成本。
- 训练独立 prefill 权重在 2–3 bit decode 下匹配或超过 weight-only 推理的准确率,同时加速 prompt 处理。
- 对于已发布的 Qwen3.8-27B GGUF decoder,训练 NVFP4 prefiller 在不修改 decode checkpoint 的情况下,将 1-bit 准确率提升 +32.5 (MMLU-Pro) 和 +35.3 (MMMU-Pro)。
- ODP 在同模型 8K prompt 下实现 1.78x 的 time-to-first-token 加速。
与基线对比
传统 weight-only quantization 在 decode 阶段虽节省内存带宽,但 prefill 阶段计算密度低;DQ 通过为 prefill 引入低精度算术专用权重,解决了这一矛盾。与 baseline 相比,DQ 在低比特 decode 下显著提升准确率,且不牺牲 decode 端紧凑性;ODP 进一步挑战了单设备上多 checkpoint 存储的限制,证明从 SSD 流式加载 prefill 权重仍可带来实质加速。该工作展示了 phase-aware 量化 在 LLM 服务中的工程潜力。
行业影响
落地场景
Disaggregated Quantization (DQ) 适用于长上下文、低延迟要求的 LLM 推理场景,如 RAG 问答、实时对话系统、代码补全 和 企业知识库检索。电商平台的智能客服需要快速处理长提示词,DQ 将 prefill 与 decode 分别量化,可在相同硬件下降低 TTFT(首 token 延迟);内容平台的摘要生成、教育领域的个性化辅导、金融领域的文档审阅也能受益于解码精度不降的同时加速提示处理。
商业价值
主要价值体现在降本与体验提升。通过为 prefill 训练独立低精度权重,可在不修改 decode 权重的情况下提升 1-bit 精度(MLLU-Pro +32.5 点),同时利用 Offloaded Disaggregated Prefill (ODP) 从 SSD 流式加载权重,减少对 GPU 显存的占用,使单卡可服务更大模型或更长上下文。对云推理服务商,这直接降低每请求硬件成本;对终端用户,TTFT 加速 1.78 倍(8K prompt)可显著改善交互体验,从而提升留存与付费意愿。
与现有产品/工作流接口
DQ 可集成进 vLLM 与 llama.cpp 等主流推理框架。现有的 GGUF 量化 decoder checkpoint 可直接保留,只需额外训练或生成一个 compute-native prefill checkpoint 并存储于本地 NVMe SSD,通过 ODP 按需加载。对已部署 weight-only 量化的服务,升级路径较为平滑:保持 decode 侧不变,仅增加 prefill 侧的权重与调度逻辑,避免大规模重新训练或重新量化。
具体用例:
- 电商实时客服:在高并发、长上下文的售前咨询场景中,使用 DQ 可降低首响应时间,同时保持回复准确率,减少 GPU 集群规模。
- 医疗报告总结:医院或远程医疗平台对长篇病历做摘要时,prefill 阶段较长;DQ 可加速报告生成,且 decode 阶段不损失医学信息精度。
局限
- **存储与带宽开销**:需要为 prefill 和 decode 分别维护不同格式的权重 checkpoint,增加了存储需求。虽然提出 offloaded disaggregated prefill (ODP) 从 SSD 流式加载以缓解单设备内存压力,但 SSD 带宽可能成为新的瓶颈,尤其在高并发或长 prompt 场景下,加载延迟可能抵消部分加速收益。
- **静态分离假设**:将 prefill 和 decode 完全解耦并固定使用不同量化格式,但实际生产中请求负载的 prefill/decode 比例是动态变化的。固定的权重格式可能无法适应变化的负载结构,例如 prefill-heavy 或 decode-heavy 的突发流量,需要额外的调度或自适应机制来动态切换权重,增加了部署复杂性。
- **训练成本与泛化性**:训练 compute-native prefill 权重需要量化感知蒸馏(QADD),引入额外训练开销。论文仅在 Qwen 3 和 Gemma 3 系列模型上验证了主要结果,虽然后续有 PTQ 扩展到 2.8T 参数,但大规模验证仅针对 shared-weight format disaggregation,未充分证明 fully-disaggregated 训练方法在其他架构和更大规模上的有效性。