Stable Diffusion XL: VRAM и производительность

Задача страницы. Дать практические ориентиры по запуску SDXL на облачных GPU: чем отличается схема base→refiner, какие VRAM‑требования у разных режимов, как оценить время/стоимость рендера, какие включить оптимизации (fp16/bf16, память‑эффективное внимание, тайлинг, hi‑res) и как строить пайплайны в UI/API/Batch.

TL;DR

Схема SDXL: base и refiner

  • Base — основной генеративный проход, даёт большую часть качества.
  • Refiner — короткий дополнительный проход (обычно 10–15 шагов) для улучшения текстур/кожи/мелких деталей.
  • Когда включать refiner: финальные рендеры, лица/текстуры, продуктовые кадры; когда пропускать: предпросмотр/массовые эскизы.

Рекомендуемые пресеты

  • Интерактив (preview): base 20–24 шага @768–1024², без refiner.
  • HQ финал: base 24–32 шага @1024² + refiner 10–15 шагов (малый denoise).
  • Большие форматы (2–4k): base @1024–1536² → тайлинг/апскейл → refiner по желанию.

Подробнее про пайплайны и графы: /solutions/image-video-gen/comfyui/ и /solutions/image-video-gen/automatic1111/.

VRAM‑требования и профили GPU

Оценки для fp16/bf16, включено память‑эффективное внимание, batch=1 (ориентиры):

**Сценарий** **Разрешение** **SDXL base** **SDXL base + refiner** **+ControlNet/IP‑Adapter (1 ветка)**
Интерактив 768² 12–16 ГБ 16–20 ГБ +2–4 ГБ
HQ 1024² **16–24 ГБ** **24–32 ГБ** +2–6 ГБ
2–4k (тайлинг) 2048–4096 по тайлам **16–24 ГБ** **24–48 ГБ** +3–6 ГБ

Хранилище. Кэш моделей/LoRA/ControlNet/VAEs: 50–200 ГБ на NVMe, см. /solutions/storage-data/.

Скорость на популярных GPU (ориентиры) Среднее время шага t_step для SDXL @1024², fp16, batch=1, память‑эффективное внимание (приближённо):

**GPU** **t\_step (мс/шаг)** **T при 30 шагах**
**A100 80 ГБ** ~70–100 ~2.1–3.0 с
**L40S 48 ГБ** ~90–120 ~2.7–3.6 с
**A10 24 ГБ** ~220–300 ~6.6–9.0 с
**T4 16 ГБ** ~450–650 ~13.5–19.5 с

Для batch>1, меньшего разрешения или иных самплеров время меняется. Подтверждайте замерами пилота. Планирование и экономика: /solutions/cost-planner/.

Формула времени и цены

Обозначим: S — шаги, R — разрешение, B — батч, t_step — среднее время шага, O — накладные (загрузка весов, VAE, I/O).

Латентность одной картинки

T ≈ O + S × t_step(R, B)

Выработка и стоимость

Imgs_per_hour ≈ 3600 / T

Cost_per_1000 ≈ (GPU_hour_price × Num_GPU) / (Imgs_per_hour / 1000)

Подробнее — /solutions/llm-inference/costs/.

Оптимизации SDXL: что включить в первую очередь

  • Precision: fp16/bf16.
  • Внимание: SDPA или xformers (выберите одно, см. /solutions/image-video-gen/automatic1111/).
  • VAE: используйте оптимизированный VAE, держите его «тёплым».
  • Тайлинг: для 2–4k; overlap и сглаживание швов — обязательны (см. /solutions/image-video-gen/upscaling/).
  • Hi‑res fix: второй проход 1.5–2.0×, 35–50% шагов, denoise 0.2–0.4.
  • Кэш веса/LoRA/ControlNet на локальном NVMe для быстрого старта.
  • Раздельные пулы: интерактив (on‑demand) и batch (interruptible), см. /solutions/interruptible-patterns/. Компоненты графа: готовые паттерны

ComfyUI (base→refiner, упрощённый JSON‑скелет):

{
 "1":{"class_type":"CheckpointLoaderSimple","inputs":{"ckpt_name":"sdxl_base.safetensors"}},
 "2":{"class_type":"CLIPTextEncode","inputs":{"text":"studio photo, soft light","clip":["1","CLIP"]}},
 "3":{"class_type":"CLIPTextEncode","inputs":{"text":"blurry, artifacts","clip":["1","CLIP"]}},
 "4":{"class_type":"EmptyLatentImage","inputs":{"width":1024,"height":1024,"batch_size":1}},
 "5":{"class_type":"KSampler","inputs":{
 "model":["1","MODEL"],"positive":["2","CONDITIONING"],"negative":["3","CONDITIONING"],
 "latent_image":["4","LATENT"],"steps":28,"cfg":6.5,"sampler_name":"dpmpp_2m","scheduler":"karras","seed":42}},
 "6":{"class_type":"VAEDecode","inputs":{"samples":["5","LATENT"],"vae":["1","VAE"]}},
 "7":{"class_type":"CheckpointLoaderSimple","inputs":{"ckpt_name":"sdxl_refiner.safetensors"}},
 "8":{"class_type":"KSampler","inputs":{"model":["7","MODEL"],"steps":12,"cfg":5.5,"denoise":0.35,"latent_image":["5","LATENT"]}},
 "9":{"class_type":"VAEDecode","inputs":{"samples":["8","LATENT"],"vae":["7","VAE"]}},
 "10":{"class_type":"SaveImage","inputs":{"images":["9","IMAGE"]}}
}

