HQQ(Half-Quadratic Quantization,半二次量化)是一种快速、免校准的大语言模型权重量化方法,支持 8/4/3/2/1 比特精度,并提供多种优化后端。
用途 HQQ 适用于以下场景:在没有校准数据(无需数据集)的情况下量化模型;需要快速量化(分钟级,而 GPTQ/AWQ 通常需要数小时);使用 vLLM 或 HuggingFace Transformers 进行部署;使用 LoRA/PEFT 对量化模型进行微调;以及进行极端量化实验(2 比特、1 比特)。
主要能力 免校准:无需样本数据即可即时量化任意模型。 多后端:提供 PyTorch、ATEN、TorchAO、Marlin、BitBlas 等后端以优化推理。 灵活精度:支持 8/4/3/2/1 比特,并可配置分组大小(group size)。 框架集成:原生支持 HuggingFace 与 vLLM。 PEFT 兼容:可通过 LoRA 微调量化模型。
使用方式 安装: pip install hqq 按后端安装:pip install hqq[torch]、pip install hqq[torchao]、pip install hqq[bitblas]、pip install hqq[marlin]。
基础量化:使用 hqq.core.quantize 中的 BaseQuantizeConfig 配置 nbits、group_size、axis,再用 HQQLinear 替换 nn.Linear 层。
结合 HuggingFace 量化完整模型:使用 transformers 的 HqqConfig 与 AutoModelForCausalLM.from_pretrained 加载并量化模型。
核心概念:BaseQuantizeConfig 定义量化参数(nbits 为每权重比特数 1-8,group_size 为每组权重数,axis 为 0 输入维/1 输出维);支持按层类型配置混合精度;HQQLinear 是替换 nn.Linear 的核心量化层,可访问 W_q、scale、zero,并可 dequantize() 反量化检查。
后端:可选 pytorch(默认)、pytorch_compile、aten、torchao_int4、gemlite、bitblas、marlin,可通过 HQQLinear.set_backend 全局或按层设置。后端选择参考:pytorch 兼容任意 GPU;pytorch_compile 需 torch>=2.0;aten 需 CUDA GPU;torchao_int4 需安装 torchao;marlin 适合 Ampere+ GPU 的 4 比特最大速度;bitblas 支持灵活比特宽度。
HuggingFace 集成:可加载 Hub 上预量化模型,也可量化后 save_pretrained 保存并 push_to_hub 推送;支持通过 dynamic_config 实现按注意力层与 MLP 层的混合精度量化。
vLLM 集成:使用 vllm 的 LLM 并设置 quantization="hqq" 加载 HQQ 量化模型,也可传入自定义 quantization_config。
PEFT/LoRA 微调:加载量化模型后应用 LoraConfig 与 get_peft_model,可使用 Trainer 进行 QLoRA 风格训练。
量化工作流:包括快速模型压缩(配置、加载量化、验证质量、保存)与推理速度优化(量化、设置快速后端、torch.compile、基准测试)。
最佳实践:从 4 比特开始;使用 group_size=64;合理选择后端(4 比特 Ampere+ 用 Marlin,灵活性用 TorchAO);量化后验证生成质量;混合精度时保持注意力层较高精度、更多压缩 MLP;PEFT 训练使用 LoRA r=16-32。
常见问题:量化时显存不足可逐层量化(device_map="sequential");推理慢可切换优化后端或 torch.compile;2 比特质量差可使用更小 group_size(如 16)。
适用场景与限制 适用:无校准数据的模型压缩、快速量化部署、极端低比特实验、量化模型微调。 替代方案:AWQ 适合需要基于校准的精度与生产服务;GPTQ 适合有校准数据时追求最大精度;bitsandbytes 适合简单的 8/4 比特且无需自定义后端;llama.cpp/GGUF 适合 CPU 推理与 Apple Silicon 部署。
资源 仓库:https://github.com/mobiusml/hqq 论文:Half-Quadratic Quantization HuggingFace 模型:https://huggingface.co/mobiuslabsgmbh 版本:0.2.0+ 许可证:Apache 2.0
相关技能:gguf-quantization、gptq、quantizing-models-bitsandbytes。