Local / Edge実践ガイド

llama.cppのn-gpu-layersはどう決める?GPUオフロードをログで確認する

llama.cppのn-gpu-layersはどう決める? — GPUオフロードをログで確認する
目次

公式サイトで次に進む

この記事で明示的に扱うソフトだけを表示します。配布・手順は各公式ページで確認してください。

local-gen.jpがファイルを配布するものではなく、互換性を保証するものでもありません。

llama.cppでGPUを使うとき、--n-gpu-layersを何に設定すればよいかは、モデル名だけでは決められない。

同じモデルでも量子化、コンテキスト長、バックエンド、GPUのVRAMによって配置できる量が変わるため、指定した数字より、実際の起動ログを見ることが重要だ。

--n-gpu-layersはGBではなくモデル層の数を扱う

llama.cppでは-ngl--gpu-layers--n-gpu-layersが同じ設定として用意されている。

使用中のバージョンでは、数値のほかautoallを扱える場合がある。正確な利用方法は、そのバージョンの--helpや公式資料で確認する。

たとえば、

llama-cli -m model.gguf --n-gpu-layers 20

としたとき、20は20GBという意味ではない。GPUへ配置するモデル層の上限を指定する値だ。

一部だけGPUへ置く場合は段階的に試す

VRAMへ全体を置けない場合は、数値を指定して一部のモデル層だけをGPUへ配置できる。

--n-gpu-layers 10
--n-gpu-layers 20
--n-gpu-layers 30

のように比較できるが、最適な刻み幅は環境によって違う。メモリ不足に近い場合は小さめに変えた方が原因を追いやすい。

allを指定してもVRAMのすべてが解決するわけではない

モデル層を広くGPUへ配置できても、推論時にはほかにもVRAMを使う。

  • KV cache
  • コンテキスト長に応じた領域
  • 実行時のバッファー
  • ほかのGPU利用アプリ

などがある。

そのため、「全モデル層をGPUへ置けた」ことと「推論中の最大VRAM使用量がGPU容量以内に必ず収まる」ことは同じではない。

起動ログで実際の配置を確認する

起動したら、次を確認する。

  • 使用されたGPUとバックエンド
  • 何層がGPUへ配置されたか
  • モデルのバッファーがどこへ置かれたか
  • CPU側に残った部分
  • エラーや警告

起動ログに出るバッファー容量は配置を確認する材料だが、その数字だけを推論中の最大VRAM使用量とは呼ばない。

比較するときは一項目だけ変える

最低限、次を固定する。

モデル・リビジョン:
GGUF・量子化:
llama.cppのバージョン:
バックエンド:
GPU:
コンテキスト長:
プロンプト:

そのうえでn-gpu-layersだけを変え、起動成否、実際のGPU配置、RAM・VRAM、応答時間を記録する。

メモリ不足ならコンテキストやKV cacheも確認する

n-gpu-layersを下げるとGPU側のモデル配置は減らせるが、メモリ不足の原因がモデル層だけとは限らない。

コンテキスト長、KV cache、バッチ設定、ほかのGPU利用アプリなども確認する。

特にコンテキスト長とn-gpu-layersを同時に変えると、どちらがVRAM差を作ったのか分かりにくくなる。

GGUFのファイル容量から層数を決めない

GGUFファイルの容量は保存領域の目安にはなるが、それだけからGPUへ何層置けるかは計算できない。

最終的には、安定して起動し、必要なコンテキストでメモリに収まり、待ち時間も許容できる設定を選ぶ。

VRAM不足への対処全体を整理したい場合は、GPUオフロードとCPUオフロードの使い分けへ進む。Windows + NVIDIAでCUDA経路自体がまだ動いていない場合は、llama.cppをWindows + NVIDIAで動かす手順を先に確認する。

まとめ

  • --n-gpu-layersはモデル層をGPUへどこまで配置するか調整する設定で、GB単位の指定ではない
  • 数値、auto、allを指定した結果は、起動ログで実際に何層がGPUへ配置されたか確認する
  • モデル層がGPUへ収まっても、KV cacheや実行用バッファーなど別のVRAM使用がある
  • 比較ではモデル、量子化、コンテキスト長、バックエンドを固定し、n-gpu-layersだけを変える
同じテーマから

この記事で扱ったデータ

モデル・GPU・実行ソフトの確認済みデータを、記事とは別に確かめられます。

サイト内検索