🦙

ローカル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 の略。パラメタ数が大きいほどモデルのファイルサイズも大きくなり、精度も向上する。
      • 量子化済みのモデルも利用可能
        • ローカルLLMにおける量子化とは、パラメタを低精度な数値に変換すること
          • 例:32ビット浮動小数点数から4ビット整数に変換
          • 利点:計算コストやメモリ使用量が減る
          • 欠点:出力の質が下がる
    • Hugging Face で公開されているモデル

    • など

  • 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なので直感的で使いやすい
      • GPU が 16GB
        • 使えるモデルが限られる
        • CPUに載せたら速度が遅い
          • ローカルでなくてもよい?な印象
          • 富樫:CPUの方がEC2インスタンスの料金が安いが遅い
      • macstudio
        • ユニファイドメモリだとCPU/GPU割当自由に出来る
          • メモリを例えば200, 500にして、かつ apple chip なら高速 → ローカルでもある程度速度出る?
            • メモリ積むと100 - 200万円するかも
              • コスパよく中古で買うも一手?
          • 1GBあたりの料金が割安らしい
    • 松田さん
      • Logbii Docsの最後の方でllama使う?という話あった
        • 現行のモデル: Electra(BERTベース)
        • Largeで335M パラメータ程度のようです
          • 今のLLMと比べると small
          • 実稼働はAWS CPUで推論
    • 佐藤さん
      • GPT・GeminiがローカルLLMと比較して性能がどうか
        • 富樫:
          • Gemma3 4B Q4 でも簡単なRAGならGPT-4oと同じくらいの精度
          • 簡単なタスクならGPTと同じくらいできるかも
        • コストの点でローカルLLMを使う方がよいか
        • スマホで動くローカルLLMはある?
          • ユーザーリソースだけで足りるので運用コスト減る
            • 個人開発での利点になりそう
        • 簡単なタスクどのようなのがある?
          • 非構造データを整頓(summarizeなど)
        • 手軽に使いやすいか
        • ロボットとかでも使えるとよいのでは
          • 通信時間が無いのでその分実行時間が減る
          • クラウドで実行しない形ならクラウドのシステム構成等の検討不要
          • 富樫:通信環境が整えづらい海とかで利用しやすいかも?
  • ローカルLLMをどのように利用できそうか
    • 有ケ谷さん
      • solution 先で自前GPUサーバでgpt-ossなど候補として知識蒸留等で小さめのドメイン特化モデル
        • これから検証
        • 今クラウドでやっている
          • 405Bでデータ生成→3Bとかでトレーニング
        • ドメインに関するデータ
          • GPUサーバでやる時のデータは未定(社内データかも?)
          • 今はhuggingfaceのデータやkaggleデータで検証
株式会社ログビー(Logbii, Inc.)

Discussion