このプロジェクトについて

bitnet.cppは、BitNet b1.58などの1ビットLLM向けの公式推論フレームワークです。CPUおよびGPU上で1.58ビットモデルの高速かつロスレスな推論を可能にすることを目的とした、最適化されたカーネル群を提供します。NPUサポートは今後対応予定とされています。このプロジェクトはllama.cppフレームワークに基づいており、そのカーネルはT-MACで開拓されたルックアップテーブル方式を基に構築されています。 READMEに記載されている主な機能は以下の通りです: - 3値/1ビットモデルのCPU推論。ARM CPUでは1.37倍~5.07倍、x86 CPUでは2.37倍~6.17倍の高速化が報告されており、フル精度モデルと比較してエネルギー削減はARMで55.4%~70.0%、x86で71.9%~82.2%と報告されています。 - 100B BitNet b1.58モデルを単一CPUで実行可能で、速度は人間の読書速度(5~7トークン/秒)に相当するとされています。 - 2025年5月に公式GPU推論カーネルがリリースされました。 - I2_SおよびTL1を含む量子化タイプ。カーネルのサポートはモデルおよびアーキテクチャ(x86 vs ARM)によって異なります。 - ヘルパースクリプトを使用した.safetensorsチェックポイントからGGUFへのモデル変換。 - ベンチマークユーティリティ(e2e_benchmark.py)と、サポートされていないレイアウト用のダミーモデル生成器。 - 指示チューニング済みモデル向けのチャット/会話モード。 公式モデルとしては、BitNet-b1.58-2B-4T(2.4Bパラメータ、4Tトークンで学習)、BitNet-embedding-0.6B、BitNet-embedding-270Mが挙げられています。サポートされているコミュニティモデルには、bitnet_b1_58-large、bitnet_b1_58-3B、Llama3-8B-1.58-100B-tokens、Falcon3およびFalcon-Eファミリーが含まれます。 インストールにはPython 3.10+、CMake 3.22+、Clang 18+が必要で、condaが推奨されています。ビルド手順は、リポジトリを再帰的にクローンし、Python依存関係をインストールし、モデルをダウンロードし、選択した量子化タイプでsetup_env.pyを実行することを含みます。推論はrun_inference.pyを通じて実行され、プロンプト、トークン数、スレッド、コンテキストサイズ、温度、会話モードのオプションがあります。 READMEには、llama.cppのstd::chronoエラーやWindowsのconda環境でのclang設定など、一般的なビルド問題を扱うFAQも含まれています。このプロジェクトはMITライセンスの下で公開されています。