FujitsuResearch/OneCompression

Python package for LLM compression

解决的问题

OneCompression (OneComp) 提供了一个完全自动化的大型语言模型(LLM)压缩流水线,可在不显著牺牲准确率的前提下,减少模型的内存占用和硬件需求。它将复杂的量化过程——选择比特宽度、应用算法、评估结果——简化为一个流畅的工作流。

工作原理

OneComp 使用多种事前训练量化(PTQ)技术来降低模型权重的精度。其 AutoBit 功能可自动检测可用的 GPU VRAM,并据此确定每层的最佳比特宽度。关键技术方法包括:

  • 量化误差传播(QEP):通过将误差传播到后续层来纠正误差。
  • 层投影坐标下降(LPCD):一种用于在任意子模块上优化量化的统一框架。
  • MDBF(多包络双二值因子分解):利用二值因子分解实现激进的亚1比特压缩。
  • 旋转预处理:使用 SpinQuant/OstQuant 学习最优旋转矩阵,在量化过程开始前降低量化误差。
  • 后处理:提供块级蒸馏和 LoRA SFT 微调,以在量化后恢复准确率。

适用人群

专为希望在 VRAM 有限的本地硬件上部署 LLM 的开发者和研究人员设计,也适合希望实验先进量化算法以实现高效模型部署的用户。

主要亮点

  • 一键自动化:通过简单的 CLI 命令或 Python API 自动量化模型。
  • vLLM 集成:内置插件支持通过 vLLM 高效服务量化模型。
  • 混合精度支持:根据内存预算自动为每层分配比特宽度。
  • 广泛架构支持:已验证支持 Llama、Qwen、Gemma 和 GPT-OSS 架构。
  • GGUF 导出:内置支持将模型转换为 GGUF 格式,用于 llama.cpp 和 Ollama。

相关

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