GPUなしでも大丈夫!「CPU推論」でローカルLLMを動かす限界と設定術
01. はじめに
「ローカルLLMには高性能なGPUが必要」というのが定説ですが、実は必ずしもそうではありません。Ollamaが優れている点は、GPUがない環境(例えばIntel CPUのノートPCや、VPSの安価なプラン)でも、純粋なCPU演算だけで動くように設計されていることです。
「でも、遅くて使い物にならないんでしょ?」と思われるかもしれません。確かにGPT-4のような速度は出ませんが、適切なモデルと設定を選べば、実用レベルの速度を出すことは十分に可能です。本記事では、GPUレス環境でLLMと戦うための戦略を伝授します。
02. CPU推論の現実(速度はどう?)
一般的なCPUでのLlama 3 (8B) の生成速度は、おおよそ3〜5 tokens/sec程度です。
これは、人間が文字を読む速度よりは少し遅いですが、チャットの返答を待てないほどではありません。短い質問やコードの生成であれば、数秒〜十数秒で結果が返ってきます。GPU環境が「リアルタイム対話」なら、CPU環境は「メールの返信待ち」くらいの感覚です。
03. 快適に動く軽量モデル 3選
CPU環境での鉄則は「パラメータ数の小さなモデルを選ぶこと」です。パラメータ数が半分になれば、速度は倍になります。おすすめは以下の3つです。
1. Phi-3 mini (3.8B)
Microsoft製の傑作です。3.8Bという小ささながら、推論能力はLlama 2の7Bを超えます。CPUでも秒間10〜15トークン出るため、サクサク動きます。
2. Gemma 2 (2B)
Googleの軽量モデル。驚くほど軽く、Raspberry Piのような環境でも動作報告があります。
3. Qwen 2 (1.5B / 0.5B)
中国Alibaba製ですが、日本語能力が非常に高いです。0.5B版ならどんな古いPCでも爆速で動きます。
04. AVX2/AVX-512による高速化
Ollamaはバックエンドでllama.cppを利用しており、CPUの拡張命令セット(AVX2やAVX-512)を自動的に使って高速化します。
特に設定は不要ですが、古いCPU(10年以上前のもの)などでAVX2に対応していない場合は極端に遅くなる可能性があります。最近のRyzenやCore iシリーズであれば、ハードウェアの性能を最大限に引き出してくれます。
05. メモリ容量との戦い
GPUがない場合、モデルは全てメインメモリ(RAM)に展開されます。
- 8Bモデル (Q4量子化): 約5GBのメモリを使用
- OSやブラウザ: 約4GB〜8GBを使用
つまり、最低でも16GB、できれば32GBのメモリがCPU推論マシンには求められます。8GBしか無いマシンの場合、前述のPhi-3やGemma 2Bを選択肢に入れる必要があります。
06. まとめ
GPUがなくても、LLMの世界に入門することは十分に可能です。まずは軽量モデルから始めて、自分のPCでAIが喋り出す感動を味わってください。
CPU推論中はCPU使用率が100%近くに張り付くため、ファンの音が大きくなったり、他のアプリ(Zoomなど)が重くなったりすることに注意してください。
次回は、いよいよ中級編。Pythonを使ってLLMを自作アプリケーションに組み込む具体的な開発手法について解説します。
コメント
コメントを投稿