介绍
前言
LLM Compressor,作为 vLLM 项目 中面向高效提供 LLM 服务的一部分,将最新的模型压缩研究整合到一个统一的开源库中,使用户能够以极低的工作量生成高效的压缩模型。
该框架使用户能够应用最新的模型压缩技术研究来提升生成式 AI(gen AI)模型的效率、可扩展性和性能,同时保持准确性。借助对 Hugging Face 和 vLLM 的原生支持,压缩后的模型可以集成到部署流水线中,从而以更低成本在大规模场景下提供更快的推理。
LLM Compressor 允许你执行量化、稀疏化和压缩等模型优化技术,以减少内存占用、模型大小,并在不影响模型响应准确性的前提下提升推理性能。LLM Compressor 支持以下压缩方法:
- 量化:将模型权重和激活值转换为更低比特位格式,例如 int8,从而减少内存使用。
- 稀疏化:将模型权重的一部分置为零,通常采用固定模式,以实现更高效的计算。
- 压缩:缩小保存的模型文件大小,理想情况下对性能的影响最小。
将这些方法结合使用,可以在资源受限的硬件上更高效地部署模型。
LLM Compressor 支持多种压缩技术:
- 仅权重量化(W4A16)将模型权重压缩到 4 位精度,适用于硬件资源有限或对延迟高度敏感的 AI 应用。
- 权重和激活量化(W8A8)将权重和激活值都压缩到 8 位精度,面向整数和浮点格式的通用服务器场景。
LLM Compressor 支持多种压缩算法:
- AWQ:仅权重
INT4量化 - GPTQ:仅权重
INT4量化 - FP8:按 token 动态量化
- SparseGPT:训练后稀疏化
- SmoothQuant:激活量化
有关压缩算法和格式的更多信息,请参阅 文档 以及 llmcompressor 仓库中的示例。 这些压缩方法都会为权重和激活值计算最优的 scale 和 zero-point。优化后的 scale 可以按 tensor、channel、group 或 token 进行设置。最终结果是一个已应用所有量化参数的压缩模型。