Apple Silicon の Mac でローカル LLM を動かす選択肢は、この 1〜2 年でかなり増えました。ところが Claude Code のようなコーディングエージェントを常用しようとすると、多くの人が同じ壁にぶつかります。エージェントがファイルを読み直したり会話を要約したりするたびにコンテキストが変化し、そのつどプロンプト処理(prefill)が最初からやり直しになって、応答が返るまで数十秒待たされるという壁です。
選択肢が増えたこと自体も、判断を難しくしています。Ollama、LM Studio、mlx-lm、vllm-mlx、そして oMLX。どれも「Mac でローカル LLM を動かす」と説明されるため、名前だけを並べても自分の使い方にどれが合うのかが見えてきません。ローカル LLM をそもそも導入すべきかという段階の整理はローカルLLMとはにまとめていますが、本記事はその一段先、「MLX 系の推論サーバーの中でどれを選ぶか」を扱います。
oMLX は、この「待ち時間」の構造そのものを設計で変えようとしている Apple Silicon 専用の推論サーバーです。KV キャッシュをメモリだけでなく SSD にまで永続化し、サーバーを再起動したあとでも過去のプレフィックスを再計算せずに復元する、という発想が中核にあります。
本記事では、公式 README・公式サイト・GitHub の公開情報をもとに、oMLX の仕組み・主要機能・類似 OSS との違い・導入前に確認したい条件を整理します。インストールや実行による動作検証は行っておらず、記載内容はすべて公開ドキュメントと GitHub API から取得した値に基づく整理です。 数値や挙動の最終確認は必ず公式ドキュメントで行ってください。
oMLXとは|Apple Silicon Mac専用のローカルLLM推論サーバー

oMLX は、Apple Silicon 搭載の Mac 向けに設計されたローカル LLM 推論サーバーです。リポジトリの説明文では「連続バッチングと SSD キャッシングを備えた Apple Silicon 向け LLM 推論サーバー。macOS のメニューバーから管理できる」と位置づけられており、単なるモデル実行ツールではなく、複数モデルを同時に配信し続けるサーバーとして作られている点が特徴です。
リポジトリは jundot/omlx で公開されています。
oMLXの基本情報
GitHub API から取得した基本情報は以下のとおりです(2026 年 8 月 25 日時点)。
項目 | 値 |
|---|---|
リポジトリ | jundot/omlx |
主要言語 | Python |
ライセンス | Apache-2.0 |
スター数 | 20,550 |
フォーク数 | 1,737 |
最終更新(pushed_at) | 2026-08-24 |
公開日(created_at) | 2026-02-13 |
公式サイト | |
topics | apple-silicon / inference-server / llm / macos / mlx / openai-api |
公開から半年ほどで 20,550 スターに達しており、Mac 向けローカル LLM のカテゴリでは急速に存在感を増しているプロジェクトです。GitHub 上の属性を見ると、アーカイブ済みではなく(archived=false)、他リポジトリのフォークとして登録されているわけでもありません(fork=false)。可視性は public、リポジトリの無効化フラグも立っておらず、Apache-2.0 ライセンスが明示されています。最終更新も 2026-08-24 と直近であり、更新が止まったプロジェクトではありません。
vllm-mlxから派生した経緯と現在の立ち位置
ここで注意しておきたいのが出自です。GitHub 上のフォーク属性は false ですが、README の謝辞では「oMLX は vllm-mlx v0.1.0 から出発し、マルチモデル配信・階層 KV キャッシュ・完全な paged cache 対応 VLM・管理パネル・macOS メニューバーアプリを備えて大きく進化した」と作者自身が明記しています。つまり GitHub の管理上は独立リポジトリですが、コードの出発点としては vllm-mlx v0.1.0 から派生したプロジェクトです。
作者が README の冒頭で語る開発動機も、位置づけの理解に役立ちます。作者が評価したどの LLM サーバーも「利便性」か「制御」かの二択を迫ってきたこと、日常使いのモデルはメモリに常駐させたまま重いモデルだけをオンデマンドで入れ替えたかったこと、そしてそれらをすべてメニューバーから管理したかったこと。この 3 点が、後述するマルチモデル配信とメニューバーアプリという設計に直結しています。
MacのローカルLLM運用でoMLXが解決する課題
oMLX が何を解決しようとしているかは、oMLX 公式サイト の問題提起がもっとも端的です。公式サイトは「コーディングエージェントは 1 セッションで何十回も KV キャッシュを無効化する」と指摘しています。
この因果を分解すると、次の流れになります。コーディングエージェントは会話の途中でファイルを読み込み直したり、履歴を圧縮したり、システムプロンプトを差し替えたりします。すると入力トークン列の途中が書き換わり、そこから先の KV キャッシュがすべて無効になります。無効になった分は再計算するしかないため、長いコンテキストほど最初のトークンが返るまでの時間(TTFT)が伸びていきます。
oMLX の答えは「キャッシュブロックをすべて SSD に永続化し、エージェントが以前のプレフィックスに戻ってきたときはディスクから復元する」というものです。公式サイトは、この設計により長いコンテキストでの TTFT が 30〜90 秒から 5 秒未満に下がると主張しています。ただしこれは公式の主張であり、かつ M3 Ultra 512GB という最上位機で、2 ターン目以降(=すでにキャッシュが作られている状態)を前提とした数値である点は押さえておく必要があります。
したがって、自分のユースケースがこの課題に当てはまるかどうかが最初の判断ポイントになります。1 セッションで何十往復もするコーディングエージェントや、同じ長大なシステムプロンプトを繰り返し使うワークフローであれば、キャッシュの再利用が効く場面が多くなります。逆に、毎回まったく異なる短いプロンプトを 1 往復だけ投げるような単発チャット用途では、キャッシュ永続化の恩恵は小さくなります。この差は機能表を眺めているだけでは見えないため、先に自分の使い方を確認しておくと選定が早く済みます。
oMLXの中核|階層KVキャッシュと連続バッチングの仕組み

