SSD Nodes Learn 8GB RAM — $66/rok
Przewodniki Matt ConnorAutor: Matt Connor · Zaktualizowano 2026-08-01

Generator obrazów AI self-hosted: wymagania sprzętowe

Sprawdź realne wymagania Stable Diffusion: VPS bez GPU generuje SD 1.5 w 1–2 minuty, a SDXL w 10–20 minut. Uwzględniono ComfyUI, 6.94 GB dysku i sprzęt.

Czego naprawdę wymaga samodzielnie hostowany generator obrazów AI

Samodzielnie hostowany generator obrazów AI składa się z jednej aplikacji internetowej i jednego pliku modelu. Aplikacją jest ComfyUI, które działa na dowolnym serwerze Linux. Model określa wymagania sprzętowe. Checkpoint klasy SDXL to pojedynczy plik o rozmiarze 6.94 GB, który powinien znajdować się w pamięci GPU. Ten fakt określa cały budżet, dlatego przed wynajęciem serwera należy zapoznać się z poniższą skalą sprzętową.

Podsumowanie bez uproszczeń: VPS bez GPU może zainstalować i udostępniać oprogramowanie. Może także generować obrazy w rozdzielczości 512x512 przy użyciu starszego modelu Stable Diffusion 1.5 w ciągu jednej lub dwóch minut na obraz. Ten sam serwer generuje obrazy SDXL w rozdzielczości 1024x1024 w ciągu dziesięciu do dwudziestu minut na obraz. Nie oznacza to nieprawidłowej konfiguracji. Wynika to z obliczeń, które zostały wyjaśnione w tym przewodniku.

Dlaczego rozmiar modelu decyduje o wymaganiach maszyny

Generowanie obrazów wykonuje pętlę odszumiania. Renderowanie w 30 krokach przetwarza cały model na obrazie 30 razy. Przy każdym kroku odczytywane są wszystkie wagi. SDXL w trybie half precision zajmuje około 6.9 GB wag. Dlatego przed wyświetleniem obrazu podczas renderowania w 30 krokach przez pamięć jest przesyłane około 200 GB danych.

GPU z 24 GB pamięci wideo (VRAM, pamięci umieszczonej obok układu graficznego) odczytuje dane z szybkością setek gigabajtów na sekundę. Jednocześnie może przechowywać całe 6.9 GB. CPU VPS odczytuje systemową pamięć RAM z szybkością dziesiątek gigabajtów na sekundę. Nie ma też sprzętowych jednostek macierzowych do wykonywania operacji splotu. Z tego powodu ta sama pętla działa od jednego do dwóch rzędów wielkości wolniej. Jest to ten sam argument dotyczący przepustowości pamięci, który ma zastosowanie do modeli tekstowych. Warto zapoznać się również z artykułem kiedy VPS z GPU rzeczywiście jest wart swojej ceny.

Generowanie obrazów różni się od generowania tekstu pod jednym istotnym względem. Model czatu przesyła tokeny strumieniowo. Dlatego nawet wolna maszyna pozostaje użyteczna, ponieważ słowa pojawiają się podczas czytania. Obraz jest wyświetlany dopiero po zakończeniu ostatniego kroku. Wolne działanie oznacza oczekiwanie na pasku postępu.

Drabina sprzętowa z rzeczywistymi wartościami

Poniższy blok zawiera typowe wartości dla jednego obrazu SDXL o rozdzielczości 1024x1024, przy 30 krokach i użyciu samplera Euler, na lipiec 2026. Należy traktować je jako wartości rzędu wielkości. Zastosowany sampler, liczba kroków i rozdzielczość wpływają na te wartości.

ChartOne SDXL image, 1024x1024, 30 steps (typical, July 2026)
The data behind this chart
[
  {
    "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
  }
]

Wiersz dla CPU zawiera wartość 780 sekund, czyli około trzynastu minut. Karta z 24 GB osiąga wartość 9 sekund. Taka jest różnica, za którą się płaci.

