他の人たちがこれに気づいてくれて嬉しいな。俺は2012年のXeonで16GBから24GBのRAMを使って、Gemma 26B-A4B Q4をコンテナで動かしてるんだけど、1秒あたり8から12トークンくらい出てるよ。もちろん、大きなコンテキストと比べると全然だし、GPUで動かすのに比べるとllama.cppの画像デコーダーはめっちゃ遅いけど、小さな自動化タスクや一般的なトリビアの質問にはそこそこ使えるよ。スピードも十分で、終わるのを待たずに読み進められるしね。これが俺のセットアップだよ。自分のCPUに合った最適化、例えばAVX2を調べてみるといいかも。俺のはほとんど対応してなかったから。MTPも試してみたけど、パフォーマンスが良くならなかったな。キャッシュやコンテキストのバッチサイズをいじってみたり、Q2のためにもっと低くしたり、スレッドのオーバーコミットは避けた方がいいけど、デフォルトかllama-benchを試してみるのがいいと思う。これが最高だとは思わないけど、俺にはそこそこ機能したし、たまにGemmaをQwenに変えたりもしてるよ。q8_0をq4_0に下げてコンテキストを増やすこともできるけど、質が落ちるって言う人もいるし、俺もいくつかのモデルでそれを感じたことがある。
ビルド
cmake -B build -DCMAKE_BUILD_TYPE=Release -DGGML_NATIVE=ON -DGGML_BLAS=ON -DGGML_BLAS_VENDOR=OpenBLAS -DGGML_OPENMP=ON
実行
export OPENBLAS_NUM_THREADS=4
export OMP_NUM_THREADS=4
OPENBLAS_NUM_THREADS=4 OMP_NUM_THREADS=4
llama.cpp/build/bin/llama-server -hf unsloth/gemma-4-26B-A4B-it-GGUF:UD-Q4_K_XL --temp 1.0 --top-p 0.95 --top-k 64 --min-p 0.00 --jinja --host 0.0.0.0 --port 8080 --cache-type-k q8_0 --cache-type-v q8_0 --threads 4 --threads-batch 4 --ctx-size 8192 -n 8192 --batch-size 2048 --ubatch-size 512 --no-mmap --mlock --chat-template-kwargs '{"enable_thinking":false}' --no-mmproj -np 1 -fa 1