この記事でわかること

  • Ollama とは何か、なぜ注目されているのか
  • クラウドLLM(ChatGPT / Claude / Gemini など)と比べた メリット・デメリット
  • Ollama が どういう仕組み(アーキテクチャ) で動いているか(ネットワーク構成込み)
  • macOS / Windows / Linux での 導入手順(画面キャプチャつき)
  • 使う上での セキュリティ上の注意点

1. Ollama とは

Ollama(オラマ) は、大規模言語モデル(LLM)を 自分のPC上でローカルに動かす ためのオープンソースツールです(MITライセンス、Go 言語製)。よく「LLM 版の Docker」と表現されます。docker run のように ollama run <モデル名> と打つだけで、モデルのダウンロードから起動、対話までを一気にやってくれるからです。

ollama run llama3.1:8b

これ一行で、Meta の Llama 3.1(8B)が手元のマシンにダウンロードされ、その場でチャットが始まります。クラウドにも API キーにも一切つながず、インターネットが切れていても動く のが最大の特徴です。

利用できるモデルは Llama、Gemma、Qwen、DeepSeek、Phi、Mistral、gpt-oss、埋め込み用の nomic-embed-text など多岐にわたり、公式の ollama.com/library から探せます(ラインナップは頻繁に更新されるので、最新は公式ライブラリを確認してください)。


2. クラウドLLM との比較 ― どちらを選ぶべきか

まず結論を表で示します。

観点Ollama(ローカルLLM)クラウドLLM(ChatGPT / Claude / Gemini など)
料金体系初期のハードウェア費用のみ。推論は何回やっても無料(電気代を除く)トークン単位の従量課金。使うほどコストが増える
プライバシー入力データが マシンの外に出ない。第三者に送信されない入力が事業者のサーバーに送信される(規約次第で学習・保持の可能性)
オフライン動作◎ ダウンロード後は 完全オフラインで動作× 常時インターネット接続が必須
法規制・コンプラ対応院内・行内・機密環境など データを外に出せない現場 で採用しやすいデータ越境が問題になるケースがある(GDPR / 医療情報 等)
モデルの絶対性能ハードウェア次第。オープンモデルは大幅に進化したが、最難関タスクはクラウドが優位◎ 常に 最先端(フロンティア)モデル を利用できる
必要なハードウェアGPU / 大容量メモリがあると快適(CPU のみでも動作可)◎ 不要。手元は非力でもよい
カスタマイズ性◎ モデル・パラメータ・システムプロンプトを Modelfile で完全制御△ API の範囲内に限定される
スケール(同時多数)少人数向き。大量同時アクセスは苦手◎ 事業者側で自動スケール
運用・保守自分で管理(更新・監視・バックアップ)◎ フルマネージド

2-1. コスト ― 従量課金 vs 固定費

クラウドLLMは 入力・出力トークンごとの課金 です。個人利用なら安価でも、社内ツールやバッチ処理で 大量のリクエストを回すと料金が跳ね上がります

Ollama は逆で、モデルを動かすハードウェアさえ用意すれば、その後の推論は何回実行しても追加料金ゼロ。「同じ処理を毎日大量に回す」「開発中に何百回も試行錯誤する」といった使い方では、ローカル実行のコスト優位が効いてきます。

2-2. プライバシーとセキュリティ ― “外に出ない” という価値

Ollama の推論は すべて手元のマシンで完結 します。入力したプロンプト・社内文書・ソースコード・個人情報が、外部のサーバーに送られることはありません。

  • 医療・法務・金融など、機密データを外部に出せない現場
  • 未公開の製品情報やソースコードを扱う 開発現場
  • 顧客情報を含む文書の要約・分類

こうしたユースケースでは、「データが外に出ない」こと自体が、クラウドでは代替しにくい価値になります。

