テーマを切り替える

Ollama 入門:ローカルで大規模言語モデルを動かす第一歩

先月、OpenAI API の請求が 300 ドルを突破しました。開発段階でいくつかの機能を頻繁にテストしていただけなのに、費用はこんなに早く積み上がるのです。さらに困ったのは、扱っていた文書が社内データに関わるもので、クラウドにアップロードすることにどうしても落ち着かなさを感じていた点でした。

その瞬間、ローカルの代替手段を探すと決めました。1 週間ほど試行錯誤し、いくつものツールを試した結果、いちばん手間がかからなかったのが Ollama でした。

あなたも似たような悩みを抱えているかもしれません。クラウド AI サービスの費用がどんどん高くなる、データのプライバシーが心配、あるいはそもそもオフライン環境で AI を使いたい——。Ollama はこうした問題を解決してくれます。自分の PC で大規模言語モデルを動かせて、数分で使い始められ、完全無料で、データは一切マシンの外に出ません。これから、踏んだ落とし穴や学んだ経験をすべて共有します。あなたの遠回りが少しでも減れば幸いです。


Ollama とは?

ええ、名前が少し紛らわしいですよね。Ollama はモデルではなく、モデルを動かすためのツールです。Docker がコンテナ化を簡単にしたのと同じように、Ollama はローカルでの大規模言語モデルの実行を手の届くものにしてくれます。

ひとことで言えば、Ollama でモデル(たとえば Llama 3.2)をダウンロードすれば、自分の PC でそのモデルと会話したり、コードを書かせたり、翻訳させたりできます。推論はすべてローカルで完結します。

なぜわざわざローカルモデルを使うのでしょう? ChatGPT や Claude のようなクラウドサービスはすでに十分便利では?

クラウドは確かに便利です。ただ、使い続けるうちにいくつかの問題が見えてきます。

300+
ドル
私の OpenAI API 月額請求。開発段階の頻繁なテストが原因

お金の問題。API 呼び出しは token 課金です。テスト段階で頻繁に呼び出すと、請求額に本当に驚かされます。開発段階の 1 か月で数百〜数千ドルを使ってしまった人も見てきました。

プライバシーの問題。すべての会話がクラウドにアップロードされます。社内文書、顧客データ、機密情報などを扱う場合、コンプライアンス要件に合わないかもしれません。お堅い組織で働く方なら、特に実感があるでしょう。

ネットワークの問題。使うには必ずインターネット接続が要ります。回線が不安定だと体験はかなり悪く、完全オフラインの場面ではそもそも使えません。

制限の問題。クラウド API にはさまざまな制限があります——レート制限、クォータ制限、機能制限……。ちょっと機能を試したいだけなのに、制限に引っかかって煩わしい思いをすることもあります。

Ollama はこうした痛点をそのまま解消してくれます。モデルを PC にダウンロードすれば、推論はすべてローカルで完結します。オフラインでも使え、データは一切マシンの外に出ず、API 費用もなく、呼び出し制限もありません。

開発者にとって、Ollama にはもう 1 つの価値があります——完全な API を備え、しかも OpenAI のインターフェース形式と互換性がある点です。つまり、開発時はローカルモデルでテストして節約しつつ、本番ではクラウド API に切り替えられる。とても柔軟です。


Ollama のインストール:3 ステップで完了

インストールは本当に簡単です。プラットフォームごとに多少の差はありますが、基本はどれも数分で終わります。

Linux(いちばん手間いらず)

Linux なら、コマンド 1 つで済みます。

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

実行が終われば Ollama はインストール完了で、サービスも自動的に起動します。

正直なところ、Linux が私のいちばんのおすすめです。サーバーへのデプロイやコンテナ化といった場面を、Linux なら完璧にカバーできます。本番環境で Ollama を使うつもりなら、Linux が第一候補です。

手動インストールもできますが、初心者にはおすすめしません。どうしても必要なら、バイナリをダウンロードして自分で systemd サービスを設定します。具体的な手順は調査レポートに書いたので、ここでは省きます。

macOS(GUI がより親切)

macOS には 2 つの方法があります。

Homebrew を使う場合:

brew install ollama

インストール後、ollama serve で直接起動するか、brew services start ollama でバックグラウンド実行させます。

Homebrew を使いたくない? それなら公式サイトから .pkg インストーラをダウンロードし、ダブルクリックするだけです。Mac ユーザーには馴染みのある形式でしょう。

