Как исправить Out of Memory в Stable Diffusion WebUI при работе с LoRA
Автор отметил, что материал написан или существенно правлен с помощью ИИ (gemini-2.5-flash).
Ошибка CUDA out of memory при генерации изображений со вспомогательными весами LoRA в Stable Diffusion WebUI возникает из-за превышения лимита VRAM видеокарты при одновременной нагрузке от базовой модели, разрешения холста и параметров кросс-внимания.
Инструкция подходит для пользователей интерфейса Automatic1111 версий 1.x на видеокартах NVIDIA с ограниченным объемом памяти от 6 до 12 ГБ. Главное ограничение: аппаратные флаги командной строки снижают скорость рендеринга.
Симптомы и причины переполнения VRAM при подключении LoRA-моделей
Сбой Out of Memory (OOM) в консоли управления Automatic1111 проявляется в момент отправки запроса на генерацию или на этапе инициализации весов в памяти видеокарты. В терминале отображается характерная строка сообщения об ошибке CUDA с указанием выделенного объема и требованиями к памяти, превышающими физический лимит графического адаптера.
Главная техническая причина заключается в том, что подключение файлов LoRA добавляет дополнительные тензоры к слоям базовой диффузионной модели U-Net. Если исходная модель загружена в половинной точности FP16, а оперативная память видеокарты уже занята фоновыми процессами операционной системы и графической оболочки, пиковый объем потребления VRAM во время расчета этапов семплирования превышает доступный лимит.
Нехватка физической видеопамяти для одновременного хранения базовой архитектуры и дополнительных весов LoRA.
Использование высокого разрешения генерации (выше 512х512 для SD 1.5 или 1024х1024 для SDXL) без предварительного масштабирования.
Высокое значение параметров пакетной генерации Batch Size или Batch Count.
Фоновые приложения и запущенные браузеры, потребляющие ресурсы графического процессора.
Анализ аппаратных ограничений и диагностика параметров системы
Для точной диагностики источника утечки памяти перед запуском интерфейса рекомендуется отслеживать показатели графического чипа через штатные утилиты мониторинга, например диспетчер задач Windows или команду nvidia-smi в терминале Linux и Windows. Это позволяет зафиксировать объем памяти, занятый до старта генерации.
Если базовое потребление WebUI в режиме ожидания превышает 3–4 ГБ на видеокартах с 8 ГБ VRAM, оставшегося пространства недостаточно для обработки шагов деноизинга при активации тяжелых LoRA-моделей или расширений ControlNet. В таком случае система принудительно обращается к подкачке системной памяти через шину PCI-E, что приводит к резкому падению производительности или аварийному завершению процесса с ошибкой OOM.
Проверка свободной видеопамяти командой nvidia-smi перед стартом WebUI.
Оценка влияния запущенных браузеров и тяжелых графических приложений на общую емкость VRAM.
Анализ формата весов LoRA: использование файлов в оригинальном unoptimized формате увеличивает нагрузку.
Оптимизация параметров запуска WebUI через аргументы командной строки
Для перераспределения нагрузки на память графического процессора в файле конфигурации запуска webui-user.bat (или webui-user.sh) используются специальные флаги командной строки. Они позволяют принудительно перенести часть вычислений в системную память ОЗУ или изменить алгоритмы распределения памяти PyTorch.
Параметр --medvram снижает потребление памяти за счет разделения процесса генерации на подсистемы, выгружая части модели из VRAM, когда они не задействованы на конкретном шаге семплера. Флаг --lowvram применяет более агрессивный алгоритм распределения, существенно уменьшая требования к видеокарте, но заметно снижая общую скорость генерации каждого изображения.
Добавление аргумента --medvram в переменную COMMANDLINE_ARGS для видеокарт с объемом памяти от 6 до 8 ГБ.
Использование флага --lowvram для графических адаптеров с критически малым объемом видеопамяти.
Применение параметра --opt-sdp-attention или --opt-sub-quadratic-attention для оптимизации расхода памяти на механизме внимания без потери качества.
Настройки генерации в интерфейсе Automatic1111, влияющие на расход VRAM
Внутренние настройки интерфейса WebUI напрямую влияют на пиковое потребление видеопамяти во время просчета изображения с подключенными LoRA. Главным фактором выступает разрешение (Width и Height): увеличение целевого холста экспоненциально увеличивает матрицу внимания в скрытом пространстве модели.
Дополнительным источником переполнения памяти является одновременное использование нескольких LoRA с высокими весовыми коэффициентами, а также активация тяжелых апскейлеров в блоке Highres. Fix. Применение алгоритмов вроде R-ESRGAN 4x+ на высоких разрешениях требует значительного объема свободной VRAM для обработки тайлов изображения.
Отказ от генерации изображений нестандартного крупного разрешения в один проход.
Снижение параметров Batch Size до единицы для предотвращения одновременного расчета нескольких картинок.
Отключение или замена ресурсоемких алгоритмов оптимизации внимания (Cross-attention optimization) в настройках интерфейса.
Пошаговый алгоритм устранения ошибки и проверка результата
Для комплексного решения проблемы Out of Memory при работе с LoRA необходимо выполнить последовательную настройку окружения и параметров запуска. Нарушение порядка действий может привести к сохранению ошибки даже после применения флагов оптимизации.
Последовательность действий включает закрытие сторонних приложений, редактирование файла запуска, применение оптимизированных алгоритмов внимания и контрольную проверку стабильности рендеринга на тестовом запросе.
Шаг 1. Полностью закройте запущенный экземпляр Stable Diffusion WebUI и сторонние программы, нагружающие видеокарту.
Шаг 2. Откройте файл webui-user.bat в текстовом редакторе.
Шаг 3. Добавьте в строку set COMMANDLINE_ARGS= флаги --medvram и --opt-sub-quadratic-attention.
Шаг 4. Сохраните файл и запустите WebUI заново через webui-user.bat.
Шаг 5. Проверьте генерацию изображения с подключенной LoRA-моделью стандартного разрешения.
Безопасный откат изменений при нестабильной работе WebUI
Применение агрессивных параметров оптимизации памяти вроде --lowvram иногда приводит к появлению артефактов на изображениях, бесконечному зависанию процесса на шаге 100% или полному отказу системы запускаться с выдачей ошибок инициализации PyTorch.
В случае возникновения таких побочных эффектов необходимо выполнить безопасный откат параметров. Достаточно удалить добавленные флаги из переменной COMMANDLINE_ARGS в файле webui-user.bat и перезагрузить веб-интерфейс в штатном режиме для поиска сбалансированной конфигурации.
Удаление флага --lowvram и замена его на более мягкий --medvram при появлении артефактов генерации.
Очистка кэша моделей и временных файлов в директории models/Stable-diffusion при сбоях загрузки.
Возврат к стандартным настройкам кросс-внимания через меню настроек WebUI (Settings -> User interface / Optimization).