目安: 35分。演習の状態: 未実行 (not-run)。本文は学習ガイドであり、動作や品質の実測記録ではありません。

前提となる章: 学習・損失・評価の基本

独自の概念図。矢印は依存関係や判断の順序を示し、性能の実測を表さない。

  1. 1物理容量
  2. 2OSと他アプリを予約
  3. 3重みとKV cacheの予算
  4. 4小さい試行
  5. 5ピークと停止条件を観察
順序と役割を、ひとつずつ分けて考える

学習目標

  • 4bitの重みサイズを概算できる
  • 24GB/32GBで試す順序と停止条件を決める

仕事の役割

  • 学習者: 仮説・データ・評価を設計する
  • モデル: 指定した変換を試す
  • アプリ: 制限・検証・権限を保証する

入力 → 工程 → 出力

入力 工程 出力
物理メモリ、モデル規模、精度、context、同時数 構成別に概算し、小さい実験でピークを測る 推論設定ごとのメモリ予算と可否判断

ユニファイドメモリを専用VRAMと混同しない

Apple SiliconはCPUとGPUが同じ物理メモリを利用する設計である。24GBのMacに「CPU用24GBとGPU用24GB」があるわけではない。OS、ブラウザ、開発環境、モデルが一つの容量を共有する。MLXはこの設計に合わせた経路で、NVIDIA CUDAのコードがそのままMacのGPUで動くわけではない。

容量は入るかを左右し、メモリ帯域やGPU構成は速さにも影響する。同じ32GBでもチップ世代や機種、冷却、同時アプリによって速度は変わる。SSDへのswapは容量不足の代替になり得ても、低遅延を保証する運用ではない。

MLX文書 は共有メモリ上のarrayを説明し、Transformersのcache戦略 はメモリと速度の条件が異なるcacheを区別する。以下の数値予算は独自の計算例で、提供元による動作保証ではない。

重みの下限から総量へ積み上げる

重みの単純な概算は parameter数 × bit数 ÷ 8 である。十進GBなら7BはFP16で約14GB、4bitで約3.5GB、14Bは約28GBまたは約7GB、32Bは約64GBまたは約16GBとなる。これは丸めた理論値で、量子化のscale、非量子化層、配置、一時領域は含まない。GiB表示とGB表示も混ぜない。

必要メモリ ≈ 重み+KV cache+activation/作業領域+ランタイム+OS/他アプリ。4bitのファイルを選んでもKV cacheまで自動的に4bitになるわけではない。KV量子化を使う場合は対応と品質への影響を別に検証する。

contextと同時実行で増える部分

一般的なdecoderのKV cache概算は 2 × 層数 × KV head数 × head次元 × token数 × 1要素のbyte数 × 同時系列数。実際はGQA、sliding window、cache実装などで変わる。仮想構成32層・8 KV heads・128次元・FP16・4096token・1系列なら約0.5GiB、16384tokenなら約2GiBになる。これは実機測定でも特定モデルの仕様でもない。

同時に4人の会話を走らせると、重みは共有できても会話ごとのcacheや作業が増える。最大contextだけを見た見積もりでは足りない。最初は1系列、入力512〜1024token、出力128token程度に抑え、contextと同時数を別々に増やす。

現実的な出発点と限界

24GBでは0.5B〜3Bから計測を始め、7B/8Bの4bitを次の候補とする。14B 4bitも短いcontextなら候補だが、他アプリとcacheを含めて検証する。32GBでは同じ実験に余裕を作りやすく、14B 4bitを試す余地が増える。32B 4bitは重みだけで約16GBの下限があり、両機種で「快適」と保証できない。

これはモデル選択の試行順序で、動作保証表ではない。OSと他アプリに少なくとも数GB、例えば6〜8GBを初期予算として残し、実際のメモリプレッシャーに合わせて増やす。学習ではさらにactivationとoptimizer等が必要で、7B推論成功から7B全重み学習の可否を推定してはいけない。

計算例: 重みだけの理論下限

状態は 推定 (estimated)。十進GBの丸めた計算で、KV cache、量子化メタデータ、作業領域、OSを含みません。24GB/32GBは一般的な比較用シナリオです。

規模 FP16 4bit
7B 約14GB 約3.5GB
14B 約28GB 約7GB
32B 約64GB 約16GB

自分で進める工程

  1. GB/GiBを統一する
  2. 重みの下限を計算する
  3. OS/他アプリを予約する
  4. context512、出力128、同時1から測る
  5. メモリプレッシャー悪化・swap増大・長時間停止で中止する

品質を確認する

  • 4bitの重みサイズを概算できる
  • 24GB/32GBで試す順序と停止条件を決める
  • 残量を全部KV cacheへ割り当てず作業領域を残しているか

失敗を切り分ける

注意すること 具体的な確認方法
パラメータ数だけで速度や知能を順位付けしない 同じ課題と設定で比べ、待ち時間と品質を別々に記録する。
MoEのactive parameter数と全重みのメモリ量を混同しない 全重みの容量を見積もり、KV cacheと作業領域の余裕も確保する。
Macの32GBとNVIDIA GPUの32GB VRAMを同一条件としない 機種とメモリ構成を記録する。共有メモリではOSや他のアプリが使う分も考慮する。

演習: 24GB・32GB Macのメモリを見積もる

状態: 未実行 (not-run)。

7B 4bit、14B 4bit、32B 4bitの重み下限を計算し、24GBと32GBの残量を求める

提出するもの: estimatedと明記した予算表

完了の確認: 残量を全部KV cacheへ割り当てず作業領域を残しているか

実験記録用ワークシートに計画・条件・観察を記録する。未測定値は null とし、推定値は式と仮定を残します。

MENTAL MODEL / メモリ

モデルの重さを、分けて考える。

重みとKVキャッシュは別々に増える。下の値は設計用の概算です。

4.5 GB重み 4.0 GB + KV 0.5 GB

GBは10⁹ byte。KVは32層・8 KV heads・128 head dim・FP16・batch 1の仮定。量子化メタデータ、実行バッファ、OS、モデル固有の構造は別途必要。MoEでは総重みとactive parametersを分けます。

出典

公開日は資料の日付、確認日は内容を参照した日です。コミュニティの観測は公式の確定事項と区別します。

01
Apple MLX ドキュメント公開: 不明 · 確認: 2026-10-03
02
Transformers KV cache ↗huggingface.co公開: 不明 · 確認: 2026-10-03
03
Ollama FAQ ↗docs.ollama.com公開: 不明 · 確認: 2026-10-03
このブラウザ内に保存します。