Ошибка CUDA out of memory при первом же запуске генерации в Stable Diffusion почти всегда означает одно: видеокарте не хватило видеопамяти под выбранную модель и разрешение изображения. Именно объём VRAM, а не «мощность» карты в играх, определяет, запустится ли нейросеть локально и насколько быстро она будет работать.
В этой статье разберём, какие видеокарты подходят для Stable Diffusion, сколько видеопамяти требуется для разных версий моделей, что делать с картой на 4–6 ГБ и какие настройки помогают уместиться в ограниченную память.
Минимальные и рекомендуемые требования
Формальный минимум для запуска классической версии Stable Diffusion 1.5 — видеокарта с 4 ГБ VRAM и поддержкой CUDA (для NVIDIA). Однако на практике комфортная работа начинается с 6–8 ГБ: с меньшим объёмом придётся включать режимы экономии памяти и мириться с низкой скоростью генерации.
Для более тяжёлых моделей требования выше. SDXL ощутимо прожорливее версии 1.5, а SD 3 и Flux при полной точности могут потребовать 12 ГБ и более. Поэтому «рекомендуемая» карта зависит от того, какую именно модель вы планируете запускать.
- 🟢 4 ГБ VRAM — запуск SD 1.5 только с флагами экономии памяти, низкие разрешения
- 🟡 6–8 ГБ VRAM — комфортная работа с SD 1.5, SDXL с ограничениями
- 🟠 10–12 ГБ VRAM — SDXL без ограничений, обучение LoRA с ухищрениями
- 🔴 16+ ГБ VRAM — тяжёлые модели, высокие разрешения, дообучение
NVIDIA против AMD: что поддерживается
Изначально Stable Diffusion и популярные интерфейсы вроде AUTOMATIC1111 WebUI и ComfyUI разрабатывались под экосистему CUDA, поэтому карты NVIDIA поддерживаются «из коробки» — достаточно свежего драйвера и подходящей версии PyTorch. Это самый беспроблемный путь, особенно для новичков.
С картами AMD ситуация сложнее. Под Linux они работают через ROCm, и многие пользователи успешно запускают генерацию на картах серий RX 6000/7000. Под Windows поддержка AMD исторически ограничена: существуют сборки на базе DirectML и форки интерфейсов, но скорость и стабильность обычно уступают NVIDIA. Перед покупкой карты AMD именно для Stable Diffusion стоит проверить актуальное состояние поддержки конкретной модели в документации выбранного интерфейса.
⚠️ Внимание: встроенная графика процессора (Intel UHD, Iris Xe) и видеокарты без поддержки CUDA для локального запуска Stable Diffusion практически не подходят. Теоретически возможна генерация на CPU, но одно изображение может формироваться десятки минут.
Таблица: сколько VRAM нужно популярным моделям
Ниже — ориентировочные значения для генерации в стандартном разрешении без агрессивной оптимизации. Точный расход зависит от интерфейса, версии PyTorch, включённых расширений и параметров генерации, поэтому воспринимайте цифры как ориентир, а не как гарантию.
| Модель | Минимум VRAM | Комфортно |
|---|---|---|
| Stable Diffusion 1.5 | 4 ГБ (с оптимизациями) | 6–8 ГБ |
| Stable Diffusion 2.x | 6 ГБ | 8 ГБ |
| SDXL / SDXL Turbo | 8 ГБ | 10–12 ГБ |
| SD 3 / Flux (полная точность) | 12 ГБ и более | 16–24 ГБ |
| Обучение LoRA (SD 1.5) | 8 ГБ (с оптимизациями) | 12+ ГБ |
Обратите внимание: квантизованные и облегчённые версии моделей (например, в форматах GGUF или FP8) заметно снижают потребление VRAM и позволяют запускать тяжёлые модели на картах среднего уровня, жертвуя лишь небольшой частью качества.
Как запустить Stable Diffusion на слабой видеокарте
Если у вас карта с 4–6 ГБ памяти, отчаиваться рано. В интерфейсе AUTOMATIC1111 для этого предусмотрены специальные аргументы запуска, которые меняют способ загрузки модели в память. Их указывают в файле webui-user.bat в строке COMMANDLINE_ARGS.
set COMMANDLINE_ARGS=--lowvram --medvram --xformers
Флаг --medvram подходит для карт с 6 ГБ, --lowvram — для 4 ГБ и меньше: модель разбивается на части и подгружается в видеопамять порциями. Плата за это — заметное падение скорости генерации. Использовать оба флага одновременно не нужно, выберите один под свой объём памяти.
☑️ Оптимизация для слабой видеокарты
Дополнительно помогает снижение разрешения изображения, уменьшение размера батча до единицы и отключение параллельно запущенных программ, использующих GPU. Браузер с десятком вкладок способен занимать сотни мегабайт видеопамяти — иногда именно этого не хватает для старта генерации.
Что влияет на скорость генерации
После того как модель уместилась в память, скорость определяется уже вычислительными возможностями карты. Здесь работают привычные факторы: количество CUDA-ядер, частота, пропускная способность памяти. Карты с поддержкой tensor-ядер и вычислений в половинной точности (FP16) получают существенное преимущество.
Также на производительность влияют:
- ⚡ Включённый xformers или встроенная оптимизация attention в новых версиях PyTorch
- ⚡ Разрешение изображения — рост с 512×512 до 1024×1024 кратно увеличивает время
- ⚡ Количество шагов сэмплера и выбранный сэмплер
- ⚡ Активные расширения: ControlNet, upscaler'ы и face restore добавляют нагрузку
Типичные ошибки и их решения
Самая частая проблема — уже упомянутый CUDA out of memory. Решается она снижением разрешения, включением режимов экономии памяти или переходом на более лёгкую модель. Если ошибка появляется через несколько генераций подряд, возможна утечка памяти из-за расширений — помогает перезапуск интерфейса и отключение лишних дополнений.
Вторая категория проблем — чёрные или «зелёные» изображения на выходе. Возможная причина — несовместимость вычислений в половинной точности с конкретной картой или драйвером; в таком случае пробуют флаги вроде --no-half или --precision full, понимая, что расход VRAM вырастет. Третья группа — ошибки установки PyTorch: важно ставить сборку с поддержкой CUDA, а не CPU-версию, иначе генерация пойдёт на процессоре.
⚠️ Внимание: перед обновлением драйвера или PyTorch сохраните рабочую конфигурацию. Несовпадение версий драйвера, CUDA и PyTorch — частая причина того, что «вчера всё работало, а сегодня не запускается». Точные совместимые версии проверяйте в документации вашего интерфейса.
Почему генерация на CPU — плохая идея
Stable Diffusion выполняет миллиарды матричных операций на каждом шаге диффузии. Видеокарта делает это тысячами параллельных ядер, а центральный процессор — единицами. В результате изображение 512x512, которое GPU формирует за секунды, на CPU генерируется минутами или дольше, что делает интерактивную работу практически невозможной.
Стоит ли покупать карту специально под Stable Diffusion
Если цель — именно локальная генерация изображений, приоритет при выборе карты простой: максимум VRAM за доступный бюджет. На вторичном рынке нередко выгоднее смотреть на карты прошлых поколений с большим объёмом памяти, чем на новые бюджетные модели с 8 ГБ. Для тяжёлых моделей и обучения порог комфорта смещается к 16 ГБ и выше.
Альтернатива апгрейду — облачные сервисы и аренда GPU. Если генерация нужна эпизодически, оплата облачного времени может оказаться дешевле покупки видеокарты. Но для постоянной работы, экспериментов с обучением и приватности данных локальная карта остаётся предпочтительным вариантом.
Часто задаваемые вопросы
Запустится ли Stable Diffusion на видеокарте с 4 ГБ VRAM?
Да, модель SD 1.5 запускается с флагом --lowvram и сниженным разрешением, но скорость будет низкой, а функции вроде обучения и SDXL окажутся недоступны или сильно ограничены.
Подходят ли карты AMD для Stable Diffusion?
Под Linux — да, через ROCm, многие карты Radeon работают стабильно. Под Windows поддержка ограничена и зависит от конкретного интерфейса и его форков. Перед покупкой проверяйте актуальную документацию выбранного ПО.
Можно ли использовать встроенную графику процессора?
Для полноценной работы — нет. Встроенные GPU не имеют достаточного объёма выделенной памяти и вычислительных блоков; генерация на CPU теоретически возможна, но занимает слишком много времени.
Что делать, если появляется ошибка CUDA out of memory?
Снизьте разрешение изображения, уменьшите батч до 1, включите --medvram или --lowvram, закройте программы, занимающие VRAM, и отключите тяжёлые расширения. Если не помогло — используйте более лёгкую или квантизованную версию модели.
Хватит ли 8 ГБ VRAM для SDXL?
Для базовой генерации в стандартном разрешении — как правило, да, особенно с оптимизациями памяти. Для высоких разрешений, ControlNet и обучения потребуется больше памяти или дополнительные ухищрения.