Ошибка CUDA out of memory при запуске Stable Diffusion в Google Colab — первое, с чем сталкивается большинство пользователей, пытающихся сгенерировать изображение в бесплатном облачном окружении. Причина почти всегда одна: бесплатный тариф Colab выделяет GPU с ограниченным объёмом видеопамяти, и стандартные настройки WebUI её переполняют. Проблема решается флагами запуска и правильным выбором модели, о чём подробно рассказано ниже.
Google Colab остаётся одним из самых доступных способов работать с Stable Diffusion без мощной видеокарты на локальном компьютере. Облачная среда предоставляет GPU-ускоритель, а весь процесс сводится к запуску готового ноутбука с ячейками кода. Разберём весь путь: от подготовки аккаунта до генерации первого изображения и устранения типичных сбоев.
Что такое Stable Diffusion и зачем его запускать в Colab
Stable Diffusion — это нейросетевая модель генерации изображений по текстовому описанию (промпту). Модель требовательна к видеопамяти: для комфортной работы желательно GPU с 8 ГБ VRAM и более, которых у многих пользователей просто нет.
Google Colab решает эту проблему, предоставляя удалённый GPU-ускоритель. Вам не нужно ничего устанавливать на компьютер — весь код выполняется на серверах Google, а интерфейс открывается в браузере. Это удобно для тестирования моделей, экспериментов с промптами и обучения LoRA без инвестиций в железо.
Подготовка: аккаунт и выбор GPU
Для начала работы потребуется Google-аккаунт и доступ к Colab. Откройте блокнот (свой или готовый публичный) и проверьте, что среда выполнения настроена на использование GPU: в меню выберите Среда выполнения → Изменить тип среды выполнения и установите аппаратный ускоритель GPU.
На бесплатном тарифе обычно доступны ускорители начального уровня, а тип конкретной видеокарты может меняться от сессии к сессии. Проверить, какой GPU выделен, можно командой в ячейке:
!nvidia-smi
В выводе отобразятся модель видеокарты и объём доступной видеопамяти — именно от этих цифр зависят дальнейшие настройки запуска. Если памяти мало, стоит заранее планировать облегчённый режим работы.
- 🖥️ Проверьте тип GPU командой
!nvidia-smiдо установки зависимостей - 💾 Убедитесь, что в среде выполнения выбран аппаратный ускоритель GPU
- 📁 Подключите Google Drive, если хотите сохранять результаты между сессиями
- ⏱️ Учитывайте лимиты бесплатного тарифа на длительность сессии
⚠️ Внимание: бесплатные сессии Colab ограничены по времени и могут прерываться при неактивности. Все несохранённые файлы в виртуальной машине удаляются после отключения — выгружайте готовые изображения на Google Drive или локальный диск.
Установка WebUI AUTOMATIC1111 в Colab
Самый популярный интерфейс для Stable Diffusion — AUTOMATIC1111 WebUI. Установка в Colab сводится к клонированию репозитория и загрузке модели. Типовая последовательность команд в ячейках выглядит так:
!git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
%cd stable-diffusion-webui
!wget -O models/Stable-diffusion/model.safetensors ССЫЛКА_НА_МОДЕЛЬ
После загрузки файлов запуск выполняется с флагами, адаптированными под ограничения Colab. Ключевые параметры:
!python launch.py --share --xformers --medvram
Разберём флаги подробнее. Опция --share создаёт публичную ссылку через сервис Gradio — без неё интерфейс в Colab недоступен из браузера. Флаг --xformers включает оптимизацию работы с памятью, а --medvram снижает потребление VRAM ценой некоторого замедления генерации. При совсем малом объёме памяти используйте --lowvram вместо --medvram.
☑️ Проверка перед первым запуском
Где брать модели и какие выбрать
Базовые модели Stable Diffusion распространяются в форматах .ckpt и .safetensors. Предпочтительнее второй формат — он считается более безопасным, так как не допускает исполнения произвольного кода при загрузке. Модели размещаются на профильных площадках, например Hugging Face и Civitai; перед использованием ознакомьтесь с лицензией конкретной модели.
Размер файла модели обычно составляет несколько гигабайт, поэтому загрузка в Colab занимает время и зависит от скорости соединения с источником. Для экономии трафика и времени сессии имеет смысл хранить скачанные модели на Google Drive и подключать их символической ссылкой.
Типичные ошибки и их решения
Помимо нехватки видеопамяти, пользователи регулярно встречаются с другими сбоями. Сводка наиболее частых проблем и способов их устранения приведена в таблице.
| Проблема | Вероятная причина | Решение |
|---|---|---|
| CUDA out of memory | Переполнение VRAM | Добавить --medvram или --lowvram, уменьшить разрешение |
| Ссылка Gradio не открывается | Не указан флаг --share | Перезапустить с --share |
| Сессия отключается | Лимит бесплатного тарифа | Сохранять результаты на Drive, перезапускать сессию |
| Модель не загружается | Битый файл или неверный путь | Проверить целостность файла и папку models |
| Очень медленная генерация | CPU вместо GPU | Проверить тип среды выполнения |
Отдельный частый случай — генерация идёт на CPU, хотя GPU выбран. Такое бывает, если среда выполнения была переключена после запуска ячеек или сессия «уронила» ускоритель. Проверяется командой !nvidia-smi: если она возвращает ошибку, GPU в текущей сессии недоступен, и нужно перезапустить среду выполнения.
⚠️ Внимание: Google ограничивает использование Colab для некоторых сценариев нагрузки, и условия бесплатного тарифа периодически меняются. Перед длительными задачами сверьтесь с актуальными правилами сервиса, чтобы не потерять прогресс посреди работы.
Оптимизация генерации на бесплатном GPU
Даже на скромном ускорителе можно добиться приемлемой скорости, если грамотно подобрать параметры. Начните с разрешения 512×512 — это базовый формат, на который ориентировано большинство классических моделей. Увеличение разрешения резко повышает расход памяти и риск ошибок.
Количество шагов (steps) влияет на качество, но после определённого порога прирост становится незаметным, а время растёт линейно. Для черновых вариантов достаточно 20–25 шагов, финальные рендеры можно делать дольше. Генерируйте по одному изображению за раз вместо больших батчей — это снижает пиковую нагрузку на память.
Дополнительные флаги запуска для слабых GPU
Помимо --medvram и --lowvram, можно использовать --opt-split-attention для снижения пикового потребления памяти при генерации, а также --no-half-vae, если изображения получаются чёрными или искажёнными. Флаг --disable-safe-unpickle ускоряет загрузку некоторых моделей, но применяйте его только к файлам из доверенных источников.
Альтернативы классическому Colab-ноутбуку
Помимо ручной сборки, существуют готовые публичные ноутбуки, где вся установка уже автоматизирована — достаточно нажать «Запустить всё». Их плюс в скорости старта, минус — в зависимости от актуальности кода автора: устаревший ноутбук может ломаться после обновлений зависимостей.
Если лимиты Colab стали помехой, рассмотрите альтернативные облачные сервисы с GPU или локальную установку при наличии подходящей видеокарты. Локальный запуск освобождает от ограничений по времени сессии и позволяет работать с любыми моделями без загрузки в облако на каждый сеанс.
Часто задаваемые вопросы
Можно ли запускать Stable Diffusion в Colab бесплатно?
Да, бесплатный тариф Colab позволяет работать с Stable Diffusion, но с ограничениями: тип GPU не гарантирован, сессии ограничены по времени и могут прерываться. Для регулярной работы рассмотрите платные тарифы Colab или альтернативные сервисы.
Почему появляется ошибка CUDA out of memory?
Видеопамяти выделенного GPU не хватает для текущих настроек. Добавьте флаг --medvram или --lowvram, уменьшите разрешение изображения и генерируйте по одной картинке за раз.
Как сохранить сгенерированные изображения после закрытия сессии?
Подключите Google Drive командой монтирования и настройте сохранение результатов в папку на Drive, либо скачивайте файлы вручную до завершения сессии. Всё, что остаётся в виртуальной машине Colab, удаляется при отключении.
Что делать, если ссылка Gradio не работает?
Убедитесь, что при запуске указан флаг --share. Если ссылка сгенерирована, но не открывается, перезапустите ячейку запуска — иногда помогает простое повторное создание туннеля.
Какую модель выбрать для начала?
Начните с одной из популярных базовых моделей в формате .safetensors с проверенной площадки, предварительно ознакомившись с её лицензией. Специализированные и обученные сообществом модели имеет смысл пробовать после освоения базового рабочего процесса.