Mahitaji ya maunzi ya Stable Diffusion na ComfyUI
Jifunze mahitaji halisi ya maunzi kwa ajili ya ComfyUI na Stable Diffusion. Tunachambua uwezo wa CPU VPS, kiasi cha VRAM kinachohitajika kwa SDXL, na nafasi ya diski inayofaa.
Mahitaji halisi ya jenereta ya picha ya AI inayojiendesha (self-hosted)
Jenereta ya picha ya AI inayojiendesha inajumuisha programu moja ya wavuti na faili moja ya modeli. Programu hiyo ni ComfyUI, na inaweza kufanya kazi kwenye mashine yoyote ya Linux. Modeli ndiyo inayobainisha mahitaji ya maunzi (hardware) yako. Checkpoint ya daraja la SDXL ni faili moja yenye ukubwa wa 6.94 GB, na inahitaji kukaa kwenye kumbukumbu ya GPU (VRAM). Ukweli huo mmoja ndio unaopanga bajeti nzima, kwa hivyo soma ngazi ya maunzi hapa chini kabla ya kukodisha chochote.
Muhtasari wa kweli: VPS inayotumia CPU pekee inaweza kusakinisha na kuendesha programu hiyo, na inaweza kutengeneza picha za ukubwa wa 512x512 kwa kutumia modeli ya zamani ya Stable Diffusion 1.5 ndani ya dakika moja au mbili kwa kila picha. Mashine hiyo hiyo ikitumia SDXL kwa ukubwa wa 1024x1024 itachukua dakika kumi hadi ishirini kwa kila picha. Hii haimaanishi kuwa usanidi umeharibika. Ni hesabu rahisi, na mwongozo huu unaielezea.
Kwa nini ukubwa wa model huamua mashine inayofaa
Uzalishaji wa picha hutumia mzunguko wa denoising. Render ya hatua 30 hupitisha model nzima kwenye picha mara 30, na kila mzunguko husoma kila uzito (weight). SDXL katika half precision ina uzito wa takriban 6.9 GB, kwa hivyo render ya hatua 30 husafirisha takriban 200 GB kupitia kumbukumbu kabla picha haijaonekana.
GPU yenye 24 GB ya video memory (VRAM, kumbukumbu iliyounganishwa kando ya chip ya michoro) husoma kwa kasi ya mamia ya gigabytes kwa sekunde, na huhifadhi 6.9 GB yote kwa wakati mmoja. CPU VPS husoma RAM ya mfumo kwa kasi ya makumi ya gigabytes kwa sekunde, na haina maunzi ya matrix kwa ajili ya convolutions, kwa hivyo mzunguko huo huo hufanya kazi polepole mara kumi hadi mia moja zaidi. Huu ni hoja ile ile ya memory-bandwidth inayotawala model za maandishi, na inafaa kusomwa sambamba na wakati ambapo VPS yenye GPU inastahili gharama yake.
Uzalishaji wa picha hutofautiana na uzalishaji wa maandishi katika njia moja muhimu. Model ya chat hutiririsha tokens, kwa hivyo mashine ya polepole bado huonekana kama inafaa kwa sababu maneno huonekana wakati unasoma. Picha huonekana tu wakati hatua ya mwisho inapokamilika. Polepole inamaanisha kutazama upau wa maendeleo (progress bar).
Ngazi ya maunzi, ikiwa na namba halisi
Kizuizi hapo chini kina namba za kawaida kwa picha moja ya SDXL katika 1024x1024, hatua 30, Euler sampler, kufikia Julai 2026. Zichukulie kama makadirio ya ukubwa. Sampler yako, idadi ya hatua, na resolution vitabadilisha namba hizi.
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
}
]Safu ya CPU ni 780 sekunde, takriban dakika kumi na tatu. Kadi ya 24 GB ni 9 sekunde. Hilo ndilo pengo unalolipata kwa gharama unayolipa.
Soma ngazi hii kwa namna hii. Chini ya 8 GB ya VRAM, SDXL bado inafanya kazi, kwa sababu ComfyUI huhamishia tabaka kwenye RAM ya mfumo kiotomatiki na itaendesha kadi yenye hata 1 GB. Uhamishaji huu huchukua muda katika kila hatua, kwa hivyo kadi ya 6 GB inakaribia dakika moja kwa picha kuliko sekunde thelathini. Katika 8 GB, modeli ya msingi inatoshea na uundaji wa picha unakuwa wa kuridhisha. Katika 12 GB, unaweza kuhifadhi ControlNet moja au mbili pamoja na checkpoint bila kuhitaji uhamishaji. Katika 24 GB, unaweza kuendesha SDXL pamoja na refiner na upscaling katika workflow moja, na unaweza kuanza kufunza LoRA adapters, jambo linalohitaji kumbukumbu nyingi zaidi kuliko uundaji wa picha.
Uwezo na mipaka ya CPU VPS
Inaweza kufanya mambo mengi kuliko watu wanavyotarajia, na machache kuliko matangazo yanavyodai. Ni muhimu kufahamu mpaka wake.
CPU VPS inaweza kusakinisha ComfyUI, kuendesha interface ya wavuti, kuhifadhi maktaba yako ya model, kusimamia queue, na kutengeneza picha bila kuwa na GPU yoyote. Kwa kutumia Stable Diffusion 1.5 katika 512x512 na hatua 20, tarajia sekunde 60 hadi 150 kwa kila picha kwenye vCPU 8 za kisasa zenye 16 GB ya RAM. Kwa kazi za kundi (batch job) zinazoendeshwa usiku kucha, au huduma ya picha yenye mahitaji madogo nyuma ya queue, hii inatosha kabisa.
CPU VPS haiwezi kukupa utendaji wa haraka (interactive work). Kufanya majaribio ya prompt kunahitaji render ishirini kwa saa, na kwa dakika kumi na tatu kwa kila moja, utapata nne tu. Pia haiwezi kufanya mafunzo (training). LoRA fine-tuning kwenye CPU huchukua siku, si saa, kwa hiyo ichukulie kama haiwezekani.
Kanuni ya kumbukumbu kwa ajili ya CPU pekee ni tofauti na ile ya GPU. Uzito wa model (weights) hupakiwa kwenye system RAM, kwa hiyo unahitaji ukubwa wa model pamoja na nafasi ya ziada ya kufanyia kazi: takriban 16 GB ya RAM kwa SDXL, na takriban 8 GB kwa SD 1.5. Mashine ya 4 GB itaanza ComfyUI kisha itasitishwa na out-of-memory killer katikati ya render ya kwanza, jambo ambalo litaonekana kama mchakato kupotea ghafla na Killed katika dmesg bila ujumbe wowote wa Python traceback.
Kusakinisha ComfyUI kwenye mashine yenye GPU
Haya ni maagizo ya msingi. Anza na usakinishaji safi wa Ubuntu 24.04 ukiwa na driver ya NVIDIA iliyopo tayari. Thibitisha driver kwanza, kwa sababu kila hitilafu itakayotokea baadaye itaonekana sawa ikiwa hutaifanya hatua hii.
nvidia-sminvidia-smi
Hii lazima ichapishe jedwali lenye kadi yako na toleo la CUDA. command not found, au NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver, inamaanisha driver haipo au kernel module haikupakia baada ya upgrade. Rekebisha hilo kabla ya kuendelea, kwa sababu ComfyUI itarudi kwenye CPU kimyakimya na utaishia kuilaumu programu yenyewe.
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.txtpython3 -m venv venv
source venv/bin/activate
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124
Mazingira ya virtual (virtual environment) si ushauri wa hiari. PyTorch huvuta mti mkubwa wa dependencies, na kuisakinisha kwenye mfumo mzima (system-wide) kwenye seva inayoendesha vitu vingine ndiyo njia ya kuharibu huduma hizo nyingine. Thibitisha kuwa PyTorch inaweza kuona kadi yako kabla ya kwenda mbele zaidi.
python -c "import torch; print(torch.cuda.is_available(), torch.cuda.get_device_name(0))"python3 -c "import torch; print(torch.cuda.get_device_name(0))"
True pamoja na jina la kadi yako inamaanisha stack inafanya kazi. False inamaanisha wheel uliyosakinisha hailingani na driver, kwa kawaida kwa sababu wheel ya torch ya CPU-pekee ilikuwa imehifadhiwa kwenye cache. Sakinisha upya kwa kutumia index URL iliyo hapo juu.
Pata modeli, na panga matumizi ya diski
ComfyUI haiji na uzani (weights) wowote. Checkpoints huwekwa kwenye models/checkpoints, faili za VAE kwenye models/vae, na adapters za LoRA kwenye models/loras.
cd ~/ComfyUI/models/checkpoints
wget https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensorsPendelea kutumia .safetensors badala ya .ckpt kila wakati. Faili ya .ckpt ni kitu cha Python kilichohifadhiwa (pickled), na kuipakia huendesha msimbo kutoka kwa yeyote aliyetengeneza faili hiyo. Umbizo la safetensors huhifadhi tensors pekee, hivyo faili yenye nia mbaya haiwezi kuendesha chochote.
Hifadhi ni gharama ambayo watu husahau. Checkpoint moja ya msingi ya SDXL ni 6.94 GB. Refiner ni 6 GB nyingine. Modeli moja ya ControlNet huchukua 1.4 hadi 2.5 GB, upscaler 60 hadi 350 MB, na LoRA 20 hadi 400 MB. Mtu yeyote anayefurahia kazi hii hupakua modeli ya pili na ya tatu ndani ya wiki moja. Tenga 100 GB ya diski kwa ajili ya usakinishaji unaofanya kazi, na ufuatilie saraka ya matokeo (outputs) pia: faili za PNG za 1024x1024 ni 1 hadi 2 MB kila moja, na batch inayoendeshwa bila kusimamiwa inaweza kujaza diski ndogo kimya kimya. Weka models/ na output/ kwenye volume unayoweza kuiongezea ukubwa, na uhifadhi nakala za faili zako za workflow za JSON kwa kutumia kitu kama encrypted incremental backups to object storage. Uzani (weights) unaweza kupakuliwa tena. Workflow ulizozisanidi haziwezi.
Iendeshe, na uifikie kwa usalama
cd ~/ComfyUI
. venv/bin/activate
python main.py --listen 127.0.0.1 --port 8188ComfyUI hufanya kazi kwenye port 8188. Kwenye seva inayotumia CPU pekee, ongeza --cpu, ambayo hulazimisha njia ya CPU badala ya kupata hitilafu kwa sababu ya kukosekana kwa kifaa cha CUDA.
Iunganishe kwenye 127.0.0.1, si kwenye 0.0.0.0. ComfyUI haina skrini ya kuingia wala akaunti za watumiaji. Kitu chochote kinachofikia port hiyo kinaweza kupanga kazi, kusoma kila picha uliyotengeneza, na kusakinisha custom nodes, jambo ambalo ni utekelezaji wa msimbo holela (arbitrary code execution) kwenye seva yako. Ifikie kupitia SSH tunnel kutoka kwenye kompyuta yako ndogo badala yake.
ssh -N -L 8188:127.0.0.1:8188 you@your-serverKisha fungua http://127.0.0.1:8188 kwenye kompyuta yako. Ikiwa unahitaji ufikiaji wa watumiaji wengi, weka reverse proxy yenye uthibitishaji (authentication) mbele yake na uiache programu hiyo ikiwa imeunganishwa kwenye localhost. Hoja hiyo hiyo inatumika kwa huduma yoyote ya kujihostia (self-hosted) isiyo na uthibitishaji, na ndiyo muundo wa kawaida katika Docker Compose deployments on a VPS.
Iweke iendelee kufanya kazi chini ya systemd
Foleni ya render inayokufa wakati kikao chako cha SSH kinafungwa si huduma. Andika /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) na mstari wa logi unaosomeka To see the GUI go to: http://127.0.0.1:8188 inamaanisha kuwa huduma inafanya kazi. Kumbuka kuwa ExecStart inataja kiondoa tafsiri (interpreter) ndani ya virtual environment moja kwa moja, kwa sababu systemd haiendeshi shell profile yako na activate haitawahi kutokea.
Mapendekezo ya kiutendaji kulingana na bajeti
Ikiwa unataka kujaribu utengenezaji wa picha na gharama ni muhimu zaidi kuliko kasi, tumia CPU VPS yenye 16 GB ya RAM, endesha SD 1.5 kwa 512x512, na ukubali kusubiri dakika moja au mbili kwa kila picha. Hii ndiyo njia sahihi ya kuanzia, na inagharimu sehemu ndogo tu ya bei ya kifaa chochote chenye GPU. Pia, hapa ndipo mahali pazuri pa kuhifadhi maktaba ya modeli na workflows wakati unafanya maamuzi.
Ikiwa unafanya marekebisho ya prompts kila siku, kodi GPU yenye angalau 12 GB ya VRAM kwa saa kutoka kwa watoa huduma wa GPU cloud, na uizime unapomaliza. Utengenezaji wa picha ni kazi ya vipindi, na GPU inayokaa bila kufanya kazi huku ikitozwa ada ya kila mwezi ndiyo njia kuu inayowafanya watu kutumia pesa nyingi kupita kiasi. Hifadhi checkpoints kwenye block storage ya bei nafuu na uzi-mount.
Ikiwa unawahudumia watu wengine, au unafunza LoRA adapters, unahitaji 24 GB ya VRAM na mashine unayomiliki. Katika hatua hiyo, mashine hiyo hiyo kwa kawaida hujilipia gharama zake kwa kuendesha pia local language model, ambayo ndiyo usanidi ulioelezwa katika self-hosting an LLM with Ollama.
Hatua yoyote unayochagua, pima mashine yako mwenyewe kabla ya kuamini takwimu zozote zilizochapishwa. Weka prompt ile ile kwenye foleni mara tano na usome sekunde-kwa-iteration ambazo ComfyUI inachapisha kwenye console yake. Namba hiyo ndiyo nafasi yako halisi kwenye ngazi ya utendaji.
FAQ
Je, ninaweza kuendesha Stable Diffusion bila GPU?
Ndiyo. ComfyUI inaweza kuendeshwa kwa kutumia python main.py --cpu na inatengeneza picha halisi bila kadi ya michoro. Tarajia sekunde 60 hadi 150 kwa kila picha ya Stable Diffusion 1.5 katika ukubwa wa 512x512, na dakika kumi hadi ishirini kwa SDXL katika 1024x1024, kwenye vCPU 8 za kisasa. Hii inafaa kwa kazi za usiku kucha na huduma zenye mahitaji madogo. Haifai kwa majaribio ya haraka ya prompt, na mafunzo (training) hayawezekani kabisa.
Ninahitaji VRAM kiasi gani kwa ajili ya SDXL?
8 GB inaendesha SDXL vizuri katika 1024x1024. Chini ya hapo, ComfyUI huhamishia tabaka kwenye RAM ya mfumo kiotomatiki na bado inafanya kazi, hadi kufikia 1 GB ya VRAM, lakini kila hatua inayohamishwa huchukua muda mrefu. 12 GB inakuwezesha kutumia ControlNet pamoja na checkpoint, na 24 GB inatosha kwa base, refiner, na upscaling katika workflow moja, na ndiyo kiwango cha chini kinachopendekezwa kwa ajili ya mafunzo ya LoRA adapters.
Mifano (models) inahitaji nafasi kiasi gani kwenye diski?
Checkpoint ya msingi ya SDXL pekee ni 6.94 GB, na refiner huongeza takriban 6 GB zaidi. Mifano ya ControlNet ni 1.4 hadi 2.5 GB kila moja, LoRA adapters ni 20 hadi 400 MB, na upscalers ni hadi 350 MB. Tenga 100 GB kwa ajili ya usakinishaji wa kawaida wenye mifano michache ya msingi, na ufuatilie saraka ya matokeo (output directory) tofauti, kwa sababu faili za PNG za 1024x1024 huchukua 1 hadi 2 MB kila moja.
Je, ni salama kuweka ComfyUI kwenye mtandao wa umma?
Hapana. ComfyUI haina mfumo wowote wa uthibitishaji (authentication), na mfumo wake wa custom-node husakinisha na kuendesha msimbo wa Python kutoka kwenye kiolesura, kwa hivyo port iliyo wazi ni mwanya wa kuendesha msimbo wa mbali (remote code execution) kwenye seva yako. Ifunge kwenye 127.0.0.1, ifikie kupitia SSH tunnel kwa kutumia ssh -N -L 8188:127.0.0.1:8188 you@your-server, na uweke reverse proxy yenye uthibitishaji mbele yake ikiwa zaidi ya mtu mmoja anahitaji kuifikia.
Kwa nini render yangu ilisitishwa bila ujumbe wa hitilafu?
Mchakato kutoweka na Killed katika dmesg bila traceback ya Python ni kitendo cha Linux out-of-memory killer, si hitilafu ya ComfyUI. Kwenye seva inayotumia CPU pekee, uzito wa mifano hukaa kwenye RAM ya mfumo, kwa hivyo SDXL inahitaji takriban 16 GB na SD 1.5 inahitaji takriban 8 GB, pamoja na nafasi ya ziada ya kufanyia kazi. Ongeza RAM, ongeza swap, au tumia mfano mdogo zaidi na resolution ya chini.