世界を動かす技術を、日本語で。

13年前のXeonでGPUなしで5トークン/秒で「Gemma 4 26B」を実行する

2026年7月16日原文(neomindlabs.com)

概要

  • 13年前の HP StoreVirtualサーバー で最新AIモデルGemma 4を動作
  • AVX2非対応 のIvy Bridge Xeonで工夫して高速化
  • Claude によるコード修正とデバッグ事例
  • 5トークン/秒 の実用的な生成速度を達成
  • 古いハードウェア活用のノウハウと教訓

13年前のサーバーでGemma 4を動かす挑戦

  • ハードウェア :HP StoreVirtual(Xeon E5-2690 v2×2、DDR3、GPUなし、AVX1のみ対応)
  • モデル :Gemma 4 26B-A4B(MoE)、Q8_0量子化
  • パフォーマンス :デコード約5.2トークン/秒、プロンプト評価約16トークン/秒
  • コスト :サーバー本体は$300未満
  • 目的 :GPUやクラウドに頼らず、古いエンタープライズ機材で最新AIを動かす実践例

きっかけと参考事例

  • Hacker News で「A 10 year old Xeon is all you need」という記事が話題に
    • 2016年製Broadwell XeonでGemma 4をGPUなしで動作
    • ik_llama.cppと多くの最適化フラグを駆使
  • 自分の環境 (Ivy Bridge Xeon)はさらに古く、AVX2非対応
  • 最初はビルド失敗、Claudeに原因調査を依頼

問題の分析と解決までの流れ

  • 失敗原因 :ik_llama.cppの高速カーネルがAVX2/FMA3専用で、Ivy Bridgeでは命令セットが未対応
  • Claudeの支援 :パフォーマンスクリティカルなC++コードを解析し、AVX2未対応CPU向けにフォールバックルートを実装
  • 自分の役割 :実験・出力確認・「正しい」結果の判断

主な技術的課題

  • GGML_USE_IQK_MULMATオフ時、MoE FFNの一部演算が未サポートで正常動作しない
  • 症状 :多言語のランダムな出力(ID分布が均一、意味不明な文章)
  • 原因特定 :未初期化メモリがhidden stateに混入し、softmaxがフラット化
  • 修正内容
    • AVX2依存の部分をスカラーループに書き換え
    • グラフビルダーがAVX1/スカラーパスで動作するよう分岐追加
    • CI用スタブの修正・追加でビルドエラー解消

実行方法と再現手順

  • ハードウェア :Xeon E5-2690 v2(Ivy Bridge、AVX1のみ)、DDR3、GPUなし
  • ビルド :ik_llama.cppをGGML_USE_IQK_MULMATオフでコンパイル
  • モデル :Gemma 4 26B-A4B, Q8_0
  • ラン :通常のCPUフラグで起動、--run-time-repackは使わない(AVX2専用レイアウトになるため)
  • 結果 :CPUオンリーで約5トークン/秒、コストほぼゼロ

この事例が示すもの

  • サブスクリプション課金 やGPU利用が「AIに強い」の本質ではない
  • 本当のスキル は「パッケージ化されていない問題にモデルを適用し、答えの妥当性を自力で見極める力」
  • 古い機材の再活用 によるコスト削減・耐障害性の向上
  • コードリーディングと粘り強い検証 が重要

技術的詳細(バグ内容と修正ポイント)

  • ik_llama.cpp (ikawrakowのllama.cppフォーク)でGemma 4のMoE推論最適化
  • AVX2未対応CPU でGGML_USE_IQK_MULMATオフ時、特定のgraph op(MOE_FUSED_UP_GATE、FUSED_UP_GATE)が未対応
  • 修正
    • スカラーパスで各演算を分割し、既存の非IQK実装で処理
    • #if !GGML_USE_IQK_MULMATで分岐し、AVX2ビルドは従来通り
    • CI用スタブの署名・include修正
  • パフォーマンスコスト :2回のmatmul-ID呼び出しだが、CPUは元々メモリ帯域制約なので実害小

まとめと提案

  • 古いエンタープライズ機材 でも工夫次第で最新AIモデルが実用速度で動作
  • サブスクリプション依存からの脱却、ローカルモデルの価値
  • コードを読む力、問題特定・修正までの粘り強さ が今後ますます重要
  • PRスレッド でのフィードバック歓迎
  • Railsアプリや古いDB の延命も同じスピリットで対応可能

参考情報

  • サーバーコスト :$300未満でクラウド月額$1,500に対抗
  • 静音化・起動プロジェクト も別途紹介あり

Hackerたちの意見

作者です。どうやら私の元のコメントが何かの理由でフラグが立てられたみたい。修正は上流でPR #2138としてオープンしてるよ。(https://github.com/ikawrakow/ik_llama.cpp/pull/2138)

それはかなり遅いね。13年前のCPUで8-12 t/s出てるよ。(スピードはコンテキストサイズや他の設定によって変わるし、誰がわかるんだろう) https://news.ycombinator.com/item?id=48354801

共有してくれてありがとう!

OPはQ8を使ってるのに、あなたはQ4を使ってるの?

いくつかの異なるモデルを256GBのDDR4を搭載したデュアルXeonで、GPUなしで動かしたレポートだよ。 https://gist.github.com/hparadiz/f3596d00a62d8ebb2dadcc46ee5...

共有してくれてありがとう!

NUMAペナルティをなくすために、シングルCPUで試してみた?メモリは半分になるかもしれないけど、どれくらいの違いが出るか興味あるんだ。

彼が自分の地下室のセットアップを見せてくれたんだ。マジでヤバい!次は3Dプリンターの話をしてよ!

予想があるんだけど、2027年の半ばには、基本的な消費者ハードウェアで200B以上のMoEモデルが動いてると思う。今、16GBのMacでQwen3.6-35B-A3Bをローカルで動かしてて、7-9トークン/秒出てるよ。リンク - https://github.com/deepanwadhwa/samosa-chat これは16GB RAMのMacBook Airで decentなスピードで動いてるGPT4レベルのモデルだよ。

自分の16GBのMacでQwen3.6-35B-A3Bをローカルで動かしてるけど、7-9トークン/秒だよ。リンク - https://github.com/deepanwadhwa/samosa-chat それをローカルで使わずに作ったのはちょっと残念だね、別の協力者がいたみたいだし ;) 代わりにそのモデルとツールを使って作ったものを見せてよ。本当に試してみて。きっと途中でいろいろ発見があると思うよ!

decent speed でも、あなたは7-9トークン/秒って言ってたじゃん、それは decent speed じゃないよ。自分は専門家じゃないけど、ローカルでの実験では12から16トークン/秒未満は遅すぎると思う。

熱はどう? どんな重い作業をローカルでやると、すぐにシステムが熱くなるのに気づいたよ。

Hacker Newsで議論の続きを見る