Drabinę należy odczytywać w następujący sposób. Przy mniej niż 8 GB pamięci VRAM SDXL nadal działa, ponieważ ComfyUI automatycznie przenosi warstwy do pamięci RAM systemu i może obsługiwać kartę mającą zaledwie 1 GB. Przenoszenie warstw wydłuża każdy krok, dlatego karta z 6 GB zapewnia czas bliższy minucie na obraz niż trzydziestu sekundom. Przy 8 GB model bazowy mieści się w pamięci, a renderowanie przebiega bez problemów. Przy 12 GB można przechowywać jeden lub dwa modele ControlNet razem z checkpointem bez przenoszenia warstw. Przy 24 GB można uruchomić SDXL, refiner oraz upscaling w jednym workflow i rozpocząć trenowanie adapterów LoRA, które wymaga znacznie więcej pamięci niż samo generowanie.

Co może i czego nie może zrobić VPS z CPU

Może zrobić więcej, niż się oczekuje, i mniej, niż sugerują materiały marketingowe. Należy precyzyjnie określić tę granicę.

Na VPS z CPU można zainstalować ComfyUI, udostępnić interfejs WWW, przechowywać bibliotekę modeli, obsługiwać kolejkę oraz generować obrazy bez użycia GPU. W przypadku Stable Diffusion 1.5 przy rozdzielczości 512x512 i 20 krokach należy oczekiwać około 60–150 sekund na obraz na 8 nowoczesnych vCPU i przy 16 GB pamięci RAM. W przypadku zadania wsadowego uruchamianego przez noc lub niskowolumenowego endpointu obrazów działającego za kolejką jest to rzeczywiście wystarczające.

VPS z CPU nie zapewni interaktywnej pracy. Iteracyjne testowanie promptów oznacza wygenerowanie 20 obrazów w ciągu godziny. Przy czasie 13 minut na obraz otrzyma się 4 obrazy. Nie można również trenować modeli. Dostrajanie LoRA na CPU trwa kilka dni, a nie kilka godzin, dlatego należy uznać tę funkcję za niedostępną.

Zasada dotycząca pamięci dla trybu wyłącznie CPU różni się od zasady dotyczącej GPU. Wagi modelu są ładowane do systemowej pamięci RAM, dlatego potrzebne jest miejsce na model oraz przestrzeń roboczą: około 16 GB RAM dla SDXL i około 8 GB dla SD 1.5. Maszyna z 4 GB uruchomi ComfyUI, a następnie proces zostanie zakończony przez mechanizm zabijania procesów z powodu braku pamięci podczas pierwszego generowania. Objawi się to zniknięciem procesu wraz z Killed w dmesg i bez śladu stosu Python.

Instalacja ComfyUI na maszynie z GPU

Poniżej przedstawiono polecenia dostarczane przez upstream. Należy rozpocząć od czystej instalacji Ubuntu 24.04 z zainstalowanym sterownikiem NVIDIA. Najpierw należy sprawdzić sterownik, ponieważ bez tej weryfikacji każda późniejsza awaria wygląda tak samo.

nvidia-smi

Polecenie musi wyświetlić tabelę z kartą i wersją CUDA. command not found lub NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver oznacza brak sterownika albo niezaładowanie modułu jądra po aktualizacji. Należy naprawić ten problem przed kontynuowaniem, ponieważ ComfyUI bez komunikatu przełączy się na CPU i przyczyną zostanie niesłusznie uznane oprogramowanie.

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

Środowisko wirtualne nie jest opcjonalną wskazówką. PyTorch pobiera dużą liczbę zależności, a instalacja systemowa na serwerze, na którym działa inne oprogramowanie, może spowodować jego awarię. Przed kontynuowaniem należy sprawdzić, czy PyTorch wykrywa kartę.

python -c "import torch; print(torch.cuda.is_available(), torch.cuda.get_device_name(0))"

True wraz z nazwą karty oznacza, że stos działa prawidłowo. False oznacza, że zainstalowany wheel nie jest zgodny ze sterownikiem. Zwykle przyczyną jest wcześniejsze zapisanie w pamięci podręcznej wheel torch przeznaczonego wyłącznie dla CPU. Należy wykonać ponowną instalację z użyciem podanego wcześniej adresu URL indeksu.

Pobierz model i zaplanuj miejsce na dysku

ComfyUI nie zawiera wag. Punkty kontrolne należy umieścić w models/checkpoints, pliki VAE w models/vae, a adaptery LoRA w 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

