ローカル画像生成のハード要件ガイド|モデル別の必要VRAMと1枚あたりの所要

画像生成でGPUを選ぶとき、必要な容量を大きく左右するのは「どのモデルを使うか」です。
同じ1024×1024を同じRTX 5080で出しても、VRAMピークはSDXLの10.5GiBからFlux.1 devの15.3GiBまで約1.5倍の開きがあります。1枚あたりの所要も5秒から22秒まで違います。容量から先に決めるより、使いたいモデルと精度・量子化から逆算するほうが、必要量を見積もりやすくなります。

ここには同じ機材・同じComfyUI版・同じ解像度で横に並べた数字を置いています。モデルごとの詳細は個別の記事にあります。動画生成は要件の決まり方がかなり違うので ローカル動画生成のハード要件ガイド に分けました。

見るところ 決めるもの
VRAM どのモデルが動くか
起動時の精度指定 VRAMをどこまで下げられるか
GPUの速さ 1枚あたりの待ち時間

モデルが変わるとVRAMは1.5倍変わる

下の表は、4つの画像モデルを同じRTX 5080・同じComfyUI 0.31.1・1024×1024で測ったものです。サンプラは4本ともeulerですが、スケジューラとcfgはモデルごとの既定のままなので、そこだけは条件がそろっていません(SDXL: normal / 7.0、SD 3.5 medium: sgm_uniform / 4.5、Flux.1 dev: simple / 1.0、FLUX.2 Klein: Flux2Scheduler / 1.0)。

表の読み方:ステップ数はモデルごとに違います。さらにcfgが1を超えるモデル(SDXL 7.0・SD 3.5 medium 4.5)は、正と負のconditioningを両方評価する分、1ステップあたりの計算量が増えます(ComfyUIはVRAMに余裕があれば両者をまとめて処理するので、かならず「forwardを2回走らせる」という意味ではありません)。ステップ数だけでは所要を比べられない、ということです。したがってこの列は「このモデルの速さ」ではなく「1枚出てくるまでに待つ時間」として読んでください。FLUX.2 Kleinの総所要が短い主因は、今回使ったのが4ステップで仕上がる蒸留版だからです(Kleinには未蒸留のBase版もあります)。1ステップあたりの計算量もモデルごとに違うので、ステップ数だけでモデルの演算性能は比べられません。
モデル 量子化 ステップ VRAMピーク 2回目以降 初回
SDXL base 1.0 なし 30 10.5 GiB 6.0秒 10.1秒
FLUX.2 Klein 9B Q8_0 GGUF 4 13.9 GiB 5.0秒 11.1秒
SD 3.5 medium 拡散モデルはfp16
(同梱T5のみfp8_scaled)
30 14.1 GiB 10.1秒 13.1秒
Flux.1 dev FP8 20 15.3 GiB 21.6秒 24.8秒

16GBのカードでFlux.1 devを回すと、GPU全体のmemory.usedは15.3GiBまで上がりました。ただしこれは「15.3GiB必要」という意味ではありません。この値には他アプリや画面出力、PyTorchが確保したまま保持している分も入っています。ComfyUIは空きVRAMがあればモデルをVRAMに保持することがあるため、ピークは最小必要量ではなく、その構成でComfyUIとPyTorchが実際に確保・使用した量です(同じワークフローを容量違いのカードで回すとピークがどう動くかは ローカル動画生成のハード要件ガイド で測っています)。

ここから言えるのは、今回の検証機では、16GBでFlux.1 devを回すとGPUメモリに余地がほとんど残らないということです。より小さいカードで回るかどうかは、画像側では容量違いの機材で測っていないので本ページでは判断できません。8・12・16GBの各段でどこまでできるかは ComfyUI推奨スペック実測ガイド、12GBであふれた先で何が起きるかは VRAM 12GBの壁はどこにあるか にあります。

