2026 OLLAMA
MLX_PREVIEW_
ROLLBACK_
RUNBOOK.
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 限定か、二段バックエンドを必須にするか決めます。
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 を同一チケットに束ねます。