「業務データをクラウドに投げたくない」「API課金が積み上がるのが怖い」——そんな理由で、ローカルで動くLLM(SLM)づくりに着手しました。
今回は、ソフトバンクグループのSB Intuitionsが提供する Sarashina 系列をベースに、Ollamaで“自分専用のSLM”として動かすところまでをまとめます。
(最後に、RAGもローカルで作れる話も触れます)
ローカルLLMに着手した理由:セキュリティとコスト
ローカル実行の動機は、ほぼこの2つに尽きます。
- セキュリティ:外部APIに送れない(送るのが心理的に不安な)テキストが現場には多い
- コスト:PoCの回数が増えるほど、従量課金が“地味に効いてくる”
もちろんローカルにも運用コストはありますが、用途がある程度絞れたら「常に一定の計算資源で回せる」メリットが大きいです。(IBM)
SLMの存在を知って「これでいいじゃん」となった
最初は“ローカルLLM=重い”と思っていたのですが、**Small Language Model(SLM)**という選択肢を知って一気に現実味が出ました。
用途を「要約」「文章整形」「社内文書の検索補助」などに絞れば、必ずしも超巨大モデルは必要ありません。
この“割り切り”ができると、開発が一気に進みます。
SLMとは?
SLM(Small Language Model)は、LLMよりもパラメータ規模が小さく、軽量に扱える言語モデルのこと。
計算資源が限られていても動かしやすく、オンプレやローカル環境への展開と相性が良いのが特徴です。(IBM)
SLMのメリット(ローカル運用に刺さるポイント)
私が「ローカルでやる価値ある」と感じた点はこのあたりです。
- プライバシー/セキュリティのコントロール:データを外に出さずに回せる(IBM)
- 低コスト:クラウドGPUやAPI従量課金に依存しにくい(IBM)
- 低レイテンシ:ネットワーク待ちがなく、体感が速い(IBM)
- 用途特化しやすい:指示文・口調・禁止事項など“運用ルール”を固めやすい
もちろん、知識量や推論力はモデル規模に依存するので、万能ではないです。
ただ「現場で毎日使う軽作業」を確実に回すには、SLMがちょうどいいことが多いです。
今回の構成:Ollama × Sarashina
- Ollama:ローカルでLLM/SLMを扱うランタイム。Modelfileで“自分専用設定”を作れる(Ollama Documentation)
- Sarashina:SB Intuitionsが公開している日本語モデル群(複数サイズあり)(Hugging Face)
作成方法(Mac + ターミナル)
1) Ollamaを入れる
(Ollamaが入っている前提で進めます。未導入なら公式手順でインストールしてください)
2) Sarashina(GGUF)を取得して動かす
Ollamaは Hugging Face Hub上のGGUFを hf.co/{username}/{repository} 形式で直接実行できます。(Hugging Face)
例(Sarashina 3BのGGUF変換版を利用するケース):
ollama run hf.co/mmnga/sarashina2.2-3b-instruct-v0.1-gguf
このあたりの動かし方は、国内LLMのOllama利用例としてもまとまっています。(Zenn)
3) “独自SLM”として固定設定を持たせる(Modelfile)
毎回プロンプトでルールを書くのは面倒なので、Modelfileでモデル側に「性格・禁止事項・出力フォーマット」を持たせます。
OllamaのModelfileは FROM / PARAMETER / SYSTEM などで挙動を定義できます。(Ollama Documentation)
たとえば Modelfile を作って:
FROM hf.co/mmnga/sarashina2.2-3b-instruct-v0.1-gguf
PARAMETER temperature 0.2
PARAMETER top_p 0.9
SYSTEM """
あなたは日本語で簡潔に回答する業務アシスタントです。
- 機密情報の扱いに注意し、入力文の転載は最小限にします
- 不明な点は推測せず「不明」と伝えます
- 出力は結論→理由→手順の順で書きます
"""
そして作成:
ollama create sarashina-koki -f Modelfile
ollama run sarashina-koki
これで「自分の運用ルールに合わせたSLM」が、1コマンドで起動できるようになります。
RAGも作れる(ローカル完結も可能)
ここまでできると、次にやりたくなるのが RAG(社内資料検索→回答生成) です。
流れはシンプルで、
- 社内PDF/議事録/規程などをテキスト化
- **埋め込み(Embedding)**を作ってベクトルDBに保存
- 質問時に類似検索→関連箇所をコンテキストとしてLLMに渡す
Embeddingについても、SB Intuitions側でモデルが公開されています(利用条件はライセンス確認推奨)。(SB Intuitions株式会社)
「検索部分をローカルで回して、生成もローカル」までいけると、取り回しがかなり良くなります。
まとめ:ローカルSLMは“ちゃんと実務に刺さる”
- セキュリティとコストの理由でローカルLLMに着手
- SLMを使うことで「軽く・速く・運用しやすい」ラインに落とせた(IBM)
- Ollama + Sarashinaで、Macでも“自分専用SLM”を作れる(Ollama Documentation)
- RAGまで視野に入れると、ローカルAI活用の幅が一気に広がる(SB Intuitions株式会社)
次回予告
次回は、Sarashina × Ollama を使ったローカルRAGの作り方を、
ドキュメント準備から検索・生成まで、具体的な手順ベースで解説する予定です。
