FujitsuResearch/OneCompression

Python package for LLM compression

Fujitsu One Compression (OneComp) – 简介

OneComp 是一个 Python 库,让您可以压缩大型语言模型 (LLMs),使其在不损失太多精度的情况下,放入 GPU(甚至 CPU/MPS 设备)的内存中。您只需运行单个命令即可使用:

onecomp meta-llama/Llama-2-7b-hf

或通过 Python 使用 Runner.auto_run()。此工具会自动:

  1. 检测您的 VRAM 容量。
  2. 选择适合的各层位宽(例如 4-bit、3-bit、sub-1-bit)。
  3. 使用先进的训练后量化技术对模型进行量化。
  4. 评估量化后的模型并将结果写入磁盘。

核心功能 (如 README 所述)

功能 说明
Quantization Error Propagation (QEP) 在标准训练后量化后,QEP 将量化误差向前传递至网络,让后续层级进行补偿,从而提高精度。
Layer-Projected Coordinate Descent (LPCD) 一种灵活的 PTQ 框架,通过解决松弛优化问题并将解投影回各层量化器,可量化任意子模块。
AutoBit 混合精度量化,将位宽分配公式化为整数线性规划,自动选择最佳的各层位宽以符合 VRAM 预算。
JointQ 同时优化权重量化和缩放因子,支持分组量化(例如 groupsize = 128 的 4-bit 量化)。
MDBF (Multi-Envelope Double Binary Factorization) 一种激进的二元因子量化器,将每个权重矩阵表示为带符号二元矩阵与 FP16 “信封”的总和,实现 sub-1-bit 压缩,并可选择 ADMM/梯度细化。
Block-wise PTQ 针对 FP16 教师模型进行逐块蒸馏,减少中间表示误差。
LoRA SFT Post-Process 使用 LoRA 适配器对量化模型进行微调,以恢复精度或添加领域知识。
Rotation Preprocessing 在量化前学习旋转矩阵 (SpinQuant/OstQuant) 以减少误差;旋转会在加载时写入权重中。
vLLM Plugin Integration 内置插件让您可以使用高性能 vLLM 推理引擎提供量化模型服务,并可搭配 Open WebUI 实现本地 ChatGPT 风格界面。
GGUF Export & Hugging Face Hub 将模型转换为 GGUF v3 格式 (用于 llama.cpp/Ollama),并可将量化检查点推送到 Hugging Face Hub,并附带描述量化配方的模型卡。
Web Dashboard (HPC) 用于在 HPC 集群上启动量化作业、监控进度及测试聊天推理的 Web UI。

支持的模型系列

该库已在 Llama (1-3)、Qwen3 (最高 32B)、Gemma (2-4)、GPT-OSS (20B & 120B) 以及 Qwen3.6 (最高 35B) 上进行测试。其他与 Hugging Face 兼容的模型可能可以使用,但未经官方验证。

安装与使用

  • 终端用户 – 安装 PyTorch (CPU、CUDA 或 macOS MPS) 然后运行 pip install onecomp。可加入 distributed 选项以支持多 GPU DeepSpeed。
  • 开发者 – 仓库建议使用基于 Rust 的 uv 工具来建立可重现的环境,并包含 CUDA 版本、vLLM、可视化、文档等额外功能。
  • 运行 – CLI (onecomp <model-id>) 或 Python API (Runner.auto_run) 可处理从加载校准数据到保存量化检查点的一切流程。

文档与资源

  • 完整文档:https://FujitsuResearch.github.io/OneCompression/
  • 教程笔记本 (Jupyter/Colab) 介绍 RTN 可视化、Runner.auto_run 以及 vLLM 聊天推理。
  • 示例脚本涵盖所有功能 (GPTQ, QEP, LPCD, AutoBit, LoRA SFT, vLLM serving 等)。
  • 学术参考:关于 QEP 的 NeurIPS 2025 论文以及关于 LPCD 的 arXiv 2025 论文。

适用对象

  • 需要评估 LLM 低位量化方法的研究人员。
  • 希望在单个 GPU 或 CPU/MPS 机器上运行大型模型的工程师。
  • 任何希望使用 vLLM 和 Web UI 在本地部署量化模型的人。

总结: OneComp 是一个真正用于大型语言模型训练后量化的生产级工具包,提供了一系列先进算法,并与主流推理堆栈无缝集成。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目