🦙
ローカルLLM
今回の想定読者
今回のネタは、ローカルLLMについてです。本記事を読んでいただけると、ローカルLLMの概要や使い方を知ることができます。(ファインチューニングについては触れていません)
以下の様な方が想定読者です。
- 諸事情により、OpenAIなど外部のLLMを利用できない、またはコスト節約したい
- ローカルLLMに興味がある
- Ollamaの使い方を知りたい
ログビーの勉強会について
ログビー(Logbii)では、月一回オンラインの社内勉強会をしています。直近のものと、2025年以降のアーカイブを順次公開していきます。
ざっくりと、以下のルールで運用をしています。
- 月イチで、ランチタイムにオンライン開催(1時間)
- テーマ自由
- 持ち回りで開催
- ランチ代支給(2000円まで)、飲食可
- 業務時間扱い(業務時間を削る形)でOK
今回の勉強会について
今回は、2025年10月の勉強会アーカイブです。
AIエンジニアのTogashiさんが発表しました!
それでは、以下本編です。
ローカルLLM
背景
- Solution でローカルLLMのAPIサーバを AWS ECS on EC2 で立てる機会があり、ローカルLLMの利用方法について知ることが出来た。
ローカルLLMとは
- インターネットを介さずにローカル環境(個人のPCや企業のサーバ等)で動かせるLLMのこと。
- モデルファイルをダウンロードしてローカル環境で生成処理を実行する。
- ダウンロードしたモデルを実行するためのツールもオープンソースで多数存在する。
- ChatGPT 等と比較:
- 利点
- データを外部サービスに送信する必要がない
- リクエスト毎の課金が無い
- など
- 欠点
- 自前でサーバを構築・運用する必要がある
- サーバ費用が掛かる
- など
- 利点
ローカルLLMの利用例(Ollamaを使用)
-
Ollama はローカル環境でローカルLLMを動かすことが出来るオープンソースのツール。
-
Ollama の GitHub:https://github.com/ollama/ollama
-
利用例:
-
こちら から Ollama をダウンロード
-
Ollama を起動
-
以下のコマンドでローカルLLMの一種である Gemma3 用のサーバを起動
ollama run gemma3 -
以下のコマンドで生成処理をリクエスト
curl http://localhost:11434/api/chat -d '{ "model": "gemma3", "messages": [ { "role": "user", "content": "why is the sky blue?" } ] }'
-
-
様々なモデルが利用可能
-
Ollama があらかじめ用意しているモデル
- 例
-
https://ollama.com/library/gemma3
- モデル名にある 270m、1b、4b、12b、27b はモデルのパラメタ数のこと。 bは billion の略。パラメタ数が大きいほどモデルのファイルサイズも大きくなり、精度も向上する。
-
https://ollama.com/library/gemma3
- 量子化済みのモデルも利用可能
- ローカルLLMにおける量子化とは、パラメタを低精度な数値に変換すること
- 例:32ビット浮動小数点数から4ビット整数に変換
- 利点:計算コストやメモリ使用量が減る
- 欠点:出力の質が下がる
- 例
-
https://ollama.com/library/gemma3:27b
-
以下の記載があるため量子化済み。(Q4_K_M は量子化の仕方)
quantization Q4_K_M
-
-
https://ollama.com/library/gemma3:27b
- ローカルLLMにおける量子化とは、パラメタを低精度な数値に変換すること
- 例
-
Hugging Face で公開されているモデル
-
https://huggingface.co/
- Hugging Face では様々なAIモデルやデータセットなどが公開されている。
- ローカルLLMのモデルも公開されている。
-
https://huggingface.co/docs/hub/en/ollama
-
このページの方法で以下のようなコマンドだけで Hugging Face に公開されているローカルLLMを実行できる。
ollama run hf.co/bartowski/google_gemma-3-4b-it-GGUF:Q4_K_M- このコマンドでは https://huggingface.co/bartowski/google_gemma-3-4b-it-GGUF の Q4_K_M モデルが実行される。
-
-
https://huggingface.co/
-
など
-
-
https://ollama.com/blog/openai-compatibility
-
Ollama サーバに OpenAI API と同じフォーマットでリクエストを送ることも可能
-
Python での例:
from openai import OpenAI client = OpenAI( base_url = 'http://localhost:11434/v1', api_key='ollama', # required, but unused ) response = client.chat.completions.create( model="llama2", messages=[ {"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Who won the world series in 2020?"}, {"role": "assistant", "content": "The LA Dodgers won in 2020."}, {"role": "user", "content": "Where was it played?"} ] ) print(response.choices[0].message.content)
-
ディスカッション
- ローカルLLMをどのように利用した経験があるか
- 石倉さん
- LM studio
- hugging face から直接起動可能かも?
- LM studio 使用するボタンからアプリが起動
- GPUなので直感的で使いやすい
- hugging face から直接起動可能かも?
- GPU が 16GB
- 使えるモデルが限られる
- CPUに載せたら速度が遅い
- ローカルでなくてもよい?な印象
- 富樫:CPUの方がEC2インスタンスの料金が安いが遅い
- macstudio
- ユニファイドメモリだとCPU/GPU割当自由に出来る
- メモリを例えば200, 500にして、かつ apple chip なら高速 → ローカルでもある程度速度出る?
- メモリ積むと100 - 200万円するかも
- コスパよく中古で買うも一手?
- メモリ積むと100 - 200万円するかも
- 1GBあたりの料金が割安らしい
- メモリを例えば200, 500にして、かつ apple chip なら高速 → ローカルでもある程度速度出る?
- ユニファイドメモリだとCPU/GPU割当自由に出来る
- LM studio
- 松田さん
- Logbii Docsの最後の方でllama使う?という話あった
- 現行のモデル: Electra(BERTベース)
- Largeで335M パラメータ程度のようです
- 今のLLMと比べると small
- 実稼働はAWS CPUで推論
- Logbii Docsの最後の方でllama使う?という話あった
- 佐藤さん
- GPT・GeminiがローカルLLMと比較して性能がどうか
- 富樫:
- Gemma3 4B Q4 でも簡単なRAGならGPT-4oと同じくらいの精度
- 簡単なタスクならGPTと同じくらいできるかも
- コストの点でローカルLLMを使う方がよいか
- スマホで動くローカルLLMはある?
- ユーザーリソースだけで足りるので運用コスト減る
- 個人開発での利点になりそう
- ユーザーリソースだけで足りるので運用コスト減る
- 簡単なタスクどのようなのがある?
- 非構造データを整頓(summarizeなど)
- 手軽に使いやすいか
- ロボットとかでも使えるとよいのでは
- 通信時間が無いのでその分実行時間が減る
- クラウドで実行しない形ならクラウドのシステム構成等の検討不要
- 富樫:通信環境が整えづらい海とかで利用しやすいかも?
- 富樫:
- GPT・GeminiがローカルLLMと比較して性能がどうか
- 石倉さん
- ローカルLLMをどのように利用できそうか
- 有ケ谷さん
- solution 先で自前GPUサーバでgpt-ossなど候補として知識蒸留等で小さめのドメイン特化モデル
- これから検証
- 今クラウドでやっている
- 405Bでデータ生成→3Bとかでトレーニング
- ドメインに関するデータ
- GPUサーバでやる時のデータは未定(社内データかも?)
- 今はhuggingfaceのデータやkaggleデータで検証
- solution 先で自前GPUサーバでgpt-ossなど候補として知識蒸留等で小さめのドメイン特化モデル
- 有ケ谷さん
Discussion