アプリ開発日誌
2025.06.03
あなたのパソコンでAIが動く? ローカルLLMを触ってみよう

ローカルLLMとは?
ローカルLLMとは、インターネット接続なしで自分のコンピュータ上で動作する大規模言語モデル(LLM)のことです。ChatGPTやClaudeなどのクラウドベースのLLMと違い、自分のパソコン上で動作するため、プライバシーが保たれる点が最大のメリット。また、オープンソースでさまざまなモデルが公開されており、自由にカスタマイズすることもできます。
ローカルLLMを使うメリット
- 機密データを外部に送信する必要がなく、セキュリティ面のリスクが少ない
- モデルをカスタマイズして、ファインチューニングや追加学習が可能
- クラウドサービスの利用料金が不要で、気軽にさまざまなモデルを試せる(ただし性能を求める場合は商用APIより割高になる)
Ollamaを使ってローカルLLMを体験する
Ollamaは、ローカルでLLMを簡単に実行できるようにするためのオープンソースツールです。Dockerのような使いやすさで、さまざまなLLMモデルをローカル環境で実行できます。
Ollamaをインストールする
公式サイトの手順に従ってインストールしましょう。基本的にはダウンロードして実行するだけです。最後にコマンドラインツールが追加されますので、ターミナルからOllamaを操作できるようになります。
動かしてみる
使用可能なモデルは公式サイトのモデル一覧から検索することができます。今回はGoogleが開発したGemma3というモデルを使用してみましょう。
ターミナル等で以下のコマンドを実行してください。自動でダウンロードが始まります。
ollama run gemma3:4b
モデル名の後ろについている「4b」とはモデルのパラメータ数を表します。4bは40億という意味で、LLMとしてはかなり少ない値になります(参考としてGPT-4などのモデルは数千億と言われています)。そのためサイズが小さく軽量で、一般的なノートパソコンでも動作します。
準備が完了すると対話型のシェルが起動します。指示を打ち込んでみましょう。
>>> 自己紹介をして
こんにちは!私はGemmaです。Google DeepMindによってトレーニングされた大規模言語モデルです。私はオープンウェイトモデルであり、広く一般に公開されています。テキストと画像をインプットとして受け取り、テキストのみを出力することができます。
私はまだ学習中ですが、様々なタスクでお手伝いできることを楽しみにしています。何か質問があれば、お気軽にお尋ねください。
>>> TypeScriptでFizz Buzz問題に回答して
function fizzBuzz(n: number): string[] {
const result: string[] = [];
for (let i = 1; i <= n; i++) {
if (i % 3 === 0 && i % 5 === 0) {
result.push("FizzBuzz");
} else if (i % 3 === 0) {
result.push("Fizz");
} else if (i % 5 === 0) {
result.push("Buzz");
} else {
result.push(i.toString());
}
}
return result;
}
// 例
console.log(fizzBuzz(15));
>>> 名刺交換したお客様へのフォローアップのメールを出力して
件名:〇〇(お客様名)様、先日のお話改めて
〇〇(お客様名)様
先日は、〇〇(イベント名、会合名など)にてお話させていただき、誠にありがとうございました。
〇〇様のお話を伺い、〇〇(具体的な話題、興味を持った点)について、より深く理解することができました。
貴社の〇〇(お客様の会社名)の〇〇(製品やサービス)は、私たち〇〇(自社の会社名)の〇〇(自社の製品やサービス)と連携することで、〇〇(期待できるメリット)に繋がるのではないかと考えております。
今後とも、ぜひお付き合いさせていただければ幸いです。
何かご質問やご要望がございましたら、お気軽にご連絡ください。
引き続き、どうぞよろしくお願いいたします。
敬具
小型のLLMにもかかわらず、それなりにちゃんとした答えを返します。筆者の環境(M1 Pro、メモリ32GB)では動作速度も申し分ないです。
OllamaのAPI経由でローカルLLMを利用する
OllamaはREST APIサーバーとしても機能します。11434ポートで実行されていることを確認したら、以下のようなリクエストを送信してみましょう。
curl http://localhost:11434/api/generate -d '{
"model": "gemma3:4b",
"prompt": "こんにちは。ごきげんいかが?",
"stream": false
}'
すると以下のようなレスポンスが返ってきます。
{
"model": "gemma3:4b",
"response": "こんにちは!私は元気ですよ。あなたはいかがですか?何かお手伝いできることはありますか? 😊\n",
(省略)
}
この方法を使えば、他のプログラムからローカルLLMを呼び出し、組み合わせることができます。
モデルを見つけて試す
Gemma以外のモデルも試してみましょう。
Hugging Faceというプラットフォームでは、公式・非公式を含めた多くのモデルを手軽にダウンロードすることができます。日本語のデータで追加学習したものや、特定の用途(チャットなど)に特化したモデルも存在します。目的に応じて使い分けてください。
ここでは代表的なモデルをいくつかを紹介します。いずれもオープンソースです。なお、公開されているモデルの中には商用利用できないものもありますので、使用する際はライセンスに注意してください。
Phi-4
Microsoftが開発したLLMです。小型のLLMですが、高い性能があるとされています。推論やマルチモーダルに対応したモデルも公開されています。
Llama4
Metaが開発したLLMです。ネイティブでマルチモーダルに対応しています。最新のモデルですが、性能については賛否両論があります。
Qwen3
中国のAlibabaが開発したLLMです。タスクの難易度によって推論モードを自動で切り替えることができ、コストパフォーマンスに優れます。
Mistral
フランスのMistral AIが開発したLLMです。サイズの割に性能がよいことで知られ、ローカルLLMの中では人気を集めています。
CyberAgentLM3(CALM3)
CyberAgentが開発した国産LLMです。国産というだけあって、高度な日本語対応がされています。CALM3-22B-Chatという、チャット形式の会話に特化したモデルがあります。
ローカルLLMの活用方法
機密性の高いデータを処理させる
ローカルLLMは外部のAPIを利用せず、処理がPC内で完結するため、データ流出のリスクが比較的小さく、機密性の高い情報を安全に処理させることができます。また、送信したデータがモデルの学習に使われることもありません。
組み込み系分野での応用
最近のローカルLLMは、スマートフォンや安価なミニPCでも動作するほど軽量なものが登場してきています。ネットワーク接続がなくても動作するため、地下や屋外に設置している計測機器と接続し、その場でデータを加工させるという使い方が考えられます。
NSFWコンテンツの生成
多くの商用APIは、センシティブなコンテンツの生成を規約で禁じています。一方、ローカルLLMの中にはそのような制限がないものもあります。ただし、そうした用途では法的・倫理的なリスクも大きく、取り扱いには十分な注意が必要です。
まとめ
ローカルLLMの性能はますます進化しています。現在はChatGPTやGeminiなど、オンラインのサービスが主流となっている生成AIですが、今後は一般的なアプリケーションのように、端末にダウンロードして動かすタイプのものが普及していくかもしれません。