ちょっとしたコツ:Apple Silicon(M1/M2/M3)の Mac は Metal GPU 加速を自動的に有効化してくれて、性能はなかなか良好です。私の M2 MacBook Pro は 8B モデルをサクサク動かせますし、13B も動きます。ただメモリ使用量は少し高めです。

Windows(winget がいちばん手軽)

Windows ユーザーは winget が使えます。

winget install --id=Ollama.Ollama -e

または公式サイトから .exe インストーラをダウンロードします。インストール後、Ollama は自動的に起動し、システムトレイにアイコンが表示されます。

インストールの成否を確認するには:

ollama --version

バージョン番号が表示されればインストール成功です。とても簡単ですよね。


最初のモデルを動かす

インストールできたら、さっそくモデルを 1 つ動かしてみましょう。

まずモデルを選びます。入門なら llama3.2qwen:8b がおすすめです。前者は Meta の最新モデルで総合力が高く、後者は通義千問(Qwen)で中国語の理解が特に得意です。

実行します:

ollama run llama3.2

このコマンドはモデルを自動でダウンロードし(初回は数分かかります)、その後インタラクティブな画面を起動します。

こんな表示が出ます:

>>> Send a message (/? for help)

これで会話できます。試してみましょう:

>>> こんにちは、自己紹介してください

モデルがリアルタイムで返事をしてくれて、まるでチャットしているような感覚です。終了するときは /bye と入力するか Ctrl+D を押します。

モデルサイズの説明

モデル名に 3b8b のような数字が付いているのに気づいたかもしれません。これはパラメータ数、つまりモデルの「脳の大きさ」を表します。

8B
パラメータ
多くのノート PC のスイートスポット。日常会話も簡単なプログラミングもこなせる

3B モデル:30 億パラメータ。薄型ノート PC でも動き、必要なメモリは 4GB だけ。速いものの能力は基礎的です。簡単な会話やツール指示といったタスクに向いています。

8B モデル:80 億パラメータ。多くのノート PC やデスクトップにとっての「スイートスポット」です。8GB のメモリが必要で、日常会話や簡単なプログラミング補助をこなせます。私が普段いちばんよく使うのもこのクラスです。

13B モデル:130 億パラメータ。16GB のメモリが必要です。返答の質が明らかに上がり、コンテキストも長くなるので、中〜高性能 GPU を積んだマシンに向いています。

70B モデル:700 億パラメータ。64GB 以上のメモリが必要です。プロのサーバークラスで、能力は最強ですがハードウェア要件もかなり高い。正直なところ、個人ユーザーがここまで大きなものを使う場面はあまりありません。

入門なら 3B〜8B で十分です。これらは最近のノート PC のほとんどでスムーズに動きます。最初から大きいモデルを追い求めず、まず小さいモデルで慣れてから、必要に応じてアップグレードしましょう。


モデル管理によく使うコマンド

Ollama はモデルを管理するためのシンプルなコマンド群を用意しています。よく使うものをいくつか覚えれば十分です。

モデルをダウンロード

ollama pull llama3.2
ollama pull qwen:8b

pull コマンドはモデルライブラリからローカルへダウンロードします。ダウンロード後はキャッシュされるので、次回の実行で再ダウンロードは不要です。

インストール済みモデルを一覧表示

ollama list

このコマンドはダウンロード済みのすべてのモデルを、名前・サイズ・更新時刻とともに表示します。

モデルを削除

ollama rm llama3.2

あるモデルがもう不要なら、削除して容量を解放しましょう。

モデルの詳細を確認

ollama show llama3.2

パラメータ数や量子化方式といった技術的な詳細が見られます。

cp(コピー)や push(アップロード)といった他のコマンドはあまり使わないので、ここでは詳しく触れません。必要になったときにドキュメントを見れば大丈夫です。

おすすめのモデルをいくつか

用途別に、いくつかおすすめを挙げます。

日常会話

  • llama3.2:Meta の最新。総合力が高い
  • qwen:8b:通義千問(Qwen)。中国語が得意
  • mistral:欧州発のオープンソースモデル。性能はなかなか良い

プログラミング補助

  • codellama:コード生成向けに調整されたモデル
  • deepseek-coder:深く学習されたコードモデル。使い勝手が良い

マルチモーダル(画像を理解できる)

  • llava:画像理解に対応
  • llama3.2-vision:Llama 3.2 のビジョン版

どれを選ぶか迷ったら、まず llama3.2:3bqwen:8b を試しましょう。どちらも入門に向いていて、動作も軽快です。


GPU 加速:速度の差は本当に大きい

これは本当に重要です。CPU でもモデルは動きますが、速度の差は桁違いで——GPU は CPU より 10〜20 倍速いこともあります。

10-20x
速度向上
GPU 加速と CPU 推論の性能差

私は初めて使ったとき GPU の設定に注意していなかったため、モデルが遅すぎてうんざりしました。後になって GPU 加速が有効になっていなかったとわかったのです。設定し直したら、速度は一気に上がりました。

Ollama は 3 種類の GPU に対応しています:NVIDIA、AMD、Apple Silicon。

NVIDIA GPU(RTX シリーズ)

NVIDIA の設定がいちばん簡単です。基本は自動です。

必要なのは:

  1. 最新の NVIDIA ドライバ(バージョン 531 以降)をインストールする
  2. CUDA がインストールされていることを確認する

GPU が使えるか確認します:

nvidia-smi

GPU の情報が表示されれば問題ありません。モデルを動かすとき、Ollama は自動的に GPU を使います。

どの GPU を使うか指定するには:

export CUDA_VISIBLE_DEVICES=0,1

これで 1 枚目と 2 枚目の GPU だけを使います。マルチ GPU のマシンでは、ときどきこれが必要になります。

Docker 内で GPU を使う

Docker 内で Ollama を動かす場合は、NVIDIA Container Toolkit が必要です。

docker run --gpus all ollama/ollama

こうすることで、コンテナがホストマシンの GPU にアクセスできます。

AMD GPU

AMD は少しだけ複雑で、ROCm のインストールが必要です。

ROCm に対応している AMD GPU には次のものがあります:

  • Radeon Instinct シリーズ(MI100、MI210、MI250、MI300X など)
  • Radeon RX シリーズ(5700 XT、5500 XT、7600、9070 など)
  • Radeon PRO シリーズ

ROCm v7 以降をインストールすれば、Ollama は自動的に AMD GPU を検出して利用します。

公式にサポートされていない GPU アーキテクチャもあります。その場合は環境変数の上書きを試してみましょう:

export HSA_OVERRIDE_GFX_VERSION=10.3.0

また、AMD には実験的な Vulkan サポートもあります:

export OLLAMA_VULKAN=1

Apple Silicon(M1/M2/M3)

Mac ユーザーがいちばん手間いらずです。Apple Silicon は Metal GPU 加速を自動的に有効化するので、追加設定は一切要りません。

16GB メモリの M シリーズチップなら 8B モデルをスムーズに動かせ、32GB なら 13B、さらには 30B も動きます。Apple Silicon のメモリはユニファイドアーキテクチャで、GPU と CPU が共有するため、メモリの大きさがそのまま動かせるモデルの大きさを決めます。

性能アップの小技をいくつか

GPU 加速のほかにも、速度を上げるテクニックがいくつかあります。

量子化モデル。デフォルトは Q4_K_M 量子化で、品質と速度のバランスが取れた点です。メモリが足りなければ Q4_K_S を試しましょう。品質は少し落ちますが、使用量はより小さくなります。

Flash Attention。これは最適化技術で、大きなコンテキストの場面で明らかに速度を上げられます:

export OLLAMA_FLASH_ATTENTION=1

コンテキスト長。デフォルトのコンテキストは 2048 です。そこまで長さが要らないなら小さくできます:

export OLLAMA_CONTEXT_LENGTH=4096

こうするとメモリを節約でき、速度も上がります。

モデルのロードを保持。デフォルトではアイドル 5 分でアンロードされます。頻繁に使うなら、この時間を延ばしましょう:

export OLLAMA_KEEP_ALIVE=30m

-1 を指定すれば永遠にアンロードしません(Ollama サービスが動いている限り)。こうすれば毎回の会話ですぐに応答が返り、モデルの再ロードを待たずに済みます。


API 連携:Ollama を自分のアプリにつなぐ

こここそ Ollama の本当の価値です——完全な API を備え、自分のアプリに組み込めるのです。

REST API の基礎

Ollama は起動すると、ローカルの 11434 ポートで API サービスを提供します。

よく使う 2 つのエンドポイントは:

テキスト生成

curl http://localhost:11434/api/generate -d '{
  "model": "llama3.2",
  "prompt": "Why is the sky blue?"
}'

チャット補完

curl http://localhost:11434/api/chat -d '{
  "model": "llama3.2",
  "messages": [
    {"role": "user", "content": "Hello!"}
  ]
}'

デフォルトのレスポンスはストリーミングで、結果が少しずつ返ってきます。まとまった結果がほしいなら "stream": false を設定します。

OpenAI 互換 API——いちばん価値のある特長

これは本当に実用的です。Ollama は OpenAI 互換のインターフェースを提供しているので、既存の OpenAI コードをほぼ変えずにローカルモデルへ切り替えられます。

OpenAI 互換エンドポイント:

http://localhost:11434/v1/chat/completions

Python コードの例:

from openai import OpenAI

client = OpenAI(
    base_url='http://localhost:11434/v1',
    api_key='ollama'  # 何でもよい。影響しない
)

response = client.chat.completions.create(
    model="llama3.2",
    messages=[
        {"role": "user", "content": "Say this is a test"}
    ]
)

print(response.choices[0].message.content)

JavaScript コードの例:

import OpenAI from 'openai';

const client = new OpenAI({
  baseURL: 'http://localhost:11434/v1',
  apiKey: 'ollama'
});

const response = await client.chat.completions.create({
  model: 'llama3.2',
  messages: [{ role: 'user', content: 'Hello!' }]
});

console.log(response.choices[0].message.content);

こうすれば、開発・テスト時はローカルモデルで節約し、本番ではクラウド API に切り替えて安定性を確保できます。あるいは、いっそすべてローカルモデルで通せば、コストもデータプライバシーも手元でコントロールできます。

私のやり方は、環境変数を 1 つ用意して、環境に応じてローカルとクラウドを自動で切り替えることです。開発段階はデフォルトでローカルを使い、明確にクラウドの能力が必要なときだけ切り替えます。

Ollama の Python ライブラリ

OpenAI ライブラリのほかに、Ollama には独自の Python ライブラリもあり、より直接的です:

pip install ollama

基本的な使い方:

import ollama

response = ollama.chat(model='llama3.2', messages=[
  {'role': 'user', 'content': 'Why is the sky blue?'},
])

print(response['message']['content'])

ストリーミングモード:

import ollama

stream = ollama.chat(
    model='llama3.2',
    messages=[{'role': 'user', 'content': 'Why is the sky blue?'}],
    stream=True,
)

for chunk in stream:
    print(chunk['message']['content'], end='', flush=True)

ツール呼び出し(Tool Calling)

Ollama はツール呼び出しに対応しており、モデルが外部の関数や API を呼び出せます。複雑な AI アプリを構築するときに役立ちます。

例:

import ollama

response = ollama.chat(
    model='llama3.1',
    messages=[{'role': 'user', 'content': 'What is the weather in Toronto?'}],
    tools=[{
        'type': 'function',
        'function': {
            'name': 'get_current_weather',
            'description': 'Get the current weather for a city',
            'parameters': {
                'type': 'object',
                'properties': {
                    'city': {'type': 'string', 'description': 'The name of the city'},
                },
                'required': ['city'],
            },
        },
    }],
)

print(response['message']['tool_calls'])

モデルは質問に応じてツール呼び出しが必要かどうかを判断し、呼び出し用のパラメータを返します。あなたのコードが実際にツールを呼び出し、結果をモデルに返す流れです。


Ollama と LM Studio、どう選ぶ?

LM Studio という、同じくローカルで LLM を動かすツールを聞いたことがあるかもしれません。両者はどう選べばよいでしょうか。

正直なところ、それぞれに良さがあり、ニーズ次第です。

Ollama

  • コマンドライン中心で、開発者向け
  • インストールが簡単で、コマンド 1 つで完了
  • API サービスを自動で起動
  • サーバーやコンテナへのデプロイに完璧に対応
  • アプリ構築や自動化連携に向く

LM Studio

  • GUI で直感的に使える
  • モデルブラウザを内蔵し、ダウンロードが手軽
  • API サービスは手動で起動する必要がある
  • サーバーへのデプロイには向かない
  • モデルの探索や学習・テストに向く

ひとことで言えば:

  • AI アプリを構築する、サーバーへデプロイする、スクリプトで自動化する → Ollama
  • いろいろなモデルをすばやく試したい、コマンドラインが苦手、学習・探索したいだけ → LM Studio

実は両者は補い合えます。私は LM Studio で新しいモデルを見つけてテストし、良さそうだと確認できたら Ollama に正式に組み込みます。どちらも基盤は llama.cpp で、モデルには完全な互換性があります。


実際にどんな場面で使える?

私が実際に使ってきた場面をいくつか挙げます。

ローカルのコードアシスタント

Ollama を VS Code や Cursor に組み込めば、モデルにコードを書かせたり、説明させたり、リファクタリングさせたりできます。codellamadeepseek-coder がおすすめです。

ツールの面では、Continue.dev も Aider も Ollama の API に直接つなげます。設定さえ済ませれば、ローカルで無料のコードアシスタントが手に入ります。

ドキュメント Q&A システム

大量のドキュメントを検索して質問応答したいなら、Ollama とベクトルデータベースを組み合わせてプライベートな知識ベースを構築できます。流れはこうです:

  1. Ollama の embeddings インターフェースでドキュメントのベクトルを生成
  2. ベクトルデータベース(Chroma でも Qdrant でも可)に保存
  3. ユーザーが質問したら、まず関連するドキュメント断片を検索
  4. その断片をコンテキストとして、モデルに回答させる

これが典型的な RAG(検索拡張生成)アーキテクチャです。完全にローカル化でき、データは社内ネットワークの外に出ません。

プライベートな知識ベース

社内文書、技術資料、顧客情報……こうした機密データはクラウドへのアップロードに向きません。Ollama で完全にローカル処理すれば、プライバシーやコンプライアンスの要件を満たせます。

オフラインの場面

出張、屋外作業、回線が不安定な環境……。クラウド AI は使えませんが、Ollama は完全オフラインで動きます。PC に電源さえあれば、AI アシスタントを使えます。

開発・テスト環境

AI アプリを開発するとき、クラウド API を頻繁に呼び出すとコストがかさみます。Ollama を開発・テスト環境として使えば、節約できて手間も省けます。テストが済んだら、本番でクラウド API に切り替えればよいのです。


よくある質問

いくつか落とし穴を踏んできたので、解決策を共有します。


最後に

長く語ってきましたが、要はローカル LLM をもう少し手軽にしたい、ということです。Ollama はまさにそれを実現してくれました——複雑な設定も、深い AI の知識も要らず、数分で使い始められます。しかも完全無料で、オフラインでも使え、データのプライバシーも守られます。

次に試せることとして:

  • いろいろなモデルをテストして、自分のニーズにいちばん合うものを見つける
  • Ollama を自分の開発ワークフローに組み込む
  • RAG アーキテクチャを探求し、プライベートな知識ベースを構築する
  • サーバーにデプロイして、チームで共有する AI サービスを立ち上げる

ローカル AI の時代はもう来ています。Ollama があれば、クラウドに頼らず、自分のマシンで強力な言語モデルを動かせます。さあ、あなたのローカル AI の旅を始めましょう。

著者:Easton(テックブロガー。AI 開発とローカル化デプロイを専門とする)


参考資料

FAQ

モデルのダウンロードに失敗したときは?
たいていはネットワークの問題です。中国本土ではプロキシの設定が必要なことがあります:`export HTTP_PROXY=http://your-proxy:port` と `export HTTPS_PROXY=http://your-proxy:port`
GPU が認識されないときは?
まずドライバが正しくインストールされているか確認しましょう。NVIDIA は `nvidia-smi`、AMD は `rocminfo` で確認します。GPU の情報は見えるのに Ollama が使ってくれない場合は、環境変数の設定を見直してください。
メモリが足りないときは?
より小さいモデルに変えましょう。たとえば 8B から 3B へ。あるいは量子化版を使います(Q4_K_M は FP16 よりメモリを大きく節約できます)。コンテキスト長を縮めるのも有効です。
速度が遅いときは?
GPU 加速が有効になっているか確認しましょう。`ollama ps` で見て、Processor 列が `100% GPU` になっていれば正常です。さらに Flash Attention を有効化したり、コンテキスト長を縮めたり、量子化モデルを使ったりできます。
モデルがすぐにアンロードされてしまうときは?
デフォルトではアイドル 5 分でアンロードされます。頻繁に使うなら保持時間を延ばしましょう:`export OLLAMA_KEEP_ALIVE=30m`

8分で読めます · 公開日: 2026年4月1日 · 更新日: 2026年7月9日

関連記事

コメント

GitHubアカウントでログインしてコメントできます

Easton BlogEaston Blog