1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Ollamaが遂にMLXをサポートするらしいので試してみました

Last updated at Posted at 2025-03-05

はじめに

Apple Silicon搭載のMacでローカルにLLM(大規模言語モデル)を動かしたい方は注目です。OllamaがAppleのMLXフレームワークのサポートに着手しました。これは特にMacユーザーにとって大きな進展で、MLXはAppleのユニファイドメモリとGPUを最大限に活用するように設計されています。その結果、より高速で効率的なLLMの実行が期待できます。

参考

この記事では、MLXとは何か、Ollamaにおけるその重要性、そして現在の開発状況について解説します。また、興味のある方が自分でビルドして試すための手順も紹介します。

MLXとは何か?

MLX(Machine Learning Accelerator)は、Apple Research(Apple機械学習研究チーム)によって開発された、Apple Silicon向けに特化した機械学習フレームワークです。PyTorch、JAX、ArrayFireにインスパイアされて作られており、以下のような特徴を持っています:

  • Appleシリコン専用設計: M1/M2/M3/M4チップの性能を最大限に引き出す
  • ユニファイドメモリモデル: CPUとGPUが同じメモリプールを共有するため、デバイス間のデータ転送が不要
  • 使いやすいAPI: NumPyに似たPython APIと、それを反映したC++、C、SwiftのAPI
  • 遅延計算: 配列は必要なときだけ物理メモリに配置され、効率的な計算が可能
  • 動的グラフ構築: 計算グラフを動的に構築するため、デバッグが容易

従来のLLMインフレンスライブラリ(llama.cpp等)と比較して、MLXはApple Siliconの特性を徹底的に活用するよう設計されています。特にユニファイドメモリアーキテクチャを活用するため、メモリ効率が非常に高く、大規模モデルの実行に適しています。

なぜOllamaにとってMLXが重要なのか?

Ollamaは、ローカル環境でLLMを簡単に実行できるオープンソースツールとして人気を集めています。しかし、Mac上での現在の実装は、Apple Siliconの能力を十分に活用できていないかもしれません。

MLXサポートの追加により、以下のような利点が期待されます:

  1. 処理速度の向上: 推論(テキスト生成)速度が大幅に向上
  2. メモリ効率の改善: ユニファイドメモリを活用して、より大きなモデルを実行可能に
  3. 電力効率の向上: Apple Siliconの省電力性能を活かした効率的な実行
  4. macOSネイティブ体験: より統合されたユーザー体験

現在の開発状況

OllamaチームはGitHubのプルリクエスト #9118でMLXバックエンドの開発を進めています。この実装はまだ初期段階ですが、早くも試すことができます。

自分でビルドして試す方法

興味のある方は、以下の手順でOllamaのMLXバージョンをビルドして試すことができます:

前提条件

MLXを使用するには、Macの開発環境が適切に設定されている必要があります:

  • Xcode: MLXビルドにはMetalコンパイラが必要です
  • Apple Silicon搭載のMac(M1/M2/M3/M4シリーズ)
  • macOS 12 (Monterey) 以降

ビルド手順

# リポジトリをクローン(既にクローン済みの場合はスキップ)
git clone https://github.com/ollama/ollama.git
cd ollama

# PRブランチに切り替え
git fetch origin pull/9118/head:mlx-backend
git checkout mlx-backend

# ビルド
cmake -S . -B build
cmake --build build -j 
go build .

# MLXバックエンドを有効にして実行
OLLAMA_NEW_ENGINE=1 OLLAMA_BACKEND=mlx ollama serve

トラブルシューティング

ビルド時に以下のようなエラーが発生する場合があります:

xcrun: error: unable to find utility "metal", not a developer tool or in PATH
-- `xcrun metal` error. Setting MLX_BUILD_METAL=OFF

これは、MLXのビルドにはMetalコンパイラが必要ですが、システムがそれを見つけられないことを示しています。このようなエラーが出た際には、コマンドラインツールだけではなくフルバージョンのXcodeがインストールされているか確認してください。

Xcodeフルバージョンのインストール(最も確実な解決策): コマンドラインツールだけでなく、App StoreからXcode完全版をインストールし、以下のコマンドを実行:

sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer

注意:MLXバックエンドはまだ開発段階のため、全てのモデルで最適なパフォーマンスが得られるわけではないと思います。また、バグや予期しない動作が発生する可能性があります。

参考リンク

1
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?