kv-cache-int8量化
什么是kv-cache-int8量化
KV-Cache-INT8量化是针对大模型推理中KV缓存(Key-Value Cache)的优化技术,核心是将KV缓存数据从16位浮点(FP16/BF16)量化为8位整数(INT8),以减少显存占用,提升长序列生成效率。
kv-cache-int8是实验特性,在部分场景下性能可能会劣于非量化。
约束限制
- 当前支持per-tensor和per-channel静态量化。
- 支持kv-cache-int8量化和FP16、BF16、w8a8、w4a16的组合。
- kv-cache-int8量化支持的模型为Qwen3-32B、Qwen2.5-70B。
- 如使用per-channel静态量化,请安装适配后的llm-compressor工具和compressed-tensors工具。
per-tensor/per-channel静态量化场景
- 使用llm-compressor量化工具进行量化。
- 修改社区示例脚本中的recipe配置,进行权重的量化,如w8a8c8量化可参考以下配置:
recipe = [ SmoothQuantModifier(smoothing_strength=0.5), GPTQModifier(targets="Linear", scheme="W8A8", ignore=["lm_head"], kv_cache_scheme={"num_bits": 8, "type": "int", "strategy": "channel", "dynamic": False, "symmetric": True}) ]
- 启动kv-cache-int8-per-tensor量化服务。
参考启动推理服务,在使用OpenAI接口或vLLM接口启动推理服务时添加如下参数。
--kv-cache-dtype int8