まず読み込み
最終更新
MacのNeural EngineでローカルAIを動かせる?GPU・MLXとの役割分担
Neural Engineに対応するモデルと実行プログラムを選びます。
Apple Neural Engine1はニューラルネットワーク計算用の専用ハードウェアです。Core ML2の音声認識ツールや一部のLLM3プロジェクトで使えます。まず用途を決め、実行プログラムがGPU4・Neural Engineのどちらを使うか確認します。
MacでLLMを使っているなら、まず実行エンジンを確認してください。MLX5モデルをMetal6 GPUで動かす経路、Core MLへ変換したモデルをNeural Engineへ配置する経路、プリフィル7の一部をGPUとANEで分担する経路があります。アプリとモデル形式で利用できる経路が変わります。
文字起こしと要約を分担します
録音を文字にするASR8には、音声を認識するモデルと結果をまとめるプログラムが必要です。WhisperKitはWhisperをCore MLで実行し、FluidAudioはParakeetなどの音声モデルを実行します。モデルを選んだら、Core MLのレポートでNeural Engineに配置される演算を確認します。音声処理とGPUのほかの仕事を分担できるか判断する材料になります。
議事録なら、まずASRで録音を文字にし、その文字をLLMへ渡して要約します。リアルタイム字幕では処理が重なるため、文字起こしと要約を同時に動かして遅延を比較してください。WhisperKit、FluidAudio

LLMでは入力を読む処理から分担する
M5 GPUのNeural Acceleratorsは何に使う?
M5のGPUコアには行列計算を加速するNeural Acceleratorsがあります。MLXはMetal 4のTensorOpsとMetal Performance Primitivesを通じてこのGPU機能を使います。AppleのM5 MLX性能記事が説明するのは、このGPU経路です。Apple MLX・M5
M5 GPUのNeural Acceleratorsを使うアプリはGPUで計算します。Neural Engineの利用を調べるには、Core MLのレポートでANEに配置された演算を確認します。新しいMacを選ぶ際も、チップのTOPSとともに、使うモデルの実行先と処理完了までの時間を比較すると判断に役立ちます。

アプリを選び、同じ仕事で比べる
韓国語録音の文字起こしは多言語WhisperKitモデルから、複数の音声機能をアプリに入れるならFluidAudioから検討します。長い文書をLLMへ頻繁に送る場合は、Splashのプリフィル分担も比較できます。やりたい処理を決めてから、それに対応するモデルとプログラムを選んでください。
最初のモデル取得とコンパイルにかかった時間は別に記録します。準備が終わったら同じ録音や文書を2回実行し、初回と繰り返しの完了時間・結果を比べます。普段併用するアプリを開いた状態でも試してください。計算を担当する装置まで詳しく見るには、次のCore ML確認ガイドへ進みます。

用語の注釈
Neural Engine — Apple Siliconに搭載されたニューラルネットワーク計算用の専用装置です。
本文に戻るCore ML — Apple機器で機械学習モデルを実行するフレームワークです。
本文に戻る大規模言語モデル — 大量のテキストデータから言語パターンを学び、文脈に沿ったテキストを処理・生成するモデルです。
本文に戻るGPU — 多くの計算を並列に処理するプロセッサーです。AIモデルの実行ではモデル計算を担います。
本文に戻るMLX — Appleが開発する機械学習フレームワークで、Apple SiliconのCPUとGPUが共有するメモリを使ってモデルを実行します。
本文に戻るMetal — Apple機器でグラフィックスやGPUの並列計算を実行する低水準の技術です。
本文に戻るプリフィル — LLMが入力プロンプトを読み、各トークンの内部表現を計算する段階です。プロンプトが長いほど処理するトークンが増えます。
本文に戻る自動音声認識 — 音声中の発話を認識してテキストに変換する技術です。
本文に戻るコンテキスト長 — 1回のリクエストでモデルが扱える入力と生成内容のトークン範囲です。上限や実際のメモリ使用量はモデルと実行設定によります。
本文に戻る
よくある質問
- この記事で最初に確認すべきことは何ですか?
- Apple Neural Engineはニューラルネットワーク計算用の専用ハードウェアです。Core MLの音声認識ツールや一部のLLMプロジェクトで使えます。まず用途を決め、実行プログラムがGPU・Neural Engineのどちらを使うか確認します。
