← [ TECH / 技術部 ] に戻る
OBSERVATION · 其の4830 · 2026.06.08

MacでWhisperを高速化する方法③:MLX編(Apple Silicon ネイティブ・mlx-whisper)

MacでWhisperを高速化する方法③:MLX編(Apple Silicon ネイティブ・mlx-whisper) — Whisper, MLX, Apple Silicon

こんにちは、パレイド技術部の夏目です。

MacでWhisperを高速化するシリーズの第3弾です。これまで①faster-whisper(Python実装・CTranslate2でCPUに強い)、②whisper.cpp(C/C++ネイティブ・依存最小)と、二つの高速化ルートを見てきました。今回はその次、Apple純正のMLフレームワーク MLX を使う mlx-whisper を試します。

MLXはApple SiliconのGPUとユニファイドメモリを直接叩く設計なので、特に大型モデルで素直に速度が出ます。「Pythonから最新のlarge-v3-turboを最短で回したい」人にとっては、これが第3の現実的な選択肢になります。実際にMacBook(Apple M5 / 32GB)で実測した数字を添えて、①②との住み分けまで整理します。

本記事はローカル LLM による自動執筆パイプラインで生成されました。現段階ではクラウド AI(Claude 等)の補助や人間の編集が介在していますが、pareido.jp では最終的に AI が自律的にコンテンツを制作できる仕組みの構築を目指しています。

MLX Whisperとは(概要)

MLX は、Appleの ml-explore チームが開発している Apple Silicon ネイティブの配列/機械学習フレームワークです。NumPy に近い書き味で、ユニファイドメモリ(CPU と GPU が同じメモリ空間を共有する構造)のおかげで、CPU と GPU の間でデータをコピーする必要がないのが大きな特徴です。mlx-whisper はその MLX 上に実装された Whisper で、Metal 経由で GPU を直接使って推論します。

  • Apple Silicon 専用(M1/M2/M3/M4/M5 世代向け、Intel Mac は対象外)
  • GPU を直接利用(faster-whisper の CPU/int8、whisper.cpp の C++ 実装とは別ルート)
  • Python から呼べるmlx_whisper.transcribe() 一発)
  • 量子化済みモデルが揃っている(HuggingFace の mlx-community に変換済みモデルが置かれている)
  • large-v3-turbo に対応(turbo はデコーダ層を削った軽量・高速版)

立ち位置を整理すると、faster-whisper は CPU/int8 で安定、whisper.cpp は 依存が最小でどこでも軽快、そして mlx-whisper は GPU を直接使うため大型モデルで有利、という三者三様の住み分けになります。

インストールと最短実行

導入は pip install mlx-whisper の 1 行だけです。MLX 本体は依存として一緒に入るので、別途のセットアップは要りません。

# 仮想環境を作って入れるのがおすすめ
python3 -m venv .venv && source .venv/bin/activate
pip install --upgrade pip
pip install mlx-whisper

Python から呼ぶ場合は、モデルを HuggingFace のリポジトリ名で指定します。初回だけモデルが自動ダウンロードされ、2 回目以降はキャッシュが使われます。

import mlx_whisper

# path_or_hf_repo にモデルのリポジトリを指定。language で日本語を明示
result = mlx_whisper.transcribe(
    "sample.m4a",
    path_or_hf_repo="mlx-community/whisper-large-v3-turbo",
    language="ja",
)
print(result["text"])

CLI も用意されています。スクリプトを書かずに 1 行で文字起こしできます。

# CLIで実行。--language ja で日本語を指定
mlx_whisper --model mlx-community/whisper-large-v3-turbo --language ja sample.m4a

モデルの選び方(mlx-community / 量子化)

mlx-whisper は、HuggingFace の mlx-community に置かれた変換済みモデルを読み込みます。ここには Whisper の各サイズが MLX 形式で揃っており、量子化版(4bit / 8bit / fp16)も配布されています。量子化とは、モデルの数値の精度を落としてファイルサイズと速度を稼ぐ手法で、精度の低下と引き換えに軽くなります。

モデル サイズ目安 精度 用途
tiny 約75MB 動作確認・短時間音声
base 約145MB やや低 ノート・要点拾い
small 約500MB 実務下書き・議事録
medium 約1.5GB 長時間・高精度
large-v3 約3GB 最高 校正・重要用途
large-v3-turbo 約1.6GB 高(large-v3に近い) 日本語実務の本命

迷ったら large-v3-turbo が現実的です。large-v3 に近い精度を保ちながら大幅に軽く、後述のとおり速度も実用域に収まります。より軽さを優先するなら small も日本語の下書き用途では十分戦えます。

速度の目安(実測:faster-whisper / whisper.cpp との比較)

ここからは実際に手元で計測した数字です。say コマンドで作った約 58 秒の日本語音声(16kHz / モノラル WAV)を、モデルを変えて文字起こしし、初回のダウンロード分を除いた 2 回目(キャッシュ済み)の処理時間を記録しました。

環境構成

項目 内容
マシン MacBook(Apple M5 / 10コア)
メモリ 32GB(ユニファイドメモリ)
OS macOS 26.4
Python 3.12
mlx-whisper 0.4.3(mlx 0.31.2)
入力音声 約58秒 / 16kHz / モノラル / 日本語

結果(mlx-whisper・58秒音声)

モデル 処理時間 リアルタイム比 結果
small 約1.6秒 約36倍速 ○ 速くて十分実用
large-v3-turbo 約1.9秒 約30倍速 ◎ 速度・精度のバランス最良
large-v3 約6.5秒 約9倍速 ○ 最高精度でも実用速度

※「リアルタイム比」= 音声の長さ ÷ 処理時間。値が大きいほど速い。初回はモデルのダウンロード(large-v3-turbo で約50秒)が別途かかります。

正直な感想として、large-v3-turbo の約1.9秒は驚くほど速いです。58秒の音声を2秒弱で返してきます。最高精度の large-v3 でも約6.5秒(9倍速)で、M5 では大型モデルでも待たされる感覚はほとんどありません。それでも turbo は large-v3 の3倍以上速く精度も近いため、日常用途では turbo が現実的な本命という印象でした。GPU を直接使う MLX が、大型モデルでこそ効いてくるのがよく分かる結果です。

faster-whisper(①)や whisper.cpp(②)との直接比較は、計測環境やモデル形式が揃わないと公平になりません。ここでは断定を避け、傾向として整理します。MLX は GPU を直接使うため large 系で有利faster-whisper は CPU/int8 で安定して回り、whisper.cpp は依存が最小で軽快——という相対的な住み分けが、各記事の実測からも見えてきます。

どれを選ぶか(①②③の使い分け)

三つの実装は競合というより、前提とする環境で棲み分けます。Python が手元にあって最新モデルを手早く回したいなら MLX、依存を増やしたくない・CLI だけで完結させたいなら whisper.cpp、Linux や Windows も含めた汎用 CPU 環境なら faster-whisper、という具合です。

条件 おすすめ 記事
Pythonで最新モデル(turbo)を手軽に mlx-whisper ③(本記事)
依存を最小化・CLIだけ・組み込み whisper.cpp
CPU/汎用環境・Linux/Windowsも faster-whisper

Mac(Apple Silicon)を持っていて Python に抵抗がないなら、まず mlx-whisper + large-v3-turbo を試すのが今のところ最短ルートです。

まとめ

  • 導入pip install mlx-whisper
  • 最小実行mlx_whisper --model mlx-community/whisper-large-v3-turbo --language ja sample.m4a
  • 推奨設定:日本語実務なら large-v3-turbo、軽さ優先なら small
  • メリット:Apple Silicon の GPU を直接使うため、大型モデルでも実用速度(58秒音声を約1.9秒)

MLX はまだ新しい枠組みですが、Apple 純正だけあって今後の Apple Silicon の進化をそのまま取り込んでいける点が心強いところです。①②③の使い分けに迷ったら、4 実装の違いを実測で比較した決定版ガイドも合わせてどうぞ。

リンク集

パレイドMacでWhisperをインストールして音声認識を試す(ローカル実行・Apple Silicon対応)こんにちは、パレイド技術部の夏目です。 (2026-06-08 更新)モデル表に large-v3-turbo を追加し、高速化の選択肢として MLX 編(③)… パレイドMacでWhisperを高速化する方法①:faster-whisper編(Python実装・Apple Silicon対応)Mac (Apple Silicon対応) で faster-whisper を導入し、Whisper の文字起こしを最大3倍高速化する方法を解説します。 パレイドMacでWhisperを高速化②whisper.cpp編:導入・モデル(ggml)DL・CLI実行の使い方【Apple Silicon】こんにちは、パレイド技術部の夏目です。 (2026-06-08 更新)Apple Silicon での GPU/Metal 利用と現行 CLI 名(whispe… パレイドMac版Whisper比較ガイド【決定版】openai-whisper・faster-whisper・whisper.cpp・MLX、4実装を同条件で再計測こんにちは、パレイド技術部の夏目です。 (2026-06-09 更新)MLX-Whisper を加えた4実装を同条件で再計測し、決定版に改稿しました。 Macで…
━━ 観るのを再開 ━━
次の回を読む
【日本人面地形 06】福島 ── 磐梯山、山体崩壊が刻んだ爆裂火口
技術部を一覧で
部門アーカイブ
[NEXT] FRONT · 其の4640
【日本人面地形 06】福島 ── 磐梯山、山体崩壊が刻んだ爆裂火口
[NEXT] FRONT · 其の4700
夢十夜・第四夜 ── 手拭が蛇になると言ったまま。果たされない約束