ローカルAIのメモリの見方
ローカルAIのメモリを重み・runtime・KV cache・VRAM・RAMに分け、「どこに何が乗るか」を図解します。MoEでは総パラメータ数とactive parameters per tokenを分け、parameters × bits / 8は重みの概算として読みます。
視覚図
モデル重み総パラメータ数 × bits / 8 の目安
runtime領域実行に必要なバッファ
KV cacheコンテキスト長で増える
GPU VRAMGPU上に乗る分
システムRAMCPU offload / その他
図は装飾です。メモリを役割ごとに分けています。テキスト同等物は下を参照してください。
図のテキスト説明
- モデル重み:parameters × bits / 8 は重みの概算であり、実行時の総メモリの保証ではありません。
- MoE:total parameters と active parameters per token は別の指標です。重み容量を考えるときはactive数をtotal数の代わりにせず、実際の量子化や配布ファイルの容量も確認します。
- runtime領域:モデル実行に必要なバッファ。
- KV cache:コンテキスト長が長いほど増える。
- GPU VRAM:GPU上に乗る分。
- システムRAM:CPUへのoffloadやその他アプリ分。
押さえておく用語
- MoE / active parameters
- MoEはtokenごとに使うexpertを選ぶ構成です。active parameters per tokenは1 tokenで使われる部分の指標で、総重み容量や実行時メモリの値ではありません。
- VRAM
- GPUに搭載されたメモリ。モデルをGPUで動かす際の主戦場。
- RAM
- システムメモリ。CPU offload時に使う。
- KV cache
- 推論中の途中状態を保持する領域。コンテキスト長に応じて増える。
注意点
- parameters × bits / 8 は目安であり総メモリを保証しない。
- MoEのactive parameters per tokenは総パラメータ数や重み容量の代わりにはならない。モデル固有の重み形式・量子化・配布容量を確認し、runtime領域とKV cacheも分けて考える。
- コンテキスト長を増やすとメモリが増える(Ollama公式参照)。
詳しく知りたいときは Local AI Compass へ
確認した主な情報源とこのページの範囲
- LM Studio 公式CLI資料(lms load) — https://lmstudio.ai/docs/cli/local-models/load
- Ollama 公式ドキュメント(Context length) — https://docs.ollama.com/context-length
- llama.cpp 公式リポジトリ — https://github.com/ggml-org/llama.cpp
- A Systematic Evaluation of On-Device LLMs (arXiv:2505.15030) — https://arxiv.org/abs/2505.15030
- OpenAI gpt-oss model card — https://cdn.openai.com/pdf/419b6906-9da6-406c-a19d-1bb078ac7637/oai_gpt-oss_model_card.pdf
メモリを重み・runtime・KV cache・VRAM・RAMに分けて整理。MoEのactive parameters per tokenは総パラメータ数や重み容量と別の指標であり、重み概算では総パラメータ数とモデル固有の量子化・配布容量を確認します。parameters×bits/8 は重みの概算で、runtime領域やKV cacheを含む総メモリを保証しません。
詳細な手順・最新仕様は、各公式ドキュメントおよび Local AI Compass を参照してください。