ローカルLLMとは何か、なぜ今注目されているのか

自分のPCで動くAIのことを「ローカルLLM」と呼ぶ。クラウドにデータを送らないので、入力した内容が外部に漏れる心配がない。月額料金も不要だし、インターネットが使えない環境でも動く。この三点が今、ローカルLLMが注目される理由のほぼすべてだ。

とはいえ、少し前まではセットアップが面倒で、エンジニア以外には敷居が高かった。それを大きく変えたのがOllamaというツールだった。

OllamaはローカルLLMの入り口として最適だ

OllamaはMacとLinux(Windowsはプレビュー版)に対応したオープンソースのツールで、ターミナルから数コマンドを打つだけでモデルのダウンロードから起動まで完結する。公式サイト(ollama.com)からインストーラをダウンロードして実行するだけで、あとは以下のコマンドで動く。

ollama run llama3

これだけで対話が始まる。Llama 3のほかにも、Mistral、Gemma、Phi-3など主要なオープンソースモデルを同じコマンドで呼び出せる。モデルの切り替えもollama run モデル名で済む。

実際に使ってみてわかったこと

筆者はM2 MacBook Airで試した。Llama 3(8Bパラメータ版)であれば、体感で2〜3秒で最初のトークンが返ってくる。長文の生成になるほど速度は落ちるが、短い質問への回答や要約程度なら実用上問題ない。

注意点を正直に書くと、モデルのファイルサイズが大きい。Llama 3の8B版で約4.7GB、より大きいモデルだと10GB以上になる。ストレージの空き容量は事前に確認しておいた方がいい。

また、GPUを積んでいないマシンだとCPU推論になり、速度が大幅に落ちる。M1/M2以降のApple Siliconは統合メモリでGPU的な処理ができるため快適だが、古いIntel MacやWindowsの一般的なノートPCでは体験が変わってくる。

どんな用途に向いているのか

ローカルLLMが向いているのは、外部に見せたくないテキストを扱うケースだ。社内の会議メモ要約、自分の日記の整理、まだ公開していないプロジェクトの文章チェックなど。ChatGPTに送ることをためらうような内容を気兼ねなく処理できる。

一方で、最新情報が必要な調べ物や、高い精度が求められる翻訳・コーディングには、クラウドのAPIを使うほうが今は現実的だ。ローカルLLMとクラウドLLMを用途で使い分けるのが、今の時点での賢い使い方だと思っている。

OpenAI互換のAPIとして使う方法

OllamaはローカルでAPIサーバを立ち上げる機能も持っている。デフォルトではhttp://localhost:11434にOpenAI互換のエンドポイントを公開するので、ChatGPT APIのクライアントライブラリをそのまま向き先だけ変えて使える。

Pythonであればopenaiライブラリのbase_urlを書き換えるだけで、既存のコードがほぼそのままローカルで動く。自作ツールやスクリプトをAPIコスト不要で試したいときに重宝する。