完全ガイド:Mac M3でOllamaを実行する方法

laptop_mac macOS Sonoma Intermediate schedule 8 min read
Author by Alex Rivera • May 14, 2024

あなたはすでに、地球上で最もパワフルなローカルAIマシンの一つを所有している。 ベースモデルの MacBook Pro M3MacBook Pro M3 Max、あるいは Mac Studio を使っていても関係ない — このガイドでは、Ollama を使ってその真の潜在能力を最大限に引き出す方法を伝授する。クラウド不要。APIの課金も不要。ただ、純粋でプライベートなインテリジェンスがそこにある。


Introduction

Ollama の動作には macOS 11 Big Sur 以降が必要だ。ただし、Apple Silicon GPU アクセラレーションと最高の Metal Performance Shaders (MPS) サポートを得るためには、macOS 14 Sonoma 以降で実行することを強く推奨する。

本ガイドでは macOS のターミナルを使用する。Cmd + Space を押して "Terminal" と入力するか、iTerm2 や Warp などの高機能な代替アプリを使用されたい。


Step 1 Installing Ollama

Mac に Ollama をインストールする方法は二つある。公式の macOS GUI インストーラーを使う方法と、Homebrew(macOS 向けパッケージマネージャー)を使う方法だ。Homebrew を強く推奨する — アップデートが驚くほど簡単になるからだ。

すでに Homebrew がインストール済みであれば、ターミナルを開いて以下を実行するだけだ:

Terminal
brew install ollama

インストール完了後、コマンドを待ち受けられるよう Ollama のバックグラウンドサービスを起動する:

Terminal
ollama serve

(注記: このターミナルウィンドウは開いたままにしておくか、brew services start ollama を実行してブート時にバックグラウンドで自動起動させること。)


Step 2 Pulling Your First Model

Ollama を使えば、大規模言語モデル(LLM)のダウンロードが Docker コンテナのプルと同じくらい簡単になる。

まずは Meta の Llama 3(パラメータ数 8B) から始めよう。高速かつ高い性能を持ち、あらゆる M3 Mac のメモリに完璧に収まるモデルだ。新しいターミナルウィンドウを開いて以下を実行する:

Terminal
ollama run llama3

次に何が起きるか? - Ollama がレジストリに接続する。 - 4.7GB のモデルウェイトをローカルドライブにダウンロードする。 - インタラクティブなチャットプロンプトに移行する。

あとは Write a python script to scrape a website と入力すれば、完全オフラインで Mac がリアルタイムにコードを生成するのを目の当たりにできる。


Hardware and RAM Limits

なぜ Apple Silicon Mac は AI に強いのか?答えは Unified Memory(ユニファイドメモリ) にある。

従来の PC では、システム RAM とグラフィックス RAM(GPU の VRAM)が分離している。AI モデルを高速に動かすには、モデル全体が VRAM に収まっている必要がある。しかし M3 Mac では、CPU と GPU が同一のメモリプールを共有する。36GB のユニファイドメモリを搭載した Mac であれば、GPU はそのすべてにアクセスできる!

Mac の RAM に応じて実行可能なモデルを以下に整理した:

Mac の RAM 最大モデルサイズ 推奨モデル 備考
8GB(ベース M3) 〜7B〜8B パラメータ Llama 3 (8B)、Mistral (7B)、Gemma (2B) メモリのスワップを避けるため他のアプリを閉じること。
16GB / 18GB 〜13B〜14B パラメータ Qwen 2.5 (14B)、Command R 最もバランスの取れた構成。Llama 3 (8B) を爆速で動かせる。
36GB / 64GB 〜30B〜70B パラメータ Mixtral (8x7B)、Llama 3 (70B at Q2) デスクトップクラスの AI をネイティブに動作。
128GB+ 〜120B+ パラメータ Llama 3 (70B Q8)、Command R+ 個人用スーパーコンピューターを所有している。

Step 3 Optimizing for Performance

Ollama が M3 の GPU を実際に使用しているのか、それとも低速な CPU にフォールバックしているのかを確認したいはずだ。数値で検証してみよう。

  1. Mac で アクティビティモニタ を開く(Cmd + Space -> "Activity Monitor")。
  2. Cmd + 4 を押して GPU ヒストリー ウィンドウを開く。
  3. そのウィンドウを表示したまま、ollama run llama3 を実行中のターミナルに戻る。
  4. 大きなプロンプトを入力する:Write a 1000 word essay about the history of artificial intelligence.

GPU ヒストリーのグラフを観察せよ。GPU 使用率が 90〜100% に張り付く、大きく持続的なスパイクが確認できるはずだ。これが見えれば、Apple の Metal アクセラレーションが完璧に機能している証拠だ!


Step 4 Exposing the Local API

ターミナルは優れたツールだが、美しい Web インターフェースを使いたい場合や、開発中のアプリにローカルモデルを統合したい場合はどうすればいいか?

Ollama はデフォルトでローカル API サーバーを起動している。ブラウザを開き、以下にアクセスしてみよう: http://localhost:11434

この API には、OpenAI API とまったく同じ要領で curl や Python からアクセスできる:

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

これで Mac M3 は、プライベートかつオフラインの AI サーバーへと変貌した。データはマシンの外に出ることなく、API 料金も一切発生しない。