2-3. どちらを選ぶ? ― 使い分けの指針

  • クラウドLLMが向く:最高難度の推論、最新モデルをすぐ使いたい、手元にGPUがない、少ない手間で始めたい、大量同時アクセスをさばきたい。
  • Ollama が向く:機密データを扱う、オフライン環境で使う、大量リクエストを低コストで回す、モデルを細かく制御・実験したい、ネット接続に依存したくない。

実務では「日常の下書きや軽い分類はローカル、難しい仕上げだけクラウド」というハイブリッド運用も有力です。


3. Ollama が向かない・注意すべきケース(デメリット)

公平のために、Ollama が万能ではない点も挙げます。

  • 最先端モデルの絶対性能では、依然クラウドが優位。ローカルで動く量子化モデルは軽快ですが、最難関のタスクではフロンティアモデルに一歩譲る場面があります。
  • 大量同時アクセス・高スループット本番運用には不向き。多人数へ同時提供する本番APIや、最大スループットが要るバッチ処理では、vLLMTGI のような専用サーバーが適しています。Ollama は「個人〜小チームの手元実行」に最適化されています。
  • 相応のハードウェアが要る。大きいモデルほど GPU の VRAM やメインメモリを消費します(後述の目安を参照)。
  • 運用は自己責任。モデル更新、監視、バックアップ、そして後述の ネットワーク公開時のセキュリティ は自分で面倒を見る必要があります。

4. 動作の仕組み(ネットワーク構成込みアーキテクチャ)

Ollama は クライアント/サーバー型 で動きます。全体像は次の図のとおりです。

Ollama のネットワーク構成込みアーキテクチャ図

図:Ollama アーキテクチャ(ネットワーク構成込み)。編集可能な draw.io ソース ollama-architecture.drawio を同梱しています。

4-1. 処理の流れ

  1. ① クライアントollama CLI、各言語のSDK、Open WebUI のようなチャットUI、IDE拡張(Continue / Cursor)、curl や自作アプリなどが、HTTPリクエスト(REST API) を送ります。
  2. ② Ollama サーバー(デーモン)ollama serve が常駐し、127.0.0.1:11434 で待ち受けます。ここには次の層があります。
    • HTTP API 層(内部で web フレームワークと CORS 制御)
    • OpenAI 互換 / Anthropic 互換ミドルウェア … 既存のSDKを エンドポイントのURLを差し替えるだけ でそのまま使えます
    • ルートハンドラ(Chat / Generate / Embed / Pull / Push / Create)
    • スケジューラ → メモリマネージャ … モデルをどこ(VRAM か RAM か)にどれだけ載せるかを判断し、GPUに乗り切らない層は自動的にCPU側に振り分け(レイヤーオフロード) ます
  3. ③ llama.cpp ランナー:実際の推論を担う C++ 製の推論エンジン。CPU・Apple Metal・NVIDIA CUDA・AMD ROCm に対応します。
  4. ④ ハードウェア:GPU / CPU / メモリ。GPUがあれば自動検出して高速化します。
  5. ⑤ モデルストレージ:ダウンロード済みモデルは ~/.ollama/modelsGGUF 形式(量子化済みの blobs) と manifest として保存されます。推論時はここから重みを読み込みます。