Графы и кэш — /solutions/image-video-gen/comfyui/.

Automatic1111 (флаги и hi‑res): см. /solutions/image-video-gen/automatic1111/.

Контроль качества и управляемость

  • Sampler: DPM++ 2M Karras — хороший баланс, Euler a — быстрый предпросмотр.
  • CFG: 4–8; слишком высокий даёт «пластик».
  • ControlNet/IP‑Adapter: поза/эскиз/грань/референс — резко повышают управляемость, но требуют VRAM/времени, см. /solutions/image-video-gen/controlnet/.
  • Апскейл и реставрация: часто выгоднее 768–1024² → апскейл 2–4× → лёгкий денойз (см. /solutions/image-video-gen/upscaling/ и /solutions/image-video-gen/face-restoration/).

Batch‑рендер и очереди

  • Batch‑профиль: крупные серии, минимальные шаги для предпросмотра, фиксированные seeds/матрицы промптов.
  • Очередь задач: JSON‑манифест параметров, ретраи, дедуп по (prompt, seed, steps, cfg, model).
  • Раздельные пулы: интерактив on‑demand и пакетный interruptible.
  • Оркестрация и отчёты — /solutions/image-video-gen/batch-render/.

Наблюдаемость и алерты

Собирайте (см. /solutions/monitoring-logging/, /solutions/llm-inference/observability/):

  • t_step_ms, steps, resolution, batch, images_per_min, queue_wait.
  • GPU util/HBM, OOM/ретраи, время загрузки весов, кэш‑хиты.
  • Для больших кадров/тайлинга — метрики «стыков» и доля «шовных» дефектов.
  • Алерты: рост p95 t_step_ms, очереди, OOM>0, падение кэш‑хитов.

Стоимость и выбор инстансов

  • Интерактив/UI — on‑demand, прогретые модели, NVMe‑кэш.
  • Batch — interruptible + ретраи и чек‑поинтинг; дробите задания на чанки.
  • Расчёты цены и профили — /solutions/cost-planner/, /solutions/llm-inference/costs/, эксплуатация — /solutions/interruptible-patterns/.

Траблшутинг

  • CUDA OOM: уменьшите разрешение/шаги/батч; отключите refiner/избыточный ControlNet; включите тайлинг.
  • Полосы/швы на 2–4k: увеличьте overlap тайлов, сглаживайте швы, добавьте финальный лёгкий денойз.
  • Мутные лица/текст: включите refiner, скорректируйте CFG, подключите реставрацию.
  • Долгий старт: держите веса локально на NVMe, прогревайте модели.
  • Плавающая p95: разделите очереди short/long, ограничьте макс. параметры UI.

Как запускать в cloudcompute.ru

В /solutions/templates/ доступны пресеты:

  • “SDXL‑Prod” — base/refiner, 1024², fp16/bf16, оптимизированный VAE, кэш весов, лимиты параметров, метрики/алерты.
  • “ComfyUI‑GPU” — графы SDXL (text2img/img2img, base→refiner, тайлинг), SSE‑прогресс.
  • “A1111‑GPU” — быстрый старт WebUI, hi‑res пресеты, ControlNet.

Планирование ресурсов и стоимости: /solutions/cost-planner/.

Чек‑лист перед продом

  • Определён целевой режим: интерактив/HQ/batch и разрешение.
  • Выбран стек (ComfyUI/WebUI), включены fp16/bf16 и SDPA/xformers.
  • Пресеты шагов/CFG и hi‑res fix; refiner — только там, где нужен.
  • Тайлинг/апскейл настроены для 2–4k.
  • Локальный кэш весов на NVMe; прогрев моделей.
  • Раздельные пулы on‑demand/interruptible и лимиты UI.
  • Метрики/алерты/логи подключены; рассчитана Cost_per_1000.

Навигация по разделу «Генерация изображений и видео»

/solutions/image-video-gen//solutions/image-video-gen/comfyui//solutions/image-video-gen/automatic1111//solutions/image-video-gen/controlnet//solutions/image-video-gen/upscaling//solutions/image-video-gen/face-restoration//solutions/image-video-gen/batch-render/ • инфраструктура: /solutions/performance-tuning/, /solutions/monitoring-logging/, /solutions/cost-planner/

Готовы запустить?

Запустить GPU-сервер