同じ重みでも積み方でバッチと文脈とキャッシュの取り合いが変わります。表で軸を固定し数値承認後に本番へ載せてください。

構成: 選定 · バッチとメモリ · 検収と監視 · 質問

M4 でローカル推論を組むときMLX-LMトランスフォーマーズかは、バッチとキーバリューキャッシュとユニファイドメモリの三本柱で決めます。ローカル推論マトリクス多モデルルーティング可観測性埋め込みとチャンクと併読してください。第一フレームワークごとにメモリ載せ方が違い曲がり目がずれます。第二同時セッションとバッチが重なると尾部遅延だけ伸びます。第三ノートだけで検収すると専用筐体やリモートで数値が変わります。

選定シナリオ

素早く安定運用なら MLX 優先、評価やフックを広く触るならトランスフォーマーズ優先が分かりやすいです。

観点 MLX-LM Transformers
狙い 同一モデルをオンプレで速く回す 既存スクリプトと拡張を流用する
運用 生成コマンドが短い パイプライン選択肢が広い
切替 レイテンシ最重視で一本化 多モデルを同じ抽象で束ねる

バッチサイズとメモリ対照表

絶対値は環境依存のため同一筐体の相対比較に使います。キャッシュは文脈長に比例しやすく、バッチは同時系列数に直結します。

項目 記録例 注意
文脈長 上限を段階的に上げた各点 曲がり目でピーク常驻
バッチ 一・二・四の階段 初トークン対秒間トークン
圧迫 ピーク常驻とスワップ有無 熱でクロック低下を併記

検収手順と監視指標

其一量子化とトークナイザをカード一行に固定。其二文脈長だけ増やし常驻と初応答を記録。其三文脈固定でバッチだけ増やし九五分位と秒間トークンを分離。其四コマンド列をログ化。

python -m mlx_lm.generate --model ./weights --prompt "検収用短文" --max-tokens 256 --temp 0.2

其五生成でキャッシュを明示。其六専用 Mac やリモートで同表を踏み往復遅延を上乗せして合意内か確認。

model.to("mps"); model.generate(**inputs,max_new_tokens=256,do_sample=False,use_cache=True)
  • 監視:常驻・初トークン・九五分位・失敗率・スワップ・熱による降速。
  • 調整順:同時セッション→文脈→バッチ。超過時は原因列を残す。
  • 参照:多モデル可観測性に契約とトレースを揃える。

よくある質問

どちらが速いか。実装差が残るため自前表で比較してください。

キャッシュオフは。切り分けには有効、本番遅延とは別と明記。

ユニファイドメモリでも足りない。同時本数の上限を規約に書くのが安全です。