bitsandbytes-foundation/bitsandbytes
Accessible large language models via k-bit quantization for PyTorch.
何を解決するか
大規模言語モデル(LLM)の実行および学習に必要なメモリを削減し、VRAM/RAMが限られたハードウェアでも実行可能にするため、よりアクセスしやすくなります。
仕組み
このライブラリはkビット量子化を使用してモデル重みと最適化器状態を圧縮します。主に以下の3つの方法を提供します:
- 8ビット最適化器:ブロック単位の量子化を使用して、32ビットのパフォーマンスを維持しながら最適化器のメモリコストを削減します。
- LLM.int8():推論用の8ビット量子化手法で、大部分の特徴に対してベクトル単位の量子化を行い、外れ値に対しては16ビット行列乗算を使用してパフォーマンスの低下を防ぎます。
- QLoRA:学習用の4ビット量子化手法で、モデルを4ビットに圧縮し、小さな学習可能な低ランク適応(LoRA)重みを追加します。
対象ユーザー
消費向けハードウェアや限られた計算リソース上で大規模モデルを実行または微調整したい開発者や研究者です。
特徴
- 4ビットおよび8ビット量子化プリミティブのサポート。
- NVIDIA、AMD、Intel GPUおよびCPUを含む、Linux、Windows、macOSにおける広範なハードウェア対応。
- Hugging Face Transformers、Diffusers、PEFTなどの人気ライブラリとの統合。
関連
- プロジェクト
pytorch/aoTorchAO は、PyTorch ネイティブの量子化ライブラリで、最小限のコード変更でモデルを圧縮・高速化できます。float8 トレーニング、int4/int8 推論、精度回復のための量子化対応トレーニングをサポートし、一般的なワークロードで最大 1.5〜2 倍の高速化を実現します。
- プロジェクト
Xilinx/brevitas効率性を最適化するためのニューラルネットワーク量子化を、訓練後の量子化と量子化対応学習の両方でサポートするPyTorchライブラリです。
- プロジェクト
- プロジェクト
intel/neural-compressorIntel Neural Compressor 是一个用于压缩 PyTorch 和 JAX 模型的开源 Python 库。它支持静态/动态量化、FP8、仅权重、SmoothQuant、混合精度以及 AutoRound 驱动的调优,目标硬件包括 Intel CPU、Xeon GPU 和 Habana Gaudi 加速器(对 AMD/NVIDIA 支持有限)。通过 `pip install neural-compressor-pt`(或 `-jax`)安装,使用配置准备模型、校准,并转换为适合快速推理的低精度版本。
- プロジェクト
vllm-project/llm-compressorLLM Compressor 是一个 Python 库,用于量化和压缩大型语言模型,以便通过 vLLM 实现快速、低内存推理。它支持多种低位格式(FP8、FP4、INT4)、多种算法(GPTQ、AWQ、AutoRound、REAP),并可通过磁盘卸载和 DDP 处理数万亿参数模型。该库直接与 Hugging Face 检查点集成,以 `compressed-tensors` 格式保存模型,并提供即用示例和预压缩检查点。