Zawsze należy wybierać .safetensors zamiast .ckpt. Plik .ckpt jest serializowanym obiektem Python, a jego wczytanie wykonuje kod pochodzący od jego twórcy. Format safetensors przechowuje wyłącznie tensory, dlatego złośliwy plik nie może uruchomić kodu.

Miejsce na dysku jest często pomijanym kosztem. Jeden bazowy punkt kontrolny SDXL zajmuje 6.94 GB. Refiner zajmuje dodatkowo 6 GB. Pojedynczy model ControlNet zajmuje od 1.4 do 2.5 GB, upscaler od 60 do 350 MB, a LoRA od 20 do 400 MB. W ciągu tygodnia często pobiera się drugi i trzeci model bazowy. Na działającą instalację należy przeznaczyć 100 GB miejsca na dysku. Należy również monitorować katalog wyjściowy: pliki PNG o rozdzielczości 1024x1024 zajmują od 1 do 2 MB każdy, a niezatrzymane zadanie wsadowe może szybko zapełnić mały dysk. Katalogi models/ i output/ należy umieścić na woluminie, który można powiększać. Pliki JSON z przepływami pracy należy archiwizować, na przykład za pomocą szyfrowanych przyrostowych kopii zapasowych w magazynie obiektowym. Wagi można pobrać ponownie. Dostosowanych przepływów pracy nie można odtworzyć w ten sposób.

Uruchomienie i bezpieczny dostęp

cd ~/ComfyUI
. venv/bin/activate
python main.py --listen 127.0.0.1 --port 8188

ComfyUI udostępnia usługę na porcie 8188. Na serwerze wyposażonym wyłącznie w CPU należy dodać --cpu. Wymusza to użycie CPU i zapobiega błędom wynikającym z braku urządzenia CUDA.

Należy powiązać usługę z 127.0.0.1, a nie z 0.0.0.0. ComfyUI nie ma ekranu logowania ani kont użytkowników. Każdy, kto uzyska dostęp do portu, może dodawać zadania do kolejki, odczytywać wszystkie wygenerowane obrazy i instalować węzły niestandardowe. Oznacza to możliwość wykonania dowolnego kodu na serwerze. Zamiast tego należy uzyskiwać dostęp przez tunel SSH z komputera lokalnego.

ssh -N -L 8188:127.0.0.1:8188 you@your-server

Następnie należy otworzyć lokalnie http://127.0.0.1:8188. Jeśli wymagany jest rzeczywisty dostęp wielu użytkowników, przed usługą należy umieścić reverse proxy z uwierzytelnianiem, a aplikację pozostawić powiązaną z localhost. To samo podejście dotyczy każdej samoobsługowej usługi bez uwierzytelniania i stanowi standardowy wzorzec w wdrożeniach Docker Compose na VPS.

Uruchamianie przez systemd

Kolejka renderowania, która kończy działanie po zamknięciu sesji SSH, nie jest usługą. Zapisz /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.target
sudo systemctl daemon-reload
sudo systemctl enable --now comfyui
systemctl status comfyui

active (running) oraz wpis w dzienniku o treści To see the GUI go to: http://127.0.0.1:8188 oznaczają, że usługa działa. ExecStart bezpośrednio wskazuje interpreter w środowisku wirtualnym, ponieważ systemd nie uruchamia profilu powłoki, a activate nigdy nie następuje.

Praktyczne zalecenia zależnie od budżetu

Jeśli chcesz wypróbować generowanie obrazów, a koszt ma większe znaczenie niż szybkość, wybierz VPS z procesorem CPU i 16 GB pamięci RAM, uruchom SD 1.5 w rozdzielczości 512x512 i zaakceptuj czas generowania od jednej do dwóch minut na obraz. To rozsądny punkt wejścia. Koszt takiego rozwiązania stanowi ułamek kosztu rozwiązania z GPU. Jest to również właściwe miejsce do przechowywania biblioteki modeli i workflowów na czas podejmowania decyzji.

Jeśli codziennie iteracyjnie testujesz prompty, wynajmuj na godziny w chmurze GPU z co najmniej 12 GB pamięci VRAM i wyłączaj je po zakończeniu pracy. Generowanie obrazów jest zadaniem wykonywanym skokowo. Najczęstszą przyczyną nadmiernych wydatków jest nieużywane GPU rozliczane miesięcznie. Checkpointy przechowuj na tanim magazynie blokowym i montuj go.

