>>17-18のAIは10年前には完成していました
今後さらに軽量化して大型モデルが使用できるのなら軽量化したAIが既に関していたことに成ります

10年前のXeonサーバーで最新AIが快適動作、GPUなしでも実用速度を実現した手法が解説される
2026年06月02日 21時00分
https://gigazine.net/news/20260602-gemma-4-on-2016-xeon/
>>ChatGPTのようなAIサービスは超高性能なAIサーバーによって稼働しており、ローカルAIを自宅や手元のサーバーで動かす場合も高性能GPUや大容量メモリを搭載した最新世代PCが必要だと考えがちです。しかし、2016年ごろのIntel Xeon、128GBのDDR3メモリ、GPUなしという古いサーバーで、26B規模のローカルAIを実用的な速度で動かしたという報告が登場しました。
>>報告したのはオープンソース開発者でNixOS Steering Committeeメンバーのcafkafk氏です。使用したマシンはIntel Xeon E5-2620 v4、8コア16スレッド、AVX2対応、AVX-512非対応、L3キャッシュ20MiB、DDR3メモリ128GB、GPUなしという構成とのこと。Intel Xeon E5-2620 v4は2016年第1四半期に発売されたCPUです。
>>ローカルAIで速度を決める最大の要素は、CPUの計算能力だけではありません。大規模言語モデルが次の単語に相当する「トークン」を1つ生成するたび、モデルの「重み」と呼ばれる巨大な数値データをメモリからCPUへ読み込む必要があります。補足すると、重みはAIが学習によって得た知識の本体のようなデータであり、推論時には膨大な重みを何度も読み出すことになります。
>>そのため、古いXeonでローカルAIを動かす場合の敵は「計算の遅さ」だけではなく「メモリ帯域の細さ」です。DDR3メモリは新しいDDR5メモリやGPUに搭載される高速メモリと比べると遅く、CPUが計算を終えても次に処理するデータがメモリから届かず待たされます。AI推論では、プロセッサが全力で計算しているというより、メモリから重みが運ばれてくるのを待っている時間が大きいというわけです。
>>cafkafk氏が採った方針は、古いハードウェアを力技で押し切るのではなく、推論エンジンの細かな設定を徹底的に調整するというものです。一般的なローカルAI実行ツールは手軽に使える一方で、内部の最適化設定を十分に変更できない場合があります。そこでcafkafk氏は、llama.cpp系の派生版であるik_llama.cppを使用しました。実際に動作させるための「魔法の呪文」は以下の通り。
>>中心になる工夫の1つが「投機的デコード」の利用を指定する以下のオプションです。投機的デコードは「小さな下書きモデルが先にいくつかのトークンを予想し、大きな検証モデルが予想を確認する」という手法で処理を高速化する仕組みです。大きなモデルを毎回最初から重く動かすより、小さな下書きモデルに一部を任せることで、メモリ読み出しの負担を減らすこともできます。
>>古いCPUでは計算能力よりもメモリ帯域が先に限界に達しやすいため、投機的デコードの効果が大きくなります。CPUの空いている計算資源で小さな下書きモデルを動かし、大きな検証モデルの重みをメモリから何度も引っ張る回数を減らすという発想です。GPUで力任せに回すのではなく、メモリ帯域という細い道をなるべく渋滞させないための工夫というわけ。
>>使用されたモデルはGemma 4 26B-A4B-itで、専門家混合モデル(MoE)と呼ばれる構造です。MoEは巨大なモデル全体を毎回すべて使うのではなく、多数のエキスパートと呼ばれる部分から必要なものだけを選んで使う仕組みで、Gemma 4 26B-A4B-itの場合は総パラメーター数25.2Bのうち約3.8Bです。
>>ただし、MoEをCPUで動かす場合はエキスパートの選び方も重要です。エキスパートが頻繁に切り替わると、CPUのキャッシュに載せたデータがすぐ不要になり、遅いメインメモリから別のデータを読み直すことになります。古いサーバーでAIを速く動かすには、キャッシュに載せたデータをできるだけ長く使い回す必要があります。
>>そのためcafkafk氏は、CPU向けにMoEの動きを調整する「--cpu-moe」や、エキスパート内部の計算をまとめる「--merge-up-gate-experts」を使用しています。通常であれば複数回に分かれる計算やメモリアクセスをまとめることで、DDR3メモリとの往復を減らす狙いです。ローカルAI高速化というより、メモリ移動を減らすための地道な交通整理に近い内容。
>>スレッド数の設定も重要です。使用マシンは8コア16スレッドですが、cafkafk氏は「-t 8」で物理コア数に合わせています。SMTによる16スレッドをすべて使えば速くなりそうですが、メモリ帯域が詰まっている状況ではスレッドを増やしても重みの読み出しは速くなりません。むしろスケジューリングの負担が増え、速度が伸びにくくなるとのことです。