oMLX の設計は README のアーキテクチャ図に集約されています。以下は README の該当箇所からの抜粋です。
FastAPI Server (OpenAI / Anthropic API)
│
├── EnginePool (multi-model, LRU eviction, TTL, manual load/unload)
│ ├── BatchedEngine (LLMs, continuous batching)
│ ├── VLMEngine (vision-language models)
│ ├── EmbeddingEngine
│ └── RerankerEngine
│
├── ProcessMemoryEnforcer (total memory limit, TTL checks)
│
├── Scheduler (FCFS, configurable concurrency)
│ └── mlx-lm BatchGenerator
│
└── Cache Stack
├── PagedCacheManager (GPU, block-based, CoW, prefix sharing)
├── Hot Cache (in-memory tier, write-back)
└── PagedSSDCacheManager (SSD cold tier, safetensors format)
出典: oMLX の README
上から順に、API を受け付ける FastAPI サーバー、モデルの生存管理を担う EnginePool、メモリ上限を監視する ProcessMemoryEnforcer、リクエストを並べる Scheduler、そしてキャッシュ階層という構成です。他ツールとの差が「機能の有無」ではなく「設計の階層」に由来していることが読み取れます。
ホット(RAM)とコールド(SSD)の2階層KVキャッシュ
oMLX の KV キャッシュは、oMLX の README(Features) によると vLLM に着想を得たブロック単位の管理方式を採用しています。プレフィックス共有(prefix sharing)と Copy-on-Write に対応しており、同じ接頭辞を持つリクエスト同士でキャッシュブロックを共有できます。
2 階層構造は次のように動きます。まずホット層(RAM)にキャッシュを保持し、ホット層が埋まるとコールド層(SSD)へ safetensors 形式でオフロードします。次にプレフィックスの一致するリクエストが来たとき、そのブロックはディスクから復元されるため再計算が不要になります。README は、この復元がサーバー再起動をまたいでも機能すると説明しています。プロセスを落としても計算済みのキャッシュ資産が残る、という点が通常のインメモリキャッシュとの決定的な違いです。
KV キャッシュを階層的にオフロードして再利用するという考え方自体は、サーバーサイドの LLM 推論基盤でも採用されています。GPU データセンターで vLLM を運用する文脈では LMCache が同種のアプローチを採っています。ただし LMCache が NVIDIA / AMD GPU を並べたデータセンター構成を前提にしているのに対し、oMLX は Apple Silicon の統合メモリと、個人や小規模チームが 1 台の Mac を使い続けるという利用シーンを前提にしています。同じ「階層 KV キャッシュ」という語でも、想定するハードウェアと運用単位がまったく異なる点は混同しないほうがよいでしょう。
連続バッチングによるスループット向上
oMLX は mlx-lm の BatchGenerator を利用して連続バッチング(continuous batching)を行います。複数リクエストが同時に来た場合、それらをまとめて処理することで GPU の空き時間を減らす仕組みです。同時リクエストの上限は CLI と管理画面から設定でき、デフォルトは 8 です。
公式サイトは、8 並列時に生成速度が最大 4.14 倍になると記載しています。1 人で使う場合には直接効きませんが、複数のエージェントを並行して走らせる、あるいはチームで 1 台の Mac を共有サーバーとして使うといった構成では判断材料になります。
マルチモデル配信とメモリ管理
oMLX は LLM・VLM(画像理解モデル)・埋め込みモデル・リランカーを同一サーバー上に同時ロードできます。冒頭で触れた「日常使いのモデルは常駐させ、重いモデルはオンデマンドで入れ替えたい」という動機がそのまま機能になっており、以下が README に挙げられています。
- メモリ逼迫時の LRU による自動退避
- 手動でのロード / アンロード
- 特定モデルのピン留め(退避対象から除外)
- モデルごとの TTL 設定
- プロセス全体のメモリ上限(デフォルトはシステム RAM から 8GB を引いた値)による OOM 防止
RAG 構成のように「生成モデル+埋め込みモデル+リランカー」を同時に必要とする場合、これらを 1 プロセスで管理できるかどうかは運用の手間に直結します。単一モデルしか使わない用途では、この機能はそれほど効いてきません。
主要なCLIオプション
サーバー起動時の主なオプションは README の CLI Configuration に記載されています。以下は該当箇所からの抜粋です。
omlx serve --model-dir ~/models --memory-guard safe
omlx serve --model-dir ~/models --paged-ssd-cache-dir ~/.omlx/cache
omlx serve --model-dir ~/models --hot-cache-max-size 20%
omlx serve --model-dir ~/models --max-concurrent-requests 16
出典: oMLX の README
--paged-ssd-cache-dir でコールドキャッシュの配置先、--hot-cache-max-size でホット層に割り当てる割合、--max-concurrent-requests で同時実行数を指定する形です。設定は ~/.omlx/settings.json に永続化され、CLI フラグが優先されます。同じ設定は管理画面 /admin からも変更できます。
OpenAI/Anthropic互換APIとClaude Code連携
移行コストを判断するうえで重要なのが API 互換性です。oMLX は OpenAI API と Anthropic API のドロップイン代替として設計されており、README では以下のエンドポイントが提供されています。
エンドポイント | 内容 |
|---|---|
| チャット補完(ストリーミング対応) |
| テキスト補完(ストリーミング対応) |
| Anthropic Messages API |
| テキスト埋め込み |
| ドキュメントのリランキング |
| 利用可能モデル一覧 |
注目したいのは /v1/messages(Anthropic Messages API)をネイティブで提供している点です。OpenAI 互換だけを提供するサーバーの場合、Anthropic 形式でリクエストするクライアントを繋ぐには変換用のゲートウェイを挟む必要があります。oMLX はその一段を省ける設計になっており、Claude Code のように Anthropic 形式を前提とするツールを直接向けられます。
Claude Code 向けにはさらに 2 つの調整が入っています。ひとつはコンテキストスケーリングで、コンテキスト長の短いモデルを使う場合に報告トークン数をスケールし、auto-compact が適切なタイミングで発火するようにします。もうひとつは SSE keep-alive で、長い prefill 中にクライアント側が read timeout で切断するのを防ぎます。どちらも「ローカルモデルは商用 API よりコンテキストが短く、prefill が長い」という現実に対する実務的な補正です。
ツール呼び出しについては、モデルファミリごとに異なる出力形式を自動検出します。README には Llama / Qwen 系の JSON <tool_call>、Qwen3.5 系の XML 形式、Gemma、GLM、MiniMax、Mistral、Kimi K2、Longcat といった形式が列挙されています。ローカルモデルを切り替えるたびにツール呼び出しのパーサーを書き換える必要がない、という点は複数モデルを試す段階では地味に効いてきます。MCP にも対応しており、--mcp-config で設定ファイルを渡す形です。
加えて、管理ダッシュボードから OpenClaw / OpenCode / Codex / Hermes Agent / Copilot / Pi 向けの設定をワンクリックで生成できます。各ツールの設定ファイルを手で書き換える手間が減るため、複数クライアントを併用している場合は導入初日の負担が変わってきます。
管理ダッシュボードとmacOSメニューバーアプリ
oMLX は CLI 単体で完結せず、GUI を前提とした運用手段を持っています。この点が、CLI 中心の他ツールとの体験差になります。
/admin で提供される Web ダッシュボードでは、リアルタイム監視、モデルのロード / アンロード、ロード済みモデルとのチャット、ワンクリックのベンチマーク実行、モデル別設定の変更ができます。UI は日本語を含む 8 言語に対応し、CDN 依存をすべて同梱しているためオフライン環境でも動作します。HuggingFace の MLX モデルをダッシュボードから検索・ダウンロードする機能もあり、モデルカードやファイルサイズを確認したうえで取得できます。
モデル別設定では、サンプリングパラメータ・chat template の引数・TTL・エイリアス・モデル種別の上書きなどを個別に管理でき、再起動なしで反映されます。設定の束を Profiles としてまとめると <model>:<profile> という名前で /v1/models に露出し、同一エンジン上でリクエストごとに設定を切り替えられます。追加のメモリ消費もモデルの再ロードも発生しない仕組みのため、「同じモデルを創造性重視と厳密性重視で使い分けたい」といった要件を軽量に満たせます。
メニューバーアプリは Swift / SwiftUI で書かれたネイティブアプリで、Electron ベースではありません。署名・公証済みで、アプリ内自動アップデートに対応しています。ターミナルを開かずにサーバーの起動・停止・監視ができ、再起動をまたいで配信統計が残り、クラッシュ時には自動で再起動します。チーム内に CLI に不慣れなメンバーがいる場合や、開発機で常時起動させておきたい場合には、この差が実運用の定着率を左右します。
公式ベンチマークで見るoMLXの性能と読み方