Jeśli udostępniasz usługę innym osobom albo trenujesz adaptery LoRA, potrzebujesz 24 GB pamięci VRAM oraz maszyny, którą pozostawiasz uruchomioną. W takim przypadku ta sama maszyna zwykle może również uruchamiać lokalny model językowy. Tę konfigurację opisano w samodzielne hostowanie LLM za pomocą Ollama.

Niezależnie od wybranego wariantu zmierz wydajność własnej maszyny, zanim uwierzysz opublikowanym wartościom. Umieść ten sam prompt w kolejce pięć razy i odczytaj liczbę sekund na iterację wyświetlaną przez ComfyUI w konsoli. Ta wartość określa rzeczywistą pozycję na skali wydajności.

FAQ

Czy można uruchomić Stable Diffusion bez procesora GPU?

Tak. ComfyUI działa z python main.py --cpu i generuje rzeczywiste obrazy bez karty graficznej. Należy oczekiwać około 60 do 150 sekund na obraz dla Stable Diffusion 1.5 w rozdzielczości 512x512 oraz od dziesięciu do dwudziestu minut dla SDXL w rozdzielczości 1024x1024, przy użyciu 8 nowoczesnych vCPU. Takie czasy pozwalają na wykonywanie zadań wsadowych w nocy oraz obsługę punktów końcowych o małym obciążeniu. Nie pozwalają jednak na iteracyjne testowanie promptów, a trenowanie jest całkowicie niepraktyczne.

Ile pamięci VRAM jest potrzebne dla SDXL?

8 GB pozwala wygodnie uruchamiać SDXL w rozdzielczości 1024x1024. Przy mniejszej ilości pamięci ComfyUI automatycznie przenosi warstwy do systemowej pamięci RAM i nadal działa, nawet przy około 1 GB VRAM, ale każdy taki etap wydłuża wykonanie. 12 GB pozwala przechowywać ControlNet razem z checkpointem, a 24 GB wystarcza na model bazowy, refiner i skalowanie w jednym przepływie pracy. Jest to również praktyczne minimum do trenowania adapterów LoRA.

Ile miejsca na dysku zajmują modele?

Sam bazowy checkpoint SDXL zajmuje 6.94 GB, a refiner dodaje około 6 GB. Modele ControlNet zajmują od 1.4 do 2.5 GB każdy, adaptery LoRA od 20 do 400 MB, a upscalery do 350 MB. Na działającą instalację z kilkoma modelami bazowymi należy przeznaczyć 100 GB. Katalog wyjściowy należy monitorować osobno, ponieważ pliki PNG o rozdzielczości 1024x1024 zajmują od 1 do 2 MB każdy.

Czy udostępnianie ComfyUI w publicznym internecie jest bezpieczne?

Nie. ComfyUI nie zapewnia żadnego uwierzytelniania, a system custom nodes instaluje i uruchamia kod Python z poziomu interfejsu. Otwarty port oznacza więc możliwość zdalnego wykonania kodu na serwerze. Należy powiązać usługę z 127.0.0.1, uzyskiwać do niej dostęp przez tunel SSH za pomocą ssh -N -L 8188:127.0.0.1:8188 you@your-server oraz skonfigurować przed nią uwierzytelniający reverse proxy, jeśli dostęp ma mieć więcej niż jedna osoba.

Dlaczego renderowanie zakończyło się bez komunikatu o błędzie?

Zniknięcie procesu wraz z Killed w dmesg bez śladu stosu Python oznacza działanie linuksowego mechanizmu zabijania procesów z powodu braku pamięci, a nie błąd ComfyUI. Na serwerze używającym wyłącznie CPU wagi modeli znajdują się w systemowej pamięci RAM. Z tego powodu SDXL wymaga około 16 GB, a SD 1.5 około 8 GB, dodatkowo z pamięcią roboczą. Należy zwiększyć ilość pamięci RAM, dodać swap albo użyć mniejszego modelu i niższej rozdzielczości.

#stable-diffusion#comfyui#ai#images#self-hosting#gpu