OSS探訪

PyTorch modelを8bit・4bitへquantizeし、LLM inferenceやQLoRA trainingのmemory使用量を抑える

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
8,510
主要言語
Python
ライセンス
MIT
リポジトリ最終更新
2026/09/07
ページ内ナビ

概要

bitsandbytesはPyTorch向けのk-bit quantization libraryです。LLM.int8による8bit inference、QLoRA向け4bit quantization、8bit optimizerを提供し、model inferenceやtrainingで必要なmemoryを削減します。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

LLM.int8でmodel weightを8bit化してinference memoryを削減する

大部分を8bitで扱いながらoutlierを16bit matrix multiplicationへ分離する方式で、large language model inferenceのmemory footprintを抑えます。

出典:[1]

4bit quantizationとQLoRAでmemory効率のよいfine-tuningを行う

4bit weightとtrainable LoRA parameterを組み合わせるQLoRA workflowを支え、大規模modelのfine-tuningに必要なmemoryを削減できます。

出典:[1]

8bit optimizerとquantized linear layerをPyTorchへ組み込む

bitsandbytes.optimのoptimizerやLinear8bitLt、Linear4bitなどを通じて既存PyTorch codeへquantized operationを導入できます。

出典:[1]

向いている用途

VRAM/RAM制約下でより大きなmodelを推論・学習したい場合に向く

single GPU、workstation、CPU backendなどでmodel memoryを削減し、通常precisionでは収まらないmodelを扱いたい用途に向きます。

出典:[1]

導入前の確認

Python 3.10+とPyTorch 2.4+を前提にする

0.50.2 READMEは全platform共通のminimumとしてPython 3.10以上、PyTorch 2.4以上を示しています。

出典:[1]

acceleratorごとにsupport matrixとperformanceが異なる

CPU、NVIDIA CUDA、AMD ROCm、Intel XPU、Gaudi、Apple Siliconなどで対応状況が異なり、一部featureはpartialまたは未optimizedです。target hardwareのstable release matrixを確認します。

出典:[1][2]

memory削減だけでなくlatency・精度・kernel互換性を評価する

quantizationはmodelとoperationにより性能や品質の影響が変わります。Transformers/PEFT等のversionを固定し、代表datasetと実hardwareで回帰testします。

出典:[1][2][3]

参考にした公式資料

  1. [1]bitsandbytes 0.50.2 README(2026-10-03)
  2. [2]bitsandbytes 0.50.2 release(2026-10-03)
  3. [3]bitsandbytes MIT license(2026-10-03)
編集部からの補足

VRAMやRAM制約で大きなmodelを扱いたい場合に有効ですが、quantization方式とhardware backendで速度・精度・対応operationが変わります。採用時は対象modelと実hardwareでmemory削減だけでなくlatencyと品質も測定してください。

3ステップで試す

  1. 1

    bitsandbytes 0.50.2をisolated環境へ導入する

    Python 3.10+環境へstable releaseを固定して導入します。PyTorch 2.4+が必要です。

    python3 -m venv .venv && . .venv/bin/activate && python -m pip install bitsandbytes==0.50.2
  2. 2

    導入versionを確認する

    modelをdownloadせず、local package metadataからversionだけを確認します。

    python -c "import importlib.metadata; print(importlib.metadata.version('bitsandbytes'))"
  3. 3

    quantized layer APIを読み込む

    modelや外部serviceを使わず、8bit/4bit layer APIをimportできることを確認します。実利用前にはtarget acceleratorのsupport matrixを確認してください。

    python -c "import bitsandbytes as bnb; print(bnb.nn.Linear8bitLt, bnb.nn.Linear4bit)"
公式READMEで確認

成長

成長の推移 · 直近30日

8,510 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
0
Open PR
46

開発アクティビティを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • llm
  • machine-learning
  • pytorch
  • qlora
  • quantization
Stars
8,510
Forks
937
Watchers
53
Open Issues
48
Contributors
129
所有者種別
Organization
主要言語
Python
ライセンス
MIT
リポジトリ最終更新
2026/09/07

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?