CPU環境でGemma4-26B-A4Bを動かしたときのメモ

TL;DR

  • Gemma4-26B-A4Bは日本語がQwen3.5より自然でよき
  • 24GB RAM + 4コア CPUで動作
  • コンテキストが多くなってくるとCPUのみでは少し厳しい(8kくらいが限界)

環境

Oracle Cloud InfrastructureのAlways Free枠で構築したAmpere A1 Computeを利用

  • OS: Oracle Linux 9
  • CPU: 4コア
  • RAM: 24GB

手順

1. llama.cppをビルド

1
2
3
git clone https://github.com/ggml-org/llama.cpp
cmake -B build -DGGML_NATIVE=ON -DBUILD_SHARED_LIBS=OFF
cmake --build build --config Release -j$(nproc)

2. モデルのダウンロード

1
2
cd models/
wget https://huggingface.co/unsloth/gemma-4-26B-A4B-it-GGUF/resolve/main/gemma-4-26B-A4B-it-UD-Q4_K_M.gguf

3. 実行

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
~/llama.cpp/build/bin/llama-server \
  --host 127.0.0.1 --port 8080 \
  -m ~/llama.cpp/models/gemma-4-26B-A4B-it-UD-Q4_K_M.gguf \
  --jinja \
  --threads 4 \
  --ctx-size 8192 \
  --no-mmap \
  --cache-type-k q8_0 \
  --cache-type-v q8_0 \
  --temp 1.0 \
  --top-p 0.95 \
  --top-k 64 \
  --chat-template-kwargs '{"enable_thinking":false}'
  • ctx-size 8192:コンテキストは8kくらいが限界そう(メモリも生成速度も)
  • cache-type-k q8_0, cache-type-v q8_0:指定するとメモリ消費量が結構減った
  • temp 1.0, top-p 0.95, top-k 64:公式のおすすめパラメータ
  • chat-template-kwargs '{"enable_thinking":false}':思考モードはオフ

結果

パフォーマンス

コンテキスト量で変わるが、だいたい 6~10 token/sec くらいの生成速度だった ちょっとした用途なら普通に使えるレベル