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エクスポート:llama.cpp や Ollama で使用可能な GGUF 形式への変換を内蔵サポートしています。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト