MacシリコンでローカルLLMを爆速化!PyTorchからOllamaへの乗り換え記録

M4 Mac miniでローカルLLMを動かしたいけど遅すぎて使い物にならない!と悩んでいた私が、PyTorchからOllamaへ切り替えたことで一気に快適になった話をまとめます。

背景:PyTorchのパフォーマンスに限界を感じた

M4チップのMac miniを開発機にして、ローカルでLLM(大規模言語モデル)を動かそうと考えたのがきっかけです。最初は、transformersライブラリ+PyTorchを用いてモデルをローカル推論していました。

from transformers import AutoModelForCausalLM, AutoTokenizer
import torch

model_name = "google/gemma3-4b"

tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype=torch.float16, device_map="auto")

inputs = tokenizer("こんにちは", return_tensors="pt").to(model.device)
outputs = model.generate(**inputs, max_length=50)

print(tokenizer.decode(outputs[0], skip_special_tokens=True))

このコード自体は動作するのですが、とにかく重い! CPUベースの処理になるため、数十トークンの生成に1分以上かかることもザラでした。

原因:PyTorchはNVIDIA GPUを前提としている

PyTorchはNVIDIA製のGPU(CUDA)を活用することで高速な推論が可能になりますが、Macシリコン(Apple Silicon)はCUDA非対応です。Metalバックエンドを使えばMPS(Metal Performance Shaders)でGPU推論も可能ですが、まだまだサポートや安定性に課題があります。

そのため、MacシリコンにおけるPyTorchのLLM推論は遅いというのが現実でした。

解決策:Ollamaに乗り換えたら劇的に改善!

そこで見つけたのが、Ollamaというツール。これは、AppleシリコンのGPU向けに最適化されたローカルLLM推論環境です。

Ollamaの特徴 AppleシリコンのGPUを最大限に活用

モデルの自動ダウンロード・管理

ollama run llama3のような簡単なCLIコマンドで起動可能

高速&低メモリ消費で、まさにMac mini向き!

導入方法(インストール)

bash
brew install ollama

または、公式サイト(https://ollama.com)からインストーラを入手してもOKです。

使用方法

bash
ollama run gemma3:4b

この一行で、モデルをローカルで起動し、対話可能なプロンプトが立ち上がります。内部ではMetalベースでGPU推論が行われており、体感で3倍以上のスピード向上が得られました。

bash
pip install ollama

でインストールして、Pythonプログラムに組み込むことも可能です。

例えば上のPytorchのコードと同様のコードは

import ollama

question = "こんにちは"

response = ollama.chat(
    model="gemma3:4b",
    messages=[
        { "role": "system",
          "content": "あなたは優秀な日本語のアシスタントです。指示に忠実に回答してください。"},
        { "role": "user",
          "content": question }],
    options={ "temperature": 0,     "num_predict": 50 })

answer = response["message"]["content"]
print(answer)

このように書けます。

結論:Mac mini × Ollamaは最強のローカルLLM環境!

PyTorchではどうしても重かったローカルLLMが、Ollamaのおかげで実用レベルに。特に以下のような方には強くおすすめします。

  • Macシリコン搭載のMacを使っている

  • プライバシーを重視し、クラウドを使わずにLLMを使いたい

  • 手軽に高速なローカル推論環境を整えたい

MacでPyTorchの遅さに悩んでいる方は、ぜひ一度Ollamaを試してみてください!