bitsandbytes: PyTorch向けのkビット量子化ライブラリで、LLMの推論とトレーニングにおけるメモリ消費を削減

bitsandbytes: PyTorch向けのkビット量子化ライブラリで、LLMの推論とトレーニングにおけるメモリ消費を削減

What it solves

大規模言語モデル(LLM)の実行とトレーニングに必要なメモリ要件を削減し、VRAM/RAMが限られたハードウェアでも実行可能にすることでアクセス性を向上させます。

How it works

このライブラリはPyTorch向けのkビット量子化プリミティブを提供し、以下の3つの主要な方法を使用します:

  • 8-bit Optimizers: ブロックワイズ量子化を使用し、パフォーマンスを維持しながら最適化のメモリコストを大幅に削減します。
  • LLM.int8(): 推論のための8ビット量子化を可能にし、ほとんどの特徴に対してベクトルワイズ量子化を使用し、外れ値に対して16ビット行列乗算を使用してパフォーマンスの低下を防ぎます。
  • QLoRA: トレーニングのための4ビット量子化を実装し、量子化と低ランク適応(LoRA)の重みを組み合わせて効率的なファインチューニングを可能にします。

Who it’s for

PyTorchを使用している開発者および研究者で、消費者向けまたはリソースが限られたハードウェア上で大規模モデルをデプロイまたはファインチューニングする必要がある方々。

Highlights

  • 4ビットおよび8ビット量子化プリミティブのサポート。
  • Linux、Windows、macOSにおけるNVIDIA、AMD、Intel GPUおよびCPUを含む広範なハードウェアアクセラレータサポート。
  • Hugging Faceエコシステム(Transformers, Diffusers, PEFT)との統合。
  • モデルのパフォーマンスを維持しながらメモリを節約する技術。

Sources