CPU推論の高速化に重点を置いたllama.cppのフォーク。追加の量子化方式や、GGUF LLMをローカルで実行する機能を備えています。
google/gemma.cpp
GoogleのGemmaモデルをCPUで実行する、軽量でスタンドアロンなC++推論エンジン。
- スター
- 7,079
- フォーク
- 673
- 未解決の Issue
- 52
- 最終コミット
- 16 時間前
これは何?
gemma.cppは、Gemma-2、Gemma-3、PaliGemma-2モデル向けのミニマルなC++推論エンジンです。実験や研究を目的としており、デプロイ向けのC++ランタイムとPythonベースのMLフレームワークの中間に位置づけられます。読みやすく、変更や他のプロジェクトへの組み込みが容易な、小規模なコア実装を備えています。
Google Highwayによる移植性の高いSIMDを利用し、CPUのみで推論を実行します。カスタムfp8形式、bf16、f32、非一様4-bit量子化などの重み圧縮を行列乗算に直接統合しています。また、Gemmaの研究向けに逆伝播とAdam optimizerも備えています。
単一クエリとバッチクエリに対応したストリーミング機能付きのC++ API、基本的な対話型コマンドラインアプリ、pybind11経由のPythonバインディングを提供します。重みはKaggleからダウンロードし、Linux、Windows、macOSではCMakeまたはBazelを使ってビルドできます。
主な機能
- 01Gemma-2、Gemma-3、PaliGemma-2の推論をCPUで実行します。
- 02fp8、bf16、4-bit NUQなどの重み圧縮をGEMMに統合しています。
- 03移植性の高いSIMDと実行時のISA選択にGoogle Highwayを使用します。
- 04単一およびバッチ推論に対応した、ストリーミング機能付きのC++ APIを提供します。
- 05基本的な対話型CLIとpybind11によるPythonバインディングを備えています。
- 06研究向けに逆伝播とAdam optimizerを備えています。
ユースケース
- Gemmaモデルの低レベルな推論最適化を試す。
- 小規模なローカルLLMランタイムをC++アプリケーションに組み込む。
- 研究目的で、CPUのみのマシン上でGemmaまたはPaliGemmaモデルを実行する。
- コンパクトで読みやすいLLM実装を学ぶ。
クイックスタート
- 1
CMake と Clang C++ コンパイラ(C++17 以降)をインストールします
- 2
Kaggle からモデルの重みと tokenizer をダウンロードし(gemma2-2b-it-sfp を推奨)、アーカイブを展開します
tar -xf archive.tar.gz - 3
CMake で gemma 実行ファイルを構成してビルドします
cmake --preset make - 4
tokenizer と重みのファイルを指定して gemma を実行します
./gemma --tokenizer tokenizer.spm --weights gemma2-2b-it-sfp.sbs
使う前に知っておきたいこと
- 推論は CPU のみで、GPU はサポートされていません。
- 同意フォームへの同意後、Kaggle からモデルの重みをダウンロードする必要があります。
- Windows でネイティブにビルドするには、clang-cl を含む Visual Studio Build Tools が必要です。代わりに WSL の使用を推奨します。
- 本番環境へのデプロイではなく、実験や研究向けに設計されています。
トピック
よくある質問
- gemma.cpp とは?
- GoogleのGemmaモデルをCPUで実行する、軽量でスタンドアロンなC++推論エンジン。 gemma.cppは、Gemma-2、Gemma-3、PaliGemma-2モデル向けのミニマルなC++推論エンジンです。実験や研究を目的としており、デプロイ向けのC++ランタイムとPythonベースのMLフレームワークの中間に位置づけられます。読みやすく、変更や他のプロジェクトへの組み込みが容易な、小規模なコア実装を備えています。
- gemma.cpp は無料で使えますか?ライセンスは?
- gemma.cpp は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- gemma.cpp は今もメンテナンスされていますか?
- 活発にメンテナンス中。gemma.cpp の最終コミットは 2026年11月6日 です。
- gemma.cpp は何に使えますか?
- Gemmaモデルの低レベルな推論最適化を試す。 小規模なローカルLLMランタイムをC++アプリケーションに組み込む。 研究目的で、CPUのみのマシン上でGemmaまたはPaliGemmaモデルを実行する。 コンパクトで読みやすいLLM実装を学ぶ。
- gemma.cpp のインストール方法は?
- CMake と Clang C++ コンパイラ(C++17 以降)をインストールします Kaggle からモデルの重みと tokenizer をダウンロードし(gemma2-2b-it-sfp を推奨)、アーカイブを展開します: tar -xf archive.tar.gz CMake で gemma 実行ファイルを構成してビルドします: cmake --preset make tokenizer と重みのファイルを指定して gemma を実行します: ./gemma --tokenizer tokenizer.spm --weights gemma2-2b-it-sfp.sbs
- gemma.cpp はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/google/gemma.cpp
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
GPUやBLASを使わず、ディスクからエキスパートをストリーミングして、単一CPUで2.78兆パラメータのKimi K3を動かすC99推論エンジン。
llama.cppをベースにした、1-bit(ternary、1.58-bit)LLM向けMicrosoft公式のCPU/GPU推論フレームワーク。
量子化と最適化カーネルにより、Whisper、Llama、NLLBなどのTransformerモデルを高速かつ省メモリで実行するC++・Pythonライブラリ。
シンプルで移植性と効率性に優れ、最小限のセットアップで使える、機械学習向けの純粋なC/C++テンソルライブラリ。
Gemma、Qwen、DeepSeek、gpt-ossなどのオープンモデルをローカルやクラウドで実行できるCLI・REST API・各種ライブラリ。