Stable Diffusion WebUI на видеокартах AMD: полное руководство

Запуск Stable Diffusion WebUI на видеокарте AMD почти всегда упирается в одну и ту же проблему: основная ветка AUTOMATIC1111 рассчитана на CUDA от NVIDIA, поэтому при стандартной установке генерация либо падает с ошибкой No module 'xformers' и низкой скоростью, либо вовсе идёт на процессоре. Проверить это просто — откройте консоль после запуска webui-user.bat: если в логе нет упоминания GPU, а скорость генерации измеряется десятками секунд на итерацию, WebUI работает на CPU.

Хорошая новость в том, что рабочих путей несколько: форк с поддержкой DirectML, прослойка ZLUDA, а для Linux — ROCm. Ниже разберём, какой вариант выбрать под вашу видеокарту и операционную систему, как выполнить установку без типичных ошибок и что настроить для стабильной работы.

Почему AMD требует отдельной настройки

Фреймворк PyTorch, на котором работает Stable Diffusion, исторически оптимизирован под CUDA — проприетарную платформу NVIDIA. Для карт AMD существуют альтернативные бэкенды, но каждый со своими ограничениями по поддержке моделей GPU и версий драйверов.

Из-за этого «чистая» установка AUTOMATIC1111 на системе с Radeon приводит к одному из трёх сценариев: работа на CPU, ошибки при инициализации torch или крайне низкая производительность. Возможная причина большинства проблем — несовпадение версии PyTorch с выбранным бэкендом, поэтому важно ставить именно ту сборку, которую требует выбранный способ запуска.

⚠️ Внимание: не устанавливайте PyTorch для CUDA в надежде, что он «увидит» карту AMD. Такая сборка не заработает на Radeon и только создаст конфликты зависимостей. Всегда ставьте версию torch, рекомендованную конкретным форком или бэкендом.

Способы запуска: DirectML, ZLUDA и ROCm

Выбор бэкенда зависит от операционной системы и модели видеокарты. Однозначно «лучшего» варианта нет — у каждого свои ограничения.

  • 🔧 DirectML — форк WebUI от сообщества, работает на Windows практически с любой современной картой AMD, не требует сложной настройки, но скорость обычно ниже альтернатив.
  • 🚀 ZLUDA — прослойка, эмулирующая CUDA поверх ROCm/HIP; поддерживается в форках WebUI и даёт заметно более высокую производительность на поддерживаемых картах RDNA.
  • 🐧 ROCm — официальная платформа AMD для Linux; наиболее «родной» вариант, но список официально поддерживаемых GPU ограничен, а настройка сложнее.
  • ☁️ Облачные сервисы — запасной вариант, если локальный запуск на вашей карте невозможен.
СпособОССложностьПроизводительность
DirectMLWindowsНизкаяСредняя
ZLUDAWindowsСредняяВысокая
ROCmLinuxВысокаяВысокая
CPU fallbackЛюбаяНулеваяОчень низкая

Если вы не уверены, поддерживает ли ваша карта ZLUDA или ROCm, сверьтесь с документацией соответствующего проекта — списки совместимых GPU меняются от версии к версии, и универсального ответа здесь нет.

📊 Какой способ запуска Stable Diffusion на AMD вы используете?
DirectML
ZLUDA
ROCm на Linux
Пока только планирую установку

Установка WebUI с DirectML на Windows

Это самый простой путь для большинства владельцев Radeon на Windows. Необходимо использовать специальный форк — оригинальный репозиторий AUTOMATIC1111 DirectML не поддерживает.

Порядок действий следующий. Сначала установите Python версии, указанной в документации форка (обычно это 3.10.x — другие версии могут вызвать ошибки зависимостей), и Git. Затем клонируйте репозиторий форка:

git clone https://github.com/lshqqytiger/stable-diffusion-webui-directml.git

cd stable-diffusion-webui-directml

После клонирования запустите webui-user.bat — при первом старте скрипт сам создаст виртуальное окружение и скачает нужные зависимости, включая сборку torch с DirectML. Процесс может занять продолжительное время, прерывать его не стоит.

☑️ Проверка перед первым запуском

Выполнено: 0 / 5

Когда в консоли появится строка вида Running on local URL: http://127.0.0.1:7860, откройте этот адрес в браузере. Если вместо этого появляются ошибки — смотрите раздел про типичные проблемы ниже.

Запуск через ZLUDA для ускорения генерации

ZLUDA позволяет выполнять CUDA-код на картах AMD, что даёт ощутимый прирост скорости по сравнению с DirectML. Настройка сложнее: потребуется установить HIP SDK от AMD и использовать форк WebUI с интегрированной поддержкой ZLUDA либо добавить её вручную.

Общая последовательность выглядит так: установка HIP SDK, клонирование поддерживаемого форка, запуск через специальный скрипт (например, webui-zluda.bat, если он предусмотрен форком). При первом старте ZLUDA компилирует ядра под вашу архитектуру — это разовая, но долгая процедура, во время которой программа может выглядеть «зависшей».

⚠️ Внимание: ZLUDA работает не со всеми картами AMD и не со всеми версиями драйверов. Перед установкой проверьте актуальный список совместимости в репозитории проекта — попытка запуска на неподдерживаемом GPU приведёт к ошибкам инициализации.

Настройка параметров запуска

Флаги командной строки в файле webui-user.bat заметно влияют на стабильность и расход видеопамяти. Их задают в строке COMMANDLINE_ARGS.

  • 💾 --medvram или --lowvram — снижают потребление VRAM ценой скорости; полезны на картах с небольшим объёмом памяти.
  • 🎯 --opt-sub-quad-attention — альтернативный механизм внимания, часто помогает при нехватке памяти на DirectML.
  • 🧩 --precision full --no-half — отключает половинную точность; медленно, но иногда единственный способ избежать чёрных изображений на проблемных конфигурациях.
  • 🔄 --autolaunch — автоматически открывает интерфейс в браузере после запуска.

Пример строки для карты с ограниченной видеопамятью:

set COMMANDLINE_ARGS=--medvram --opt-sub-quad-attention --autolaunch

Подбирайте флаги по одному: добавьте параметр, перезапустите WebUI и проверьте результат. Так проще понять, какой именно флаг решил проблему или, наоборот, её создал.

Что делать, если изображения получаются чёрными

Чёрный результат обычно связан с переполнением при вычислениях в половинной точности. Попробуйте добавить флаги --precision full --no-half, либо --no-half-vae, который затрагивает только VAE-декодер и меньше влияет на скорость. Если помогло — можно постепенно вернуть часть оптимизаций, чтобы найти баланс скорости и стабильности.

Типичные ошибки и их решение

Большинство сбоев при запуске на AMD сводится к нескольким повторяющимся сценариям. Начинайте диагностику с чтения лога в консоли — текст ошибки почти всегда указывает направление поиска.

Ошибка «Torch is not able to use GPU» означает, что установлена не та сборка PyTorch. Решение — удалить папку venv в каталоге WebUI и запустить установку заново, чтобы подтянулась корректная версия torch для вашего бэкенда.

Out of Memory при генерации — карте не хватает видеопамяти под выбранное разрешение и модель. Уменьшите размер изображения, включите --medvram или --lowvram, закройте другие приложения, потребляющие VRAM. Если ошибка возникает только при hires fix или больших разрешениях — возможная причина именно в пиковом потреблении памяти на этих этапах.

Конфликты зависимостей после обновления решаются полным пересозданием виртуального окружения: удалите venv и запустите webui-user.bat снова. Расширения тоже бывают источником сбоев — проверить это можно, временно переименовав папку extensions.

Как ускорить генерацию на AMD

Даже правильно настроенная связка WebUI + AMD обычно уступает по скорости аналогичным картам NVIDIA, но разрыв можно сократить. Используйте лёгкие семплеры с меньшим числом шагов, снижайте разрешение с последующим апскейлом и держите драйверы обновлёнными — AMD регулярно улучшает производительность вычислений в новых версиях.

Ещё один работающий приём — модели в формате SDXL Turbo или аналогичные «быстрые» чекпоинты, которым достаточно малого числа шагов. Также рассмотрите альтернативные интерфейсы вроде ComfyUI: на некоторых конфигурациях с AMD он работает эффективнее за счёт более гибкого управления памятью, хотя требует привыкания к узловой логике.

Часто задаваемые вопросы

Работает ли оригинальный AUTOMATIC1111 WebUI на AMD?

Штатно — нет, основная ветка рассчитана на CUDA. Для карт AMD используются форки с поддержкой DirectML или ZLUDA, либо запуск под Linux с ROCm.

Что выбрать новичку: DirectML или ZLUDA?

Для первого знакомства проще DirectML — установка ближе к стандартной. Если карта поддерживается ZLUDA и вы готовы к более сложной настройке, этот вариант обычно даёт более высокую скорость генерации.

Почему WebUI генерирует на процессоре, а не на видеокарте?

Возможная причина — установленная сборка PyTorch не видит ваш GPU. Проверьте лог запуска, удалите папку venv и переустановите зависимости через webui-user.bat нужного форка.

Сколько видеопамяти нужно для Stable Diffusion на AMD?

Точная цифра зависит от модели, разрешения и флагов запуска. С флагами экономии памяти базовые модели SD 1.5 могут работать на картах со скромным объёмом VRAM, а SDXL и высокие разрешения требуют заметно больше. При нехватке памяти используйте --medvram или --lowvram.

Можно ли запустить WebUI на встроенной графике AMD?

Технически DirectML позволяет задействовать iGPU, но производительность и объём доступной памяти сильно ограничены. Такой вариант подходит разве что для экспериментов с минимальными разрешениями.