2026 OLLAMA
MLX_PREVIEW_
ROLLBACK_
RUNBOOK.

Apple Silicon 開発ワークステーションとローカル推論

Apple Silicon 上で Ollama の MLX プレビュー推論を有効化すると、デコードは速くなり得ますが、失敗モードは「モデルが劣化」ではなく dtype 契約Metal コンパイルの揺らぎ量子化カバレッジへ移ります。本稿は症状マトリクス(ロード不可/初トークン後クラッシュ/特定量子化のみ)を提示し、llama.cpp 安定バックエンドへ戻す五段階リモート Mac 対照ノード判断をまとめます。併読:Ollama MLX ベンチスタック比較SSH/VNC ガイド

1. 痛みの分解

プレビューは互換よりスループットを優先します。Xcode Indexing・Electron・CI が同居するノートでは帯域敏感バックエンドが過小評価されがちです。digest が異なる同名モデルは別コンパイラ同然であり、TTFT とデコードは独立サンプリング(N≥24)が必須です。

2. 症状マトリクス

兆候疑い避けること
pull 成功直後に失敗dtype/量子化ミスマッチ版固定なしのタグ跳躍
初回トークン後に GPU クラッシュMetal+並列スパイクGUI 負荷とヘッドレス API の同時実行
単一量子化のみ破綻MLX 側の部分対応「小さい=安全」の思い込み
単独再現キャッシュ破損/スリープ第二クリーンホスト拒否

3. 五段ロールバック

Step 1 版・digest・macOS を固定

変更はチケット化します。

Step 2 プレビューを明示的に無効化

公式フラグ/環境変数で単行 diff を残します。

Step 3 キャッシュ外科

怪しい blob を削除し digest を再取得、ログを添付。

Step 4 1ストリーム→4ストリーム探針

IDE と同じ並列を再現します。

Step 5 ポリシーを文書化

プレビューは PoC 限定か、二段バックエンドを必須にするか決めます。

curl -sS http://127.0.0.1:11434/api/generate -d '{ "model":"YOUR_MODEL", "prompt":"ping", "stream":true }'

4. 意思決定マトリクス

トリガー優先次善
同一世代 Mac で digest 一致再現回帰として追跡最終安定ビルドへピン留め
ノートのみスパイク熱/電源/スリープ疑いリモート Mac mini へオフロード
マルチテナント負荷対話とバッチを分離単一プロセス集中

5. 現場メモ

「メモリが原因と決めつける前にプレビューを切り、2 blob を消したら dtype 由来の再コンパイル嵐が止まった。」

CI が六並列 streaming を localhost に叩き、「モデルハング」に見えた事例では RSS は平坦でした。ロールバックと digest ログで狭い量子化経路の Metal 再コンパイルが判明。サーバ室のリモート Mac で同一プローブを再生すると曲線が収束しました。プレビューの速さには固定された成果物と熱的に正直な対照ホストが必要です。

6. 運用語彙の更新

Ollama のセマバーを Node のメジャーのように扱い、digest をロックファイル同等に記録してください。経営指標は宣言並列下の TTFT p95 であり、感覚値ではありません。

Metal ワークロードでは Mac スタックがツールチェーン分裂を抑えますが、全員 Ultra を買うよりリモート・プールが SLA の境界を明瞭にします。安定した Apple Silicon を時間課金で確保したいチームは、MACGPU のリモート Mac で本 Runbook をそのまま再実行できます。

7. Metal/量子化ゲート

A: dtype・manifest・digest を同じ工票に記載。B: 初回シェーダ構築と定常 TTFT を分離。C: IDE/CLI/自動化の暗黙並列を棚卸し。リモート再生で環境差を切り分けます。

8. MR 数値ゲート

N≥24;4ストリーム TTFT p95 が単路の 2.8× を超えたら設計レビュー;90 秒平均 swap >768MB で新規クライアント停止。

9. FAQ

mlx_lm.server と共存? ポートとメモリ予算を分離してください。M5 のみ? OS パッチとビルド整合を先に。ログが Warning のみ? verbose を上げ、stderr を同一チケットに束ねます。