4-2. ネットワーク面のポイント(ここが重要)

  • 待受は既定でループバック(127.0.0.1。つまり 既定では同じマシンからしかアクセスできず、外部ネットワークからは到達できません。
  • 外部との通信が発生するのは「モデル取得(ollama pull)」のときだけ。公式レジストリ(ollama.com/library、Docker Hub のような配布元)からモデルをダウンロードします。一度落とせば、あとはオフラインで動作 します。
  • 推論データは外に出ません。プロンプトも文書も生成結果も、すべてマシン内で完結します(=プライバシー保護・オフライン動作の根拠)。
  • LANの他端末から使いたい場合 は、環境変数 OLLAMA_HOST=0.0.0.0:11434 で待受を開放できますが、Ollama は既定で認証を持ちません。開放する場合は ファイアウォールやリバースプロキシ(認証付き)で必ず保護 してください(詳細は §7)。

5. 導入手順(キャプチャつき)

キャプチャについての注記:以下のうち ターミナル画面はコマンドの実挙動を再現 したものです。ダウンロードページやアプリ常駐アイコンの図は 実画面に近い再現イメージ で、レイアウトはOSやバージョンで多少異なります。ご自身の環境で公開・共有する際は、実際の画面に差し替えてご利用ください。

5-0. 動作環境と必要スペックの目安

メモリ / GPU の目安快適に動くモデルの目安用途イメージ
RAM 8GB(GPUなし可)1B〜3B(Llama 3.2、Gemma 3 4B 等)軽い要約・分類・下書き
RAM 16GB + 専用GPU7B〜14B(“ちょうど良い”帯)日常の実用タスク全般
RAM 32GB+ / VRAM 24GB+70B クラス難しめの推論・長文処理

目安として、4bit量子化(Q4_K_M 等)で 10億パラメータあたり約0.6〜0.7GB のメモリを見込みます(8Bなら概ね5〜6GB前後)。GPUがなくても CPUのみで動作 しますが、速度は数倍遅くなります。

5-1.【macOS / Windows】公式サイトからダウンロード

ブラウザで ollama.com/download を開き、OSタブ(macOS / Windows / Linux)を選んで ダウンロードボタン を押します。

Ollama ダウンロードページ(再現イメージ)

図:ダウンロードページ。OSタブを切り替えると各OS向けの入手方法が表示されます(再現イメージ)。

ダウンロードしたインストーラーを実行し、画面の指示に従ってインストールします(macOS はアプリを「アプリケーション」へドラッグ、Windows はインストーラーを実行するだけ)。

5-2.【macOS / Windows】起動している状態を確認

インストールすると Ollama は バックグラウンドのデーモンとして自動起動 します。起動中は、macOS はメニューバー右上Windows はタスクトレイ(右下) に Ollama のアイコンが常駐します。

macOS メニューバー / Windows タスクトレイでの常駐表示(再現イメージ)

図:起動中はアイコンが常駐します(左:macOS、右:Windows。再現イメージ)。

5-3.【Linux】ワンライナーでインストール

Linux は公式のインストールスクリプトが手軽です。ターミナルで次を実行します。

curl -fsSL https://ollama.com/install.sh | sh

スクリプトが依存関係の導入、ollama ユーザーの作成、systemd サービスの登録・起動 までを行い、最後に API が 127.0.0.1:11434 で利用可能 になった旨が表示されます。NVIDIA GPU があれば自動検出されます。

Linux でのインストール実行画面

図:curl … | sh の実行結果。systemd サービスとして起動し、11434 ポートで待受を開始します。

※ パイプ実行に抵抗がある場合は、スクリプトを一度ダウンロードして中身を確認してから実行しても構いません。

5-4. インストールの確認

OS共通で、バージョン表示とローカルAPIの疎通を確認します。

ollama --version
curl http://localhost:11434/api/version
curl http://localhost:11434 # → Ollama is running
バージョンとAPI疎通の確認画面

図:ollama --version127.0.0.1:11434 への疎通確認。Ollama is running が返れば正常です。

5-5. 初めてのモデル実行

いよいよモデルを動かします。ollama run は、モデルが未取得なら 自動でダウンロードしてから 対話モードに入ります。

ollama run llama3.1:8b

ダウンロード完了後、>>> プロンプトが出たら日本語でそのまま話しかけられます。入力内容は一切外部に送信されません。 対話を終えるときは /bye と入力します。

初回実行(ダウンロード → 日本語対話)の画面

図:初回は自動でモデルを取得し、そのまま対話に入ります。日本語での応答も問題ありません。

5-6. モデルの管理

取得済みモデルの一覧や、いまメモリに載っているモデルは次のコマンドで確認できます。

ollama list # 取得済みモデル一覧
ollama ps # メモリにロード中のモデル
ollama pull qwen3:14b # モデルだけ先に取得
ollama rm gemma3:4b # モデルを削除
モデル一覧とロード状況の確認画面

図:ollama list で取得済み一覧、ollama ps で現在ロード中のモデルとGPU使用状況を確認できます。

5-7. REST API から使う(アプリ組み込み)

Ollama はローカルにREST APIを立てているので、自作アプリやスクリプトから直接叩けます。ネイティブAPI(/api/chat)に加え、OpenAI互換エンドポイント(/v1/chat/completions も用意されているため、既存のOpenAI向けSDKは接続先URLを差し替えるだけ で流用できます。

curl による API 呼び出し(ネイティブ / OpenAI互換)

図:/api/chat(ネイティブ)と /v1/chat/completions(OpenAI互換)の両方が使えます。

Python から使う例(OpenAI互換):

from openai import OpenAI
client = OpenAI(
base_url="http://localhost:11434/v1", # ← ここをローカルに向けるだけ
api_key="ollama", # 任意の文字列でOK(既定は認証なし)
)
resp = client.chat.completions.create(
model="llama3.1:8b",
messages=[{"role": "user", "content": "自己紹介して"}],
)
print(resp.choices[0].message.content)

5-8. (おまけ)ブラウザUIで使いたいなら

CLIではなくブラウザのチャット画面で使いたい場合は、Open WebUI などのフロントエンドを Ollama(11434)に接続すると、ChatGPT風のUIでローカルモデルを扱えます。


6. よく使うコマンド早見表

コマンド説明
ollama run <model>モデルを(必要ならDLして)実行・対話
ollama pull <model>モデルの取得のみ
ollama list取得済みモデル一覧
ollama psメモリにロード中のモデル
ollama rm <model>モデルを削除
ollama serveサーバー(デーモン)を手動起動
ollama create -f Modelfile <name>Modelfile から独自モデルを作成
ollama show <model>モデルの詳細・パラメータ表示

7. セキュリティ上の注意点(重要)

  • 既定はローカル専用・認証なし127.0.0.1:11434 で待ち受け、認証はありません。同じマシン内だけで使う分には外部から到達できず安全です。
  • LAN / インターネットへ公開するときは要注意OLLAMA_HOST=0.0.0.0 などで待受を開放すると、認証なしのまま外部からアクセス可能 になってしまいます。実際に、設定を誤って公開されたOllamaサーバーが第三者に無断利用される事例も報告されています。公開が必要な場合は、
    • ファイアウォールで接続元を制限 する、
    • 認証付きのリバースプロキシ(Nginx / Caddy 等)を前段に置く
    • VPN や SSH ポートフォワード経由に限定する、 といった対策を 必ず 併用してください。
  • モデルの入手元に注意:モデルは信頼できる公式ライブラリから取得しましょう。

8. まとめ

Ollama は、LLMを自分のマシンで手軽に動かすための決定版ツールです。クラウドLLMと比べたときの核心は次の3点に集約されます。

  1. プライバシー:データが外に出ない。
  2. コスト:ハードウェアさえあれば推論は使い放題(従量課金なし)。
  3. オフライン & 制御:ネット不要で動き、モデルを細かく制御・実験できる。

一方で、最先端の絶対性能や大規模同時アクセス はクラウド/専用サーバーに分があります。両者は排他ではなく、「軽い・機密・大量はローカル、難しい仕上げはクラウド」 と使い分けるのが賢い付き合い方です。

まずは ollama run llama3.1:8b の一行から、ローカルLLMの世界を体験してみてください。


本記事の図版のうち、アーキテクチャ図は同梱の ollama-architecture.drawiodraw.io(diagrams.net) で開くと自由に編集できます。ターミナル画面はコマンドの実挙動を、GUI画面は実画面に近い再現イメージを示しています。公開時はご自身の環境のスクリーンショットへの差し替えを推奨します。

Posted in

コメントを残す