Cocktail: Chunk-Adaptive Mixed-Precision Quantization for Long-Context LLM Inference
总览
Cocktail 提出一种以「上下文分块」为粒度的自适应混合精度量化框架,用于压缩长上下文推理中的 Key-Value 缓存。方法先依据查询–上下文块相似度为每块分配不同位宽,再通过重排与定制计算核提升显存利用率和吞吐率。与统一位宽或逐 token 搜索的方法相比,Cocktail 在多款模型和长文本基准上显著降低显存与延迟,同时保持甚至略优于 FP16 的准确率。(arxiv.org)
1 背景与动机
当前 LLM 的上下文长度不断增长,KV-cache 规模随之爆炸;例如 Llama-13B 在 128 K 上下文下需约 100 GB 显存,仅存储 KV-cache 即超出单张 A100 显存上限。
统一量化(INT4/INT8 等)会对关键 token 精度造成不可逆损失;逐 token 混合精度虽能改善,但搜索复杂度高且混合位宽导致 GPU 访存效率低。(arxiv.org)
论文观察:在长文本检索场景中,只有少量上下文块与查询高度相关,其余块可低精度存储而影响极小。(themoonlight.io)
2 关键设计
2.1 分块与相似度评估
固定分块:将上下文按等长 token 切分为若干块,块大小与模型隐层维度无关,便于后续统一处理。(themoonlight.io)
向量化编码:使用 Contriever 等语义检索编码器分别得到查询和每块的嵌入向量。(themoonlight.io)
余弦相似度:
sim(q,ci)=q⋅ci∥q∥ ∥ci∥\text{sim}(q,c_i)=\frac{q\cdot c_i}{\|q\|\,\|c_i\|}
得到相似度序列后,提取极值 smin,smaxs_{\min},s_{\max}。(themoonlight.io)
自适应阈值:
Tlow=smin+α(smax−smin),Thigh=smax−β(smax−smin)T_{\text{low}} = s_{\min} + \alpha(s_{\max}-s_{\min}),\quad T_{\text{high}} = s_{\max} - \beta(s_{\max}-s_{\min})
论文默认 α=0.6, β=0.1\alpha=0.6,\ \beta=0.1。阈值随批次动态计算,无需额外超参搜索。(themoonlight.io)
2.2 位宽分配策略
这种三档策略在保证高相关块精度的同时,将冗余信息压缩到最低位宽,整体显存缩减超过统一 INT4。(arxiv.org, themoonlight.io)
2.3 块级 KV-cache 计算优化
重排原则:在预填阶段,将同位宽块物理上连续排列:
[INT2][INT4][FP16]
,避免不同位宽混杂导致的数据错位和额外缓存行访问。计算流程:
依次用 Q 分别乘 INT2、INT4、FP16 三段 K ,得到三段注意力得分;
拼接后加掩码并做 softmax;
将 softmax 结果拆回三段,分别乘对应 V ,再求和输出;
论文证明此重排不改变最终矩阵乘法结果。
硬件友好:同位宽连续存储使每次访存对齐 GPU cache line,大幅降低 miss 率和闲置字节浪费。
3 实现细节
4 实验评价
4.1 设置
模型:Llama2-7B/13B、Mistral-7B、LongChat-7B。
数据集:LongBench 含 Qasper、QMSum、MultiNews 等八项任务。
指标:F1、ROUGE、分类准确率;硬件指标包括 GPU 内存占用、TPOT(每生成 token 时间)。
4.2 结果
Cocktail 在准确率略高于 FP16 的同时,显存压缩约 20 %,推理延迟减少逾 45 %。
吞吐:在批量推理中,Cocktail 的 tokens/s 随 batch 增长可达 FP16 的 1.5–1.9 倍,优于其他混合精度方案。(themoonlight.io)
消融:去除搜索或重排任一模块,准确率或硬件指标显著劣化,验证两个模块缺一不可。
5 优势与局限
优势
搜索一次即可通用于相同查询–上下文对的所有 decode 步,无需在线更新。
重排保证内存对齐,解决了混合位宽常见的访存碎片问题。
局限
分块大小、α、β 需手动设定,跨任务或极端上下文分布时可能需重新调参。(themoonlight.io)
依赖额外编码器,虽然一次性,但对极端低延迟部署仍是额外开销。(themoonlight.io)
目前只在 KV-cache 量化层面优化,尚未结合剪枝或动态稀疏 attention。(arxiv.org)
6 未来工作
引入可变块长或自回归更新策略,使位宽分配随对话上下文演化动态调整。(arxiv.org)
与 GPTQ-like 权重量化、MoA 稀疏注意力等方法组合,实现全链路压缩。(github.com)
探索更细粒度 INT3、混合定点浮点格式,进一步平衡精度与硬件友好度。(arxiv.org)
参考资料说明
turn0search0–turn0search9:多域检索结果概览
turn1view0、turn3view0、turn4view0:来自 ArXiv PDF 原文
turn5view0:Moonlight 论文解读
turn7view0:ResearchGate 页面
上述来源均用于交叉验证论文方法和实验数据,保证信息准确完整。