oMLX 公式ベンチマーク には複数モデルの計測値が掲載されています。ここでは代表的な 2 モデルを引用しますが、掲載されている数値はすべて M3 Ultra 512GB での計測であり、一般的な Mac にそのまま外挿できるものではありません。
Qwen3.5-122B-A10B-4bit の単一リクエスト時(公式計測値):
コンテキスト | Prompt TPS | Token TPS | ピークメモリ |
|---|---|---|---|
1k | 768 tok/s | 56.6 tok/s | 65.5 GB |
8k | 941 tok/s | 54.0 tok/s | 69 GB |
16k | 886 tok/s | 48.3 tok/s | 71 GB |
32k | 765 tok/s | 42.4 tok/s | 73 GB |
Qwen3-Coder-Next-8bit の単一リクエスト時(公式計測値):
コンテキスト | Prompt TPS | Token TPS | ピークメモリ |
|---|---|---|---|
1k | 1,462 tok/s | 58.7 tok/s | 80 GB |
8k | 2,009 tok/s | 54.9 tok/s | 83 GB |
16k | 1,896 tok/s | 52.3 tok/s | 83 GB |
32k | 1,624 tok/s | 45.1 tok/s | 85 GB |
連続バッチングの効果は、Qwen3-Coder-Next-8bit で 1 並列 58.7 tok/s に対し 8 並列 243.3 tok/s(4.14 倍)、Qwen3.5-122B-A10B-4bit で 1 並列 56.6 tok/s に対し 8 並列 190.2 tok/s(3.36 倍)と記載されています。いずれも pp1024 / tg128、キャッシュ再利用なしの条件です。
出典: oMLX 公式ベンチマーク(いずれも M3 Ultra 512GB での計測値、2026 年 8 月 25 日確認)
この表を読むときに見るべきは tok/s よりもむしろピークメモリの列です。上の 2 モデルでも 65.5〜85GB を消費しており、公式ベンチマークに掲載されている GLM-5-4bit に至っては 392〜415GB に達します。16GB や 32GB の Mac では、そもそもこれらのモデルがメモリに載りません。「公式ベンチマークで 50 tok/s 出ているから自分の環境でも同程度出るはず」という読み方は、判断を大きく誤らせます。自分の Mac のメモリ容量に収まるモデルサイズを先に決め、そのうえで oMLX の設計上の利点(キャッシュ永続化・連続バッチング)が効くかを考える順序が現実的です。
独自量子化「oQ」と複数Macでの分散推論
oMLX には、現時点で使える機能と、将来の拡張余地として位置づけられる機能が混在しています。期待値を適正化するために、両者を切り分けておきます。
まず oQ(oMLX Universal Dynamic Quantization)は、oQ 量子化ドキュメント で解説されている独自の混合精度量子化です。固定ルールやテンソル種別で bit 数を割り当てるのではなく、キャリブレーションで層ごとの量子化感度を実測し、データが重要と示す箇所に bit を配分するデータ駆動の方式を採ります。量子化レベルは oQ2(約 2.9 bpw)から oQ8(約 8.6 bpw)まであり、推奨は oQ4(約 4.6 bpw)です。oQ+ は量子化前に GPTQ ベースの重み最適化を追加します。
採用判断の観点で重要なのは、oQ の出力が標準の mlx-lm 互換モデルであるという点です。ドキュメントは「量子化は特定の推論サーバー専用であるべきではない」という方針を明示しており、生成したモデルは oMLX 以外の mlx-lm や MLX safetensors 対応アプリでもカスタムローダーなしで動きます。仮に将来 oMLX から別ツールへ移行しても、量子化済みモデルの資産は持ち出せるという設計です。長期採用時のロックインリスクを評価するうえでは、機能そのものより重要な情報かもしれません。
性能面では、公式ドキュメントに Qwen3.5-35B-A3B での mlx-lm との比較が掲載されています。
ベンチマーク | 2-bit(mlx-lm → oQ) | 3-bit(mlx-lm → oQ) | 4-bit(mlx-lm → oQ) |
|---|---|---|---|
MMLU | 14.0% → 64.0% | 76.3% → 85.0% | 79.7% → 83.3% |
TruthfulQA | 17.0% → 80.0% | 81.7% → 86.7% | 87.7% → 88.0% |
HumanEval | 0.0% → 78.0% | 84.8% → 86.6% | 87.2% → 85.4% |
MBPP | 0.3% → 63.3% | 69.0% → 72.0% | 71.7% → 74.3% |
出典: oQ 量子化ドキュメント(MMLU / TruthfulQA / MBPP は 300 サンプル、HumanEval は 164 件全件)
低 bit 域では差が大きい一方、4-bit の HumanEval では mlx-lm(87.2%)が oQ(85.4%)を上回っています。oQ が常に優位というわけではなく、恩恵が大きいのは主にメモリを切り詰めたい低 bit 域である、と読むのが妥当です。
もうひとつの拡張機能が複数 Mac にまたがる分散推論です。分散推論のドキュメント によれば、MLX の pipeline rank を使って 1 つのモデルをメモリ容量の異なる複数の Mac に分割し、Ring または Thunderbolt RDMA 経由で接続します。Cluster ダッシュボードがピア探索・SSH とランタイムの検証・バイト単位の不均等シャード計画・実測に基づくリバランスを担当します。ただしこれは実験的機能であり、ソースビルド限定です。手元に複数の Mac があるという理由だけで導入判断の決め手にするのは避けたほうがよいでしょう。
類似OSSとの違い|vllm-mlx・mlx-lm・Ollamaとの選び分け

ここが選定でもっとも迷うところです。まず前提として整理しておきたいのは、mlx-lm は oMLX の競合ではなく依存先だという点です。oMLX は mlx-lm の BatchGenerator を内部で利用しており、両者は同じ土俵に並ぶツールではありません。
類似OSSの比較表
以下の数値は 2026 年 8 月 25 日時点の GitHub API 取得値です。
リポジトリ | スター | 言語 | ライセンス | 最終更新 | oMLX との差分 |
|---|---|---|---|---|---|
jundot/omlx(本記事) | 20,550 | Python | Apache-2.0 | 2026-08-24 | Apple Silicon 特化の推論サーバー。連続バッチング+ホット/コールド 2 階層 KV キャッシュ+マルチモデル同時配信+管理画面+メニューバーアプリ |
1,538 | Python | Apache-2.0 | 2026-08-22 | oMLX の出発点。同じく Apple Silicon 向け OpenAI/Anthropic 互換サーバーで連続バッチング・マルチモーダル・MCP に対応。oMLX が後から加えたのはマルチモデル同時配信・階層 KV キャッシュ・VLM の完全 paged cache 対応・管理パネル・メニューバーアプリ | |
6,762 | Python | MIT | 2026-08-25 | Apple 公式の MLX 向け LLM 実行ライブラリ。oMLX が内部で依存する側。単体ではライブラリ+簡易サーバーで、マルチモデル同時配信・SSD 永続 KV キャッシュ・GUI は持たない | |
736 | Python | MIT | 2026-05-09 | Apple Silicon 向け OpenAI 互換ローカルサーバー。「OpenAI API のローカル置き換え」志向でテキスト以外もカバー。最終更新は 2026-05 で更新頻度は低め。SSD 永続 KV キャッシュ・連続バッチングの記載はない | |
179,353 | Go | MIT | 2026-08-25 | macOS / Linux / Windows のクロスプラットフォーム。エコシステムとモデル配布の手軽さが最大の強み。KV キャッシュはメモリ中心で、SSD への永続化と Apple Silicon 特化の最適化が oMLX の差別化点 |
Ollama および LM Studio との違いについては、公式サイトの FAQ が直接説明しています。要点は「両者は KV 状態をメモリにキャッシュするが、コーディングエージェントのようにセッション途中でコンテキストが動くとキャッシュ全体が無効化され再計算になる。oMLX は全 KV キャッシュブロックを SSD に永続化するため既存キャッシュ分は常に復元できる」というものです。裏を返せば、コンテキストが動かない使い方では両者の差は縮まるということでもあります。
用途別の選び分け
これまでの内容を、判断軸として整理します。
- コーディングエージェントを常用する場合: oMLX の適合度が最も高くなります。SSD 永続キャッシュが効く典型的なパターンであり、Anthropic 互換 API のネイティブ提供も移行コストを下げます。
- 単発チャット・モデルの動作確認が中心の場合: キャッシュ永続化の恩恵は小さくなります。モデル配布の手軽さとエコシステムの厚みが勝る Ollama のほうが総合的な手間は少なくなります。
- Windows / Linux も併用する前提の場合: oMLX は macOS 専用のため候補から外れます。クロスプラットフォームの Ollama、あるいは GGUF エコシステムの llama.cpp が現実的な選択肢です。
- ライブラリとして自作アプリに組み込みたい場合: サーバーではなく mlx-lm を直接使うほうが素直です。oMLX はサーバーとして常駐させる前提の設計です。
- すでに vllm-mlx を使っている場合: マルチモデル同時配信・階層 KV キャッシュ・GUI 管理が必要かどうかが分岐点になります。必要なければ移行の動機は弱くなります。
なお、既存モデル資産の移行は必要ありません。公式 FAQ によれば oMLX は標準の HuggingFace キャッシュ(~/.cache/huggingface/hub)を読むため、Transformers / MLX / vLLM / llama.cpp ですでに取得済みの MLX 形式モデルはそのまま使えます。LM Studio のフォルダやカスタムディレクトリも参照対象です。
oMLX導入前に確認したい要件と注意点
採用に向けて動き出す前に、確認しておきたい条件がいくつかあります。
動作要件とメモリの目安
README に記載されている動作要件は以下のとおりです。
- macOS 15.0(Sequoia)以上
- Python 3.11〜3.13
- Apple Silicon(M1 / M2 / M3 / M4 / M5)
メモリについては、公式サイトの FAQ が「最小 16GB、快適に使うなら 64GB 以上」とし、日常のコーディング用途のスイートスポットを M シリーズ Pro / Max の 64GB 以上としています。先ほどのベンチマークのピークメモリと合わせて考えると、この目安は妥当なところでしょう。Intel Mac は対象外です。
インストール手段は 3 通り用意されています。Releases から .dmg をダウンロードする macOS アプリ、brew tap を使う Homebrew、そして git clone からの pip install -e . によるソースビルドです。macOS アプリ版にはアプリ内自動アップデートが付き、~/.omlx/bin/omlx という軽量 CLI シムも同時にインストールされます。日本語の手順は 日本語版 README にも用意されています。
カスタムカーネルのビルド有無で性能が変わる点
実務上もっとも注意が必要なのが、ネイティブカスタムカーネルの扱いです。README の注記によれば、素の pip install -e . ではカスタムカーネルはビルドされず、該当するモデルファミリは大幅に遅い汎用パスへ暗黙にフォールバックします。エラーで止まるのではなく静かに遅くなるため、気づきにくい種類の落とし穴です。
README は具体例として、GLM-5.2 の融合 DSA prefill がカーネルありでおよそ 30 倍高速(M3 Ultra で 845 tok/s に対しフォールバック時は約 29 tok/s)であり、フォールバック時はメモリ使用量も増えると記載しています。「導入後の速度が公式ベンチマークとかけ離れて遅い」という状況に心当たりがある場合は、まずここを疑うことになります。
カーネルの状態は README に記載された以下のコマンドで確認できます。
python -c "from omlx.custom_kernels import native_kernel_status; print(native_kernel_status())"
出典: oMLX の README
ビルドには Metal ツールチェーンが必要で、Command Line Tools だけでは不足します。フル Xcode を導入するか、カーネルをプリコンパイル済みで同梱している公式 DMG を使うのが確実です。ソースビルドで有効化する場合は OMLX_WITH_CUSTOM_KERNEL=1 を付ける、Homebrew なら --with-custom-kernel を指定する、という手順が README に示されています。
このほか、SSD コールドキャッシュはディスク容量を消費します。配置先は --paged-ssd-cache-dir で指定できるため、内蔵ストレージが逼迫しやすい構成では最初に決めておくとよいでしょう。
開発状況・リリース頻度・ライセンス
メンテナンス状況を判断するための材料を、数値のまま挙げます。
- 最新のバージョン系列は 0.6 系で、メジャーバージョン 1.0 には達していません。oMLX のリリース一覧 を見ると、2026-08-17 の v0.6.1 から 2026-08-24 の v0.6.3rc3 まで直近 1 週間で 5 リリースが出ています。
- リポジトリ公開は 2026-02-13、最終更新は 2026-08-24 です。約半年で PR / Issue 番号が 2,900 台に達しています。
- open issues は 1,095 件です(2026 年 8 月 25 日時点)。
- ライセンスは Apache-2.0 です。コントリビューターは作者の jundot を中心としつつ、外部からの参加者も複数名います。
リリース頻度の高さは開発が活発である証拠ですが、同時に「先週動いた構成が今週も同じとは限らない」ことも意味します。open issues の件数も、急成長中のプロジェクトでは利用者増加に伴って自然に膨らむ数字であり、これだけで健全性を断定することはできません。安定性を重視する用途であれば rc 版ではなく安定タグを選び、バージョンを固定して運用する方針が無難です。逆に、機能追加を追いかけながら使う前提であればこの速度はむしろ利点になります。
まとめ|oMLXを検討すべきケースと見送るべきケース
oMLX は、Apple Silicon の Mac というハードウェア条件を絞り込んだうえで、「コーディングエージェントを常用するとキャッシュが壊れ続ける」という具体的な課題に設計で答えたローカル LLM 推論サーバーです。KV キャッシュを SSD にまで永続化する 2 階層構造、連続バッチング、マルチモデル同時配信、そして GUI による管理という 4 点が、他の MLX 系ツールとの主な差分になります。
検討する価値が高いのは、次のようなケースです。
- Apple Silicon Mac(できれば 64GB 以上)が手元にあり、Claude Code などのコーディングエージェントをローカル LLM で常用したい
- 生成・埋め込み・リランカーなど複数モデルを 1 台で同時に配信したい
- CLI だけでなく GUI でモデルとサーバーを管理したい、あるいはチームで共有したい
- Anthropic 互換 API をゲートウェイなしで直接使いたい
一方で、次のような場合は別の選択肢を先に評価したほうが合理的です。
- Intel Mac / Windows / Linux を併用する前提がある(oMLX は macOS 専用)
- 単発チャットや短いプロンプトが中心で、キャッシュ永続化の恩恵が小さい
- 安定版 1.0 のリリースを待ちたい、あるいはバージョン変動の少ない構成を求めている
- 手元のモデル資産が GGUF 中心で、MLX 形式への移行コストを払いたくない
- メモリが 16GB 前後で、そもそも実用的なサイズのモデルが載らない
最終的な判断は、公式サイトの FAQ と README の要件を自分の環境と突き合わせて行うのが確実です。詳細は jundot/omlx と oMLX 公式サイト を参照してください。本記事の内容も、公開時点の公開情報に基づく整理である点を改めて申し添えます。
関連情報
社内向けの AI 基盤構築や、ローカル LLM を組み込んだシステムの開発をご検討中の方は、お問い合わせフォーム からご相談ください。要件が固まっていない構想段階からのご相談にも対応しています。



