🦙

MacBook Air(M3) でローカルLLMを試してみる

に公開

概要

MacBook Air (M3) を入手したので、せっかくだしMacでどれくらいローカルLLMが動くのか気になって色々試してみました。Ollamaのセットアップから、いくつかのモデルを動かしてみた感想をまとめています。

今回は「モデルごとの推論精度や応答内容の比較」ではなく、「MacBook Air (M3) でどの程度のパラメータ数のモデルが動作するか」に着目しています。どこまで大きなモデルが動くのか、実際に試してみた記録です。

きっかけ・やってみた理由

これまでずっとWindowsを使ってきましたが、最近業務上の理由でMacが必要になりました。せっかく新しい環境になったので、前から気になっていた「今流行りのAI(ローカルLLM)」をMacでどこまで動かせるのか試してみたいと思い、今回の検証をやってみることにしました。

今回使ったMacのスペック

項目 内容
モデル名 MacBook Air
モデルID Mac15,12
チップ Apple M3
CPUコア数 8(パフォーマンス4+効率4)
メモリ 24GB
OSバージョン macOS 15.4.1 (Build 24E263)

試したこと・流れ

  • Ollamaの導入
  • Llama 2の各種モデル(7B/13B/70B)がMacBook Air (M3) でどこまで動くかを検証

Ollamaを入れてみる

今回はHomebrewを使ってOllamaをインストールしました。手順は以下の通りです。

インストール手順

  1. HomebrewでOllamaをインストール
brew install ollama
  1. インストール後、バージョンを確認
ollama --version

ollama version is 0.9.0 のように表示されればOKです。

※ サーバーがまだ起動していない場合、

Warning: could not connect to a running Ollama instance
Warning: client version is 0.9.0

のようなWarningが表示されることがありますが、インストール自体は問題ありません。

  1. Ollamaサーバーの起動

Ollamaはサーバーとして動作するため、下記コマンドでサーバーを起動します。

ollama serve

初回起動時は鍵の生成などが行われ、

Listening on 127.0.0.1:11434 (version 0.9.0)

のような表示が出ればサーバーが正常に起動しています。

※ サーバーを起動したターミナルはOllama専用になるので、以降の操作は別のターミナルウィンドウで行うのがオススメです。

Ollamaを入れてみる

ここまででOllamaのインストールとサーバー起動の準備ができました。次は実際にモデルを動かしてみます。

Llama 2 7B

ollama run llama2:7b
  • ダウンロードサイズ:約3.8GB
  • メモリ消費量:約4.2GB(アクティビティモニタ/topコマンドで確認)
  • 実際の応答例:
>>> 日本の首都は?
The capital of Japan is Tokyo.
  • 体感:サクサク動作、応答も速い

Llama 2 13B

ollama run llama2:13b
  • ダウンロードサイズ:約7.4GB
  • メモリ消費量:約6.5GB(アクティビティモニタ/topコマンドで確認)
  • 実際の応答例:
>>> 日本の首都は?
Tokyo
  • 体感:普通に動作し、応答も速い

Llama 2 70B

ollama run llama2:70b
  • ダウンロードサイズ:約38GB
  • メモリ消費量:アクティビティモニタ/topコマンド上では約38GBと表示(仮想メモリを含む)。物理メモリ24GBを超えた分はスワップが発生し、動作は極端に遅くなった。
  • 実際の応答例:2分以上待っても返答がなく、動作が非常に重い
  • 体感:MacBook Air (M3) の24GBメモリでは実用的な動作は難しい

モデルを動かしてみた感想

モデル名 ダウンロードサイズ メモリ消費量(最大) 体感・備考
llama2:7b 約3.8GB 約4.2GB サクサク動作、応答も速い
llama2:13b 約7.4GB 約6.5GB 普通に動作し、応答も速い
llama2:70b 約38GB アクティビティモニタ/topコマンド上では約38GBと表示(仮想メモリを含む)。物理メモリ24GBを超えた分はスワップが発生し、動作は極端に遅くなった。 2分以上待っても返答がなく、実用は厳しい

※「体感」は筆者個人の主観によるものです。実際の動作感は環境や状況によって異なる場合があります。


不要なモデルの削除方法

Ollamaでダウンロードしたモデルは、不要になった場合に削除することができます。今回の検証で使った70Bモデルのように、容量が大きくて今後使わない場合は削除しておくとディスク容量の節約になります。

削除コマンド例

ollama rm llama2:70b

このコマンドでllama2:70bモデルが削除されます。

※ モデル名の後ろにバージョンやタグが付いている場合は、正確な名前を指定してください。
※ 削除したモデルは再度使いたい場合、再ダウンロードが必要です。


まとめ

今回はMacBook Air (M3) でローカルLLM環境を構築し、Llama 2の各種モデルを動かしてみました。

小〜中規模モデル(7B/13B)は快適に動作し、大規模モデル(70B)はメモリや処理速度の面で現実的な運用は難しいことが分かりました。

特に印象的だったのは、Windows環境だとローカルLLMを快適に動かすには高性能なグラフィックボード(GPU)がほぼ必須ですが、Mac(Apple Silicon)では統合GPUだけでここまでスムーズに動く点です。ノートPC単体でこれだけのAIモデルが扱えるのは、かなり驚きでした。

今後は、より軽量なモデルや、ローカルLLMの応用例も試してみたいと思います。

Discussion