結論から言えば、実行環境がツールキットの必要条件を満たしておらず失敗した。
Foundation Models adapter training – Apple Intelligence – Apple Developer
このページに説明がある通り、adapter training toolkit が必要とするマシンスペックはメモリ32GB。対して筆者私用の MacBook Air (M2) は16GBしか積んでいない、、
Requirements
- Mac with Apple silicon and at least 32GB memory, or Linux GPU machines
- Python 3.11 or later
ツールキットのセットアップ自体は、ページの手順に従って難なく完了したのだが、テストコマンド実行で失敗した。
adapter_training_toolkit % python -m examples.generate --prompt "Prompt here"
Traceback (most recent call last):
(省略)
RuntimeError: MPS backend out of memory (MPS allocated: 18.13 GB, other allocations: 384.00 KB, max allowed: 18.13 GB). Tried to allocate 16.00 MB on private pool. Use PYTORCH_MPS_HIGH_WATERMARK_RATIO=0.0 to disable upper limit for memory allocations (may cause system failure).
ChatGPT 先生によると、
メモリ 32 GB 推奨という前提に対して物理メモリ 16 GB の Mac で動かしている ことが、今回の MPS out-of-memory エラーの根本原因と考えてかまいません。
要素 おおよそのメモリ消費 7 B パラメータ級モデル (FP16) 7 B × 2 bytes ≒ 14 GB ロード直後の重複バッファ(重み再配置や勾配用の一時領域) +2 〜 4 GB トークン埋め込み/ KV キャッシュ(推論時) 数百 MB 〜 数 GB (入力長/バッチで変動) Python / PyTorch 自身・OS・他プロセス 2 〜 4 GB 16 GB machines の場合、Unified Memory 全体が 16 GB = GPU が占有できる上限も 16 GB 未満 です。
PyTorch-MPS の既定 “high-watermark” が 90 % なので、確保できるのは最大でも ≈ 14.4 GB 程度。
上の表の時点でオーバーしており、転送途中でエラーになります。
Mac Studio 買うか、、