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()。此工具会自动:
- 检测您的 VRAM 容量。
- 选择适合的各层位宽(例如 4-bit、3-bit、sub-1-bit)。
- 使用先进的训练后量化技术对模型进行量化。
- 评估量化后的模型并将结果写入磁盘。
核心功能 (如 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 是一个真正用于大型语言模型训练后量化的生产级工具包,提供了一系列先进算法,并与主流推理堆栈无缝集成。
相关
- 项目
- 项目
- 项目
- 项目
- 项目