SDXLは同じ条件で10.5GiBと、いちばん重いFlux.1 devより約5GiB少なく収まります。起動時の精度指定を足せば7.3GiBまで下げられるので(次の節)、VRAMの余裕を優先したい用途では扱いやすいモデルです。

初回だけ余分に時間がかかる点も表に出ています。「初回」と「2回目以降」の差には、モデルの読み込みやCPU→GPU転送、CUDAカーネルのウォームアップ、各種キャッシュの形成などが混ざり得ます。この測定では内訳までは切り分けていません。SDXLで4秒、FLUX.2 Kleinで6秒ほど。1枚だけ試して速さを判断すると、この初回オーバーヘッドを実力と取り違えます。モデル読み込みにストレージがどう関わるかは ローカルAIでSSDは何TB要るか で扱っています。

起動時の精度指定でVRAMは下がる。ただし下がり方はモデル次第

ComfyUIは起動オプションで拡散モデル側の扱いを指定できます。公式の説明では --bf16-unet が「bf16で動かす」(実行精度)、--fp8_e4m3fn-unet が「重みをfp8_e4m3fnで保持する」(保持形式)で、性格が違います。どちらも配布ファイル側の量子化とは別に、あとから付け外しできる設定です。この測定ではテキストエンコーダ側は触っていません。

同じ4モデルで精度指定の両端を測ると、VRAMが実際に空くモデルと、ほとんど動かないモデルに分かれました。

モデル bf16 fp8_e4m3fn VRAM差 時間の変化
SDXL base 1.0 10.5 GiB 7.3 GiB −30% 6.0 → 7.0秒(+16%)
SD 3.5 medium 14.1 GiB 11.7 GiB −17% 10.1 → 10.1秒(変わらず)
Flux.1 dev FP8 15.3 GiB 15.2 GiB −1% 21.6 → 18.9秒(−13%)
FLUX.2 Klein Q8_0 13.9 GiB 13.9 GiB ±0% 5.0 → 5.0秒(変わらず)

すでにFP8やQ8_0で配布されているモデル(Flux.1 dev FP8、FLUX.2 Klein Q8_0)では、起動オプションを重ねてもVRAMが空きませんでした。理由の切り分けまではできていません——重みがすでに落ちているからとも読めますが、GGUFは専用のローダーが読むので起動フラグがそもそも届いていない可能性もあります。

ただし空かない=何も変わらない、ではありません。重みの保持形式はVRAM使用量を大きく左右しますが、生成時間は演算経路や転送・オフロードなど別の要因にも左右されるので、VRAMと時間はかならずしも同じ方向へ動きません。実際Flux.1 devはVRAMが−1%なのに時間は21.6→18.9秒(−13%)でした。

下がり方はモデルごとに違います。今回使ったSDXLは拡散モデル側をfp16/bf16で扱う条件なので3割空き、かわりに時間が16%増えました。SD 3.5 mediumは17%空いて時間は変わりません。VRAMが足りているうちは、少なくともSDXLでは落とす必要がありません。

どのフラグが何を変えるかは ComfyUIの起動オプション実測ガイド、精度を落としたときの画質と速度の関係は 精度を落とすと何が変わるか(5モデルをFP16/BF16/FP8で実測) にあります。使えるVRAMを意図的に絞ったらどうなるかは ComfyUIで使えるVRAMを絞ると画像・動画生成は遅くなるか で測りました。

同じ16GBでも、カードが違えばSDXLで約1.68倍

VRAM容量が同じでも、生成が終わるまでの時間は同じになりません。起動オプションまでそろえた比較では、SDXL 1280×720・30ステップでRTX 5080が6.79秒、RTX 5060 Tiが11.42秒。5060 Ti側が約1.68倍かかりました(各5本の中央値)。両側とも --bf16-unet / --bf16-text-enc と --reserve-vram 1.5 を付け、プレビュー無効もそろえてあります。

この差の中身:条件をそろえたうえで残る違いは、カードそのものと接続です。当サイトの5060 TiはOculink経由で実リンクがPCIe 4.0 x4、5080はマザーボード直結(PCIe x16)なので、GPU自体の性能差とホスト接続の帯域差は分離できていません。この比は走行ごとにも振れます(5本の幅は5080が6.22〜6.92秒、5060 Tiが11.40〜11.53秒)。なお起動オプションは起動スクリプトの記録から突き合わせたもので、走行中の実条件を計器で確かめたわけではありません。走行別のばらつきと2枚同時に投げたときの値は ComfyUI マルチGPU運用ガイド にまとめてあります。

なお上の横断表(1024×1024の4モデル)は5080だけで測っているので、Flux.1 devのようにVRAMを使い切るモデルが同じ倍率に収まるかは未測定です。動画側では起動条件までそろった21組があり、5060 Ti側は5080の1.62〜2.67倍(中央値1.99倍)と、もっと広くばらつきました(ローカル動画生成のハード要件ガイド)。

2枚挿しについて。ComfyUI本体には1回の生成を2枚で分担するMultiGPU CFG Splitがあり、公式は最大1.95倍としています。ただし同じGPUを2枚(当サイトの5080+5060 Tiのような異種構成は対象外)かつcfgが1を超えるワークフローが条件で、cfg=1で回す蒸留モデルでは高速化しません。当サイトの構成では使えないため、実測しているのは別々の生成を同時に流す運用です(ComfyUI マルチGPU運用ガイド)。どのGPUを使わせるかの指定は ComfyUIで使うGPUを指定する にあります。

どのカードにするか決めるなら同じ容量でも1枚あたりの待ち時間は型番で変わります。売っているグラフィックボードを、ケースに収まる厚みと補助電源の形から絞り込めます。

GPU選びを開く →

PCごと用意するならここで見たVRAM容量で絞り込めば、その条件で販売中のBTOパソコンだけが残ります。載せているのは各社の公式サイトで実際に買える構成だけです。

BTO選びを開く →

モデル別の詳細

LoRA学習に要るVRAMは、学習させるモデルで決まる

自分の絵柄を覚えさせるLoRA学習で要る容量は、学習させたいモデルのサイズが大きな基準になります。ただしそれだけでは決まらず、学習解像度・バッチサイズ・LoRAのrank(dim)・optimizer・gradient checkpointing やオフロードの有無でも変わります。

Anima 2B向けのトレーナーでは、TrainFlowが6GB以上を推奨として挙げています。「network dim 20・解像度768で約6GB」という具体的な条件はCitron版の報告で、別のソースです。生成用のGPUがそのまま使えるかは、何を・どの設定で学習させるかを決めてから判断してください。

なお「学習は生成より重いか」は、同じモデルで両方を測らないと言えません。ここで扱う学習はAnima 2Bで、生成側はSDXL・SD 3.5 medium(2.5B)・FLUX.2 Klein 9B・Flux.1 dev(12B)とモデル自体が違います。この数字だけから学習と生成の軽重は比べられません。下の2本は、まず軽いモデルで学習の手順を通したい人向けです。

動かないとき・遅いときに見るところ

画像生成でつまずいたとき、当サイトで実測した範囲でよく当たるのは次のあたりです。VRAMがあふれている/システムRAMが足りていない/意図しないGPUが使われている/CPU側が足を引っ張っている。

関連ガイド

本ページの数値は当サイトの検証機材による実測です:Intel Core i7-14700F/96GB DDR5/RTX 5080(16GB・マザーボード直結)+RTX 5060 Ti(16GB・Oculink DEG1接続)。モデル横断の表はComfyUI 0.31.1・1024×1024・sampler=euler(スケジューラとcfgはモデル既定)・各条件2回の中央値です。VRAMピークは生成中に nvidia-smi の memory.used をサンプルした最大値で、他アプリとPyTorchが確保したまま保持している分を含みます(5080は画面出力も兼ねています)。測定条件の詳細は 検証環境ページ、1行ずつの生の値は 実測データベース をご覧ください。

タイトルとURLをコピーしました