クイックセットアップ(3コマンド)
- 1Ollamaをインストール
Why it matters: `brew install ollama` — ワンクリックインストール。 - 2モデルをダウンロード
Why it matters: `ollama pull llama2` — Llama 2 7Bをダウンロードします。 - 3チャットを開始
Why it matters: `ollama run llama2` — 対話型チャットインターフェース。
Metal GPU確認
macOS上のOllamaではMetal GPU加速が自動的に有効になります。設定は不要です。Metalが動作していることを確認するには:
- 1詳細出力で実行
Why it matters: `ollama run llama3.1:8b --verbose`を実行し、コンソール出力で`ggml_metal_init: found device: Apple M[X]`を確認します。 - 2推論中の速度を確認
Why it matters: トークン生成レートを観察:Macによって20–60 tok/sであるべき(M5 Pro:Llama 3.1 8Bで約50 tok/s)。CPUのみのフォールバック:約1–5 tok/s。 - 3GPU使用率を監視
Why it matters: アクティビティモニタ(アプリケーション → ユーティリティ)を開いてGPUセクションを確認。Metalが動作している場合、推論中は80–100%のGPU使用率を示すはず。
モデル管理
- 1`ollama pull <モデル>`
Why it matters: モデルをダウンロード。例:`ollama pull mistral`。 - 2`ollama list`
Why it matters: ダウンロード済みの全モデルを一覧表示。 - 3`ollama run <モデル>`
Why it matters: モデルで対話型チャットを開始。 - 4`ollama rm <モデル>`
Why it matters: ストレージを解放するためにモデルを削除。
Apple Siliconのメモリ最適化
- OLLAMA_MAX_LOADED_MODELS:メモリに保持するモデル数。デフォルト:1。マルチモデルセットアップでは2–3に設定。
- GPUレイヤー:デフォルトでOllamaは利用可能なすべてのユニファイドメモリを使用。メモリが不足する場合はModelfileで`num_gpu_layers`を設定。
- Whisper:埋め込みモデルとLLMと組み合わせ — OllamaでM5 Pro 64GBに収まります。
複数モデルの同時実行
Whisper STT + Llama 3.1 8B + LLaVA Visionを同時に実行する必要がありますか?すべてをメモリにロードしておくようにOllamaを設定します。
export OLLAMA_MAX_LOADED_MODELS=3
export OLLAMA_KEEP_ALIVE=1h
brew services restart ollama
# Now pull all models you need
ollama pull llama3.1:8b
ollama pull llava:7b
# Send requests to each — they stay loaded
curl http://localhost:11434/api/chat -d '{"model": "llama3.1:8b", "messages": [{"role": "user", "content": "Hello"}]}'
curl http://localhost:11434/api/chat -d '{"model": "llava:7b", "messages": [{"role": "user", "content": "Describe this image"}]}'ログイン時の自動起動
Ollamaはbrew servicesを通じてMacにログインすると自動的に起動できます。
# Enable auto-start
brew services start ollama
# Check status
brew services list | grep ollama
# Disable auto-start (optional)
brew services stop ollama開発者向けAPIセットアップ
OllamaはOpenAI互換のREST APIを`localhost:11434`で公開しています。`ollama serve`またはbrew servicesでサーバーを起動し、任意のプログラミング言語からリクエストを送信できます。
# Chat endpoint (streaming)
curl http://localhost:11434/api/chat -d '{
"model": "llama3.1:8b",
"messages": [{"role": "user", "content": "Write a Python function"}],
"stream": false
}'
# Python example
import requests
response = requests.post(
"http://localhost:11434/api/chat",
json={
"model": "llama3.1:8b",
"messages": [{"role": "user", "content": "Hello"}],
"stream": False
}
)
print(response.json()["message"]["content"])Modelfileのカスタマイズ
システムプロンプトとパラメータを含むカスタムモデルを作成します。
- `ollama create llm-expert -f Modelfile` — カスタムモデルをビルド
- `ollama run llm-expert` — カスタムモデルで対話型チャットを開始
- `ollama run llm-expert "Code review this function"` — プロンプトを直接送信
FROM llama2
SYSTEM "You are an expert software engineer reviewing code for security and performance issues. Provide actionable feedback."
PARAMETER temperature 0.7
PARAMETER top_p 0.9よくある問題と解決策
- Metalが検出されない: `ollama run llama3.1:8b --verbose`で確認し`ggml_metal_init: found device: Apple M[X]`を探す。ない場合は再起動:`brew services restart ollama`または`pkill ollama && ollama serve &`。
- 推論が遅い(CPUフォールバック): 原因:Metalの初期化に失敗し、モデルがCPUで動作中。アクティビティモニタを確認 — 推論中はGPU使用率が80–100%のはず。GPUが0%の場合:Ollamaを再起動。
- メモリ不足(OOM): モデルがクラッシュするか応答が切れる。原因:モデル + コンテキスト + macOSオーバーヘッドがRAMを超えている。解決策:(1) より小さい量子化を使用(`ollama pull llama3.1:8b-q4_K_M`)、(2) コンテキストを削減(`OLLAMA_NUM_CTX=2048 ollama run llama3.1:8b`)、(3) より小さいモデルを使用(`ollama pull phi4` — 2.5 GB)。
- モデルダウンロードが止まる: 原因:ネットワーク制限またはHuggingFaceのレート制限。修正:`pkill ollama && ollama pull llama3.1:8b`(前回の進捗から再開)。
- ポート11434が使用中: 別のOllamaインスタンスが実行中、または別のサービスがポートを使用。確認:`lsof -i :11434`。修正:`pkill ollama`して再起動。
- モデルが意味不明 / ランダムな文字を出力: 原因:Modelfileパラメータが範囲外、または間違ったテンプレート。修正:公式モデルを取得`ollama pull llama3.1:8b`(カスタムを上書き)、次にテスト:`ollama run llama3.1:8b "Hello, how are you?"`。
- ストレージがいっぱいになる: モデルは`~/.ollama/models/`に保存。サイズ確認:`du -sh ~/.ollama/`。未使用を削除:`ollama rm <モデル名>`。
Ollamaは無料ですか?
はい。Ollamaはオープンソースです。モデル(Llama、Mistral)は無料でライセンスされています。料金は一切かかりません。
GPUなしでOllamaを使用できますか?
はい、ただし遅いです。CPUのみ:7Bモデルで約1–5 tok/s。GPU(MacのMetal):Macによって20–60 tok/s。
どのモデルから始めればよいですか?
Mistral 7BまたはLlama 2 7B。どちらもM1+ Macで動作し、良好な出力を生成します。それぞれ約4GB。
複数人が同時にOllama APIを使用できますか?
はい。1台のデバイスで`ollama serve`を実行すれば、LAN上の全員がそのデバイスのIP:11434のREST APIにアクセスできます。
OllamaはMacのダウンロード済みモデルをどこに保存しますか?
デフォルトの場所:`~/.ollama/models/`。各モデルは数GB。合計ディスク使用量の確認:`du -sh ~/.ollama/`。場所を変更するには、Ollamaを起動する前に`OLLAMA_MODELS=/パス/に/モデル`環境変数を設定します。
IntelのMacでOllamaを実行できますか?
はい、ただしMetal GPU加速なしで。パフォーマンスはCPUのみ:7Bモデルで1–5 tok/s(Apple Siliconの20–60 tok/sと比較)。テスト用には使えますが、本番用には適していません。
インストール後にOllamaはオフラインで動作しますか?
はい。モデルがダウンロードされると、Ollamaは完全にオフラインで動作します。推論にインターネット接続は不要です。モデルのダウンロード(`ollama pull`)のみインターネットアクセスが必要です。