Требования к железу для self-hosted ИИ генератора
Узнайте реальные системные требования для запуска Stable Diffusion и ComfyUI. Разбираем производительность на CPU и GPU, объемы VRAM для SDXL и бюджет дискового пространства.
Что на самом деле нужно для self-hosted генератора изображений на базе ИИ
Self-hosted генератор изображений на базе ИИ состоит из одного веб-приложения и одного файла модели. Приложение — это ComfyUI, оно работает на любом сервере с Linux. Модель определяет требования к аппаратному обеспечению. Чекпоинт класса SDXL представляет собой один файл размером 6.94 GB, который должен размещаться в видеопамяти GPU. Этот факт определяет весь бюджет, поэтому ознакомьтесь с иерархией оборудования ниже, прежде чем арендовать ресурсы.
Честное резюме: VPS только с CPU может установить и запустить это ПО, генерируя изображения 512x512 с использованием старой модели Stable Diffusion 1.5 за одну-две минуты на изображение. Тот же сервер при работе с SDXL в разрешении 1024x1024 будет тратить от десяти до двадцати минут на одно изображение. Это не неисправность системы. Это арифметика, и данное руководство объясняет её суть.
Почему размер модели определяет выбор оборудования
Генерация изображений основана на цикле удаления шума (denoising loop). Рендеринг из 30 шагов запускает алгоритм удаления шума — UNet модели SDXL — 30 раз, и каждый проход считывает все веса UNet. Два текстовых энкодера запускаются один раз перед циклом, а VAE декодирует изображение один раз после него, поэтому они не влияют на стоимость каждого шага. Веса UNet модели SDXL в формате половинной точности занимают 5.14 GB, поэтому в упрощенном представлении рендеринг из 30 шагов перемещает через память около 154 GB весов, прежде чем вы увидите изображение, при этом промежуточные тензоры увеличивают этот объем.
GPU с 24 GB видеопамяти (VRAM, память, распаянная рядом с графическим чипом) считывает данные со скоростью сотни гигабайт в секунду и удерживает все 6.9 GB модели одновременно. CPU VPS считывает системную оперативную память со скоростью десятки гигабайт в секунду и не имеет матричного оборудования для сверточных операций, поэтому тот же цикл выполняется на один-два порядка медленнее. Это тот же аргумент о пропускной способности памяти, который применим к текстовым моделям, и его стоит изучить вместе с когда VPS с GPU действительно стоит своих денег.
Генерация изображений отличается от генерации текста одним важным аспектом. Чат-модель выводит токены потоком, поэтому медленная машина все равно кажется пригодной для использования, так как слова появляются по мере чтения. Изображение же появляется только после завершения последнего шага. Медленная работа означает ожидание перед индикатором прогресса.
Аппаратная лестница в реальных цифрах
В блоке ниже приведены типичные показатели для генерации одного изображения SDXL в разрешении 1024x1024, 30 шагов, сэмплер Euler, по состоянию на июль 2026 года. Рассматривайте их как порядок величин. Ваш выбор сэмплера, количество шагов и разрешение изменят эти значения.
Данные, на которых построен график
[
{
"label": "8 vCPU VPS, no GPU",
"seconds_per_image": 780
},
{
"label": "8GB VRAM GPU",
"seconds_per_image": 32
},
{
"label": "12GB VRAM GPU",
"seconds_per_image": 18
},
{
"label": "24GB VRAM GPU",
"seconds_per_image": 9
}
]Для CPU время составляет 780 секунд, около тринадцати минут. Для карты с 24 GB видеопамяти — 9 секунд. Это тот разрыв, за который вы платите.
Читайте эту таблицу следующим образом. При объеме VRAM менее 8 GB SDXL всё ещё работает, так как ComfyUI управляет VRAM и системной оперативной памятью совместно, автоматически выгружая веса моделей. По состоянию на октябрь 2026 года в README проекта указан нижний порог в 4 GB VRAM и 8 GB системной памяти при использовании асинхронной потоковой передачи весов. Выгрузка данных требует времени на каждом шаге, поэтому карта с 6 GB видеопамяти будет генерировать изображение ближе к минуте, чем к тридцати секундам. При 8 GB базовая модель помещается в память, и рендеринг проходит комфортно. При 12 GB вы можете держать в памяти один или два ControlNet вместе с чекпоинтом без необходимости выгрузки. При 24 GB вы можете запустить SDXL вместе с refiner и апскейлингом в рамках одного рабочего процесса, а также обучать LoRA-адаптеры с запасом по памяти. Обучение требует меньших ресурсов: руководство по обучению SDXL для трейнера kohya-ss sd-scripts гласит, что обучение LoRA возможно при 8 GB видеопамяти, при этом рекомендуется 10 GB. Для достижения этого результата предлагается обучать только U-Net, включить gradient checkpointing, кэшировать выходы текстового энкодера и латентные представления, использовать 8-битный оптимизатор или Adafactor, а также снизить размерность LoRA до 4–8 на карте с 8 GB. Руководство по LoRA для графического интерфейса kohya_ss, который является оболочкой для этих скриптов, более осторожно: оно рекомендует использовать GPU с объемом памяти не менее 12 GB для обучения LoRA.
На что способен и на что не способен CPU VPS
Он может больше, чем ожидают люди, и меньше, чем обещает маркетинг. Важно четко понимать границы.
На CPU VPS можно установить ComfyUI, запустить веб-интерфейс, хранить библиотеку моделей, управлять очередью и генерировать изображения вообще без GPU. При использовании Stable Diffusion 1.5 с разрешением 512x512 и 20 шагами генерации, на 8 современных vCPU и 16 GB оперативной памяти одно изображение будет создаваться примерно от 60 до 150 секунд. Для пакетной обработки, которая выполняется ночью, или для низконагруженного эндпоинта генерации изображений с очередью, это вполне приемлемый результат.
CPU VPS не подходит для интерактивной работы. Итерация промптов подразумевает двадцать генераций в час, а при времени выполнения в тринадцать минут на одну картинку вы получите только четыре. Также он не подходит для обучения. Fine-tuning LoRA на CPU измеряется днями, а не часами, поэтому считайте эту функцию недоступной.
Правила использования памяти для конфигураций только с CPU отличаются от правил для GPU. Веса загружаются в системную оперативную память, поэтому вам нужен объем, равный размеру модели плюс рабочее пространство: около 16 GB RAM для SDXL и около 8 GB для SD 1.5. Сервер с 4 GB памяти запустит ComfyUI, но процесс будет принудительно завершен (OOM killer) во время первой же генерации. Это будет выглядеть как внезапное исчезновение процесса с кодом Killed в dmesg без вывода трассировки Python.
Установка ComfyUI на машину с GPU
Ниже приведены команды из официального репозитория. Начните с чистой установки Ubuntu 24.04 с уже настроенным драйвером NVIDIA. Сначала проверьте драйвер, так как без этой проверки любая последующая ошибка будет выглядеть одинаково.
nvidia-smiЭта команда должна вывести таблицу с вашей видеокартой и версией CUDA. Ошибки command not found или NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver означают, что драйвер отсутствует или модуль ядра не загрузился после обновления. Исправьте это перед продолжением, иначе ComfyUI молча переключится на CPU, и вы решите, что проблема в самом ПО.
sudo apt update
sudo apt install -y git python3-venv python3-pip wget
git clone https://github.com/comfyanonymous/ComfyUI.git
cd ComfyUI
python3 -m venv venv
. venv/bin/activate
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu130
pip install -r requirements.txtИспользование виртуального окружения — это не рекомендация, а необходимость. PyTorch подтягивает большое дерево зависимостей, и его установка в системные директории на сервере, где работают другие приложения, приведет к конфликтам. Перед тем как идти дальше, убедитесь, что PyTorch видит видеокарту.
python -c "import torch; print(torch.cuda.is_available(), torch.cuda.get_device_name(0))"Вывод True вместе с названием вашей карты означает, что стек работает корректно. Сообщение False означает, что установленный wheel-пакет не соответствует драйверу; обычно это происходит из-за того, что в кэше уже был сохранен CPU-only вариант torch. Переустановите пакет, используя указанный выше index URL.
Получение модели и планирование дискового пространства
ComfyUI поставляется без весов. Файлы чекпоинтов следует размещать в models/checkpoints, файлы VAE — в models/vae, а адаптеры LoRA — в models/loras.
cd ~/ComfyUI/models/checkpoints
wget https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensorsВсегда отдавайте предпочтение .safetensors перед .ckpt. Файл .ckpt представляет собой сериализованный объект Python, и его загрузка приводит к выполнению кода, созданного автором файла. Формат safetensors содержит только тензоры, поэтому вредоносный файл не может выполнить произвольный код.
Объем хранилища — это фактор, о котором часто забывают. Один базовый чекпоинт SDXL занимает 6.94 GB. Модель refiner добавляет еще 6 GB. Модели SDXL ControlNet варьируются от 320 MB для компактной модели Canny до 2.5 GB для полной модели в половинной точности. Апскейлеры занимают мало места: стандартная модель Real-ESRGAN x4plus весит 67 MB, ее версия для аниме — 17.9 MB, а модель для аниме-видео — 2.5 MB. Вес LoRA варьируется от десятков мегабайт до 787 MB для адаптеров Hyper-SDXL от ByteDance. Пользователи, увлеченные этим процессом, скачивают вторую и третью базовые модели в течение первой недели. Выделите 100 GB дискового пространства для рабочей установки и следите за директорией вывода: файлы PNG в разрешении 1024x1024 занимают от 1 до 2 MB каждый, и автоматизированная пакетная обработка может быстро заполнить небольшой диск. Разместите models/ и output/ на томе с возможностью расширения и выполняйте резервное копирование файлов рабочих процессов JSON с помощью инструментов, подобных шифрованному инкрементальному резервному копированию в объектное хранилище. Веса можно скачать повторно, а настроенные вами рабочие процессы — нет.
Запуск и безопасный доступ
cd ~/ComfyUI
. venv/bin/activate
python main.py --listen 127.0.0.1 --port 8188ComfyUI работает на порту 8188. На сервере без GPU добавьте флаг --cpu, который принудительно использует CPU вместо завершения работы из-за отсутствия устройства CUDA.
Привязывайте сервис к 127.0.0.1, а не к 0.0.0.0. В ComfyUI появились учетные записи, но ни одна из них не защищает ваш сервер паролем. Вход в разделе Settings, в блоке User, авторизует вас в учетной записи Comfy; это работает и при локальной установке: документация Comfy упоминает вход через email, Google, GitHub и API-ключ. Согласно документации, эта учетная запись предоставляет доступ к партнерским узлам и подпискам Comfy Cloud, и нигде не указано, что это способ защитить ваш сервер паролем. Флаг --multi-user включает только хранилище для каждого пользователя: по состоянию на октябрь 2026 года сервер берет имя пользователя из заголовка запроса comfy-user и не проверяет пароль. Любой, кто получит доступ к порту, может ставить задачи в очередь, просматривать все созданные вами изображения, а если вы запустили сервер с флагом --enable-manager — устанавливать пользовательские узлы, что означает выполнение произвольного кода на вашем сервере. Получайте доступ к нему через SSH-туннель с вашего ноутбука.
ssh -N -L 8188:127.0.0.1:8188 you@your-serverЗатем откройте http://127.0.0.1:8188 локально. Если вам нужен полноценный многопользовательский доступ, установите перед приложением reverse proxy с аутентификацией и оставьте приложение привязанным к localhost. Это же правило применимо к любому неавторизованному self-hosted сервису, и это стандартная практика при развертывании Docker Compose на VPS.
Запуск под управлением systemd
Очередь рендеринга, которая завершается при закрытии SSH-сессии, не является полноценным сервисом. Запускайте её от имени пользователя comfy без прав входа в систему, а не от своего имени: пользовательские узлы — это программный код, и он не должен иметь доступа к вашей домашней директории. Создайте пользователя и переместите установку в его домашнюю директорию:
sudo useradd --system --create-home --home-dir /home/comfy --shell /usr/sbin/nologin comfy
sudo mv ~/ComfyUI /home/comfy/
sudo chown -R comfy:comfy /home/comfy/ComfyUIВиртуальное окружение продолжает работать после перемещения, так как юнит обращается к python напрямую. Затем создайте /etc/systemd/system/comfyui.service.
[Unit]
Description=ComfyUI
After=network-online.target
[Service]
User=comfy
WorkingDirectory=/home/comfy/ComfyUI
ExecStart=/home/comfy/ComfyUI/venv/bin/python main.py --listen 127.0.0.1 --port 8188
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.targetsudo systemctl daemon-reload
sudo systemctl enable --now comfyui
systemctl status comfyuiactive (running) и строка лога To see the GUI go to: http://127.0.0.1:8188 означают, что сервис запущен. Обратите внимание, что ExecStart указывает на интерпретатор внутри виртуального окружения напрямую, так как systemd не выполняет ваш профиль оболочки и activate никогда не происходит.
Прагматичные рекомендации с учетом бюджета
Если вы хотите попробовать генерацию изображений и стоимость для вас важнее скорости, возьмите CPU VPS с 16 GB оперативной памяти, запустите SD 1.5 в разрешении 512x512 и будьте готовы ждать минуту или две на каждое изображение. Это честная точка входа, которая стоит значительно дешевле любого решения с GPU. Это также подходящее место для хранения библиотеки моделей и рабочих процессов на время принятия решения.
Если вы работаете с промптами ежедневно, арендуйте GPU с объемом VRAM не менее 12 GB в облаке с почасовой оплатой и выключайте инстанс, когда заканчиваете работу. Генерация изображений — это эпизодическая нагрузка, и простаивающий GPU с ежемесячной оплатой — самая частая причина лишних расходов. Храните чекпоинты на недорогом блочном хранилище и монтируйте их по мере необходимости.
Если вы предоставляете сервис другим пользователям или регулярно обучаете LoRA-адаптеры, планируйте использование 24 GB VRAM на собственной машине. В руководстве sd-scripts по SDXL указано, что обучение LoRA возможно при 8 GB (рекомендуется 10 GB) с использованием настроек экономии памяти, а руководство по LoRA для графического интерфейса kohya_ss требует не менее 12 GB. Значение 24 GB в руководстве sd-scripts приведено для полноценной дообутки (fine-tuning) SDXL с размером пакета (batch size) 1, поэтому карта на 24 GB покрывает задачи по LoRA и оставляет возможность для дообутки. В этом случае сервер обычно окупает себя, параллельно запуская локальную языковую модель, что описано в самостоятельном хостинге LLM с помощью Ollama.
На каком бы уровне вы ни остановились, протестируйте свою машину, прежде чем доверять любым опубликованным цифрам. Поставьте один и тот же промпт в очередь пять раз и посмотрите на количество секунд на итерацию, которое ComfyUI выводит в консоль. Это число и есть ваша реальная позиция на лестнице производительности.
FAQ
Можно ли запустить Stable Diffusion без GPU?
Да. ComfyUI работает с python main.py --cpu и генерирует реальные изображения без видеокарты. Ожидайте примерно от 60 до 150 секунд на одно изображение для Stable Diffusion 1.5 в разрешении 512x512 и от десяти до двадцати минут для SDXL в разрешении 1024x1024 при использовании 8 современных vCPU. Это подходит для пакетной обработки в ночное время и для низконагруженных эндпоинтов. Этот способ не подходит для итеративного подбора промптов, а обучение моделей полностью недоступно.
Сколько VRAM нужно для SDXL?
8 GB позволяют комфортно запускать SDXL в разрешении 1024x1024. При меньшем объеме ComfyUI автоматически выгружает веса модели в системную RAM, и программа продолжает работать. По состоянию на октябрь 2026 года в README указан минимум в 4 GB VRAM плюс 8 GB системной RAM, при этом каждый шаг выгрузки требует времени. 12 GB позволяют удерживать ControlNet вместе с чекпоинтом, а 24 GB покрывают использование базовой модели, рефайнера и апскейлинга в одном рабочем процессе. Руководство kohya-ss sd-scripts утверждает, что обучение SDXL LoRA возможно с 8 GB (рекомендуется 10 GB) при использовании настроек экономии памяти, в то время как руководство к GUI kohya_ss требует не менее 12 GB. Для полноценного дообучения (full fine-tuning) SDXL требуется 24 GB при размере батча 1.
Сколько дискового пространства нужно для моделей?
Только базовый чекпоинт SDXL занимает 6.94 GB, а рефайнер добавляет еще около 6 GB. Модели SDXL ControlNet весят от 320 MB до 2.5 GB каждая при половинной точности, LoRA-адаптеры — от десятков мегабайт до 787 MB, а апскейлеры Real-ESRGAN — от 2.5 MB до 67 MB. Выделите 100 GB для рабочей установки с несколькими базовыми моделями и отдельно следите за директорией вывода, так как PNG-файлы в разрешении 1024x1024 занимают от 1 до 2 MB каждый.
Безопасно ли открывать ComfyUI в публичном интернете?
Нет. Вход в аккаунт Comfy в настройках ComfyUI работает для локальной установки, но он предоставляет доступ к партнерским нодам и облачным подпискам Comfy, и нигде в документации Comfy это не представлено как средство защиты вашего сервера. Флаг --multi-user лишь разделяет хранилище для разных пользователей, не проверяя пароль. При включенном ComfyUI-Manager интерфейс устанавливает пользовательские ноды, которые представляют собой Python-код, исполняемый на вашем сервере, поэтому открытый порт означает возможность удаленного выполнения кода. Привяжите его к 127.0.0.1, подключайтесь через SSH-туннель с помощью ssh -N -L 8188:127.0.0.1:8188 you@your-server и установите перед ним аутентифицирующий reverse proxy, если доступ нужен более чем одному человеку.
Почему мой рендер был завершен без сообщения об ошибке?
Исчезновение процесса с Killed в dmesg без Python-трассировки означает работу Linux out-of-memory killer, а не ошибку ComfyUI. На системе только с CPU веса моделей находятся в системной RAM, поэтому для SDXL требуется около 16 GB, а для SD 1.5 — около 8 GB, плюс рабочее пространство. Добавьте RAM, увеличьте swap или перейдите на меньшую модель и более низкое разрешение.