SSD Nodes Learn Hosting plans →
تعلیمی Matt Connorتحریر: Matt Connor · اپ ڈیٹ شدہ 2026-08-07

Self-hosted AI image generator کے حقیقی hardware specs

Stable Diffusion خود چلانے کے لیے درست hardware جانیں: CPU VPS پر SD 1.5 کی رفتار، SDXL کی 6.94 GB file، ComfyUI commands اور مطلوبہ disk space۔

ایک self-hosted AI image generator کو حقیقت میں کیا درکار ہے

ایک self-hosted AI image generator میں ایک web app اور ایک model file شامل ہوتی ہے۔ یہ app ComfyUI ہے، اور کسی بھی Linux box پر چل سکتی ہے۔ آپ کے hardware کا تعین model کرتا ہے۔ SDXL-class checkpoint ایک واحد 6.94 GB file ہوتی ہے، اور اسے GPU memory میں موجود رہنا چاہیے۔ یہی ایک حقیقت پورے budget کا تعین کرتی ہے، اس لیے کوئی بھی چیز rent کرنے سے پہلے نیچے دی گئی hardware ladder پڑھیں۔

خلاصہ یہ ہے: صرف CPU والا VPS software install اور serve کر سکتا ہے، اور پرانے Stable Diffusion 1.5 model کے ساتھ 512x512 کی images فی image ایک یا دو منٹ میں generate کر سکتا ہے۔ اسی box پر 1024x1024 کے لیے SDXL چلانے میں فی image دس سے بیس منٹ لگتے ہیں۔ اس کا مطلب setup خراب نہیں ہے۔ یہ حساب کا نتیجہ ہے، اور یہ guide اس کی وضاحت کرتی ہے۔

ماڈل کا حجم مشین کا انتخاب کیوں طے کرتا ہے

Image generation ایک denoising loop چلاتی ہے۔ 30-step render میں مکمل model کو image پر 30 مرتبہ چلایا جاتا ہے، اور ہر pass میں ہر weight پڑھا جاتا ہے۔ half precision میں SDXL کے weights تقریباً 6.9 GB ہوتے ہیں، اس لیے تصویر دکھائی دینے سے پہلے ہی 30-step render memory میں تقریباً 200 GB data منتقل کرتا ہے۔

24 GB video memory (VRAM، یعنی graphics chip کے ساتھ نصب memory) والا GPU سیکڑوں gigabytes فی second کی رفتار سے data پڑھتا ہے، اور تمام 6.9 GB weights کو بیک وقت رکھ لیتا ہے۔ CPU VPS system RAM کو دسیوں gigabytes فی second کی رفتار سے پڑھتا ہے، اور اس میں convolutions کے لیے matrix hardware موجود نہیں ہوتا۔ اس لیے یہی loop ایک سے دو orders of magnitude زیادہ سست چلتا ہے۔ یہی memory-bandwidth کا اصول text models پر بھی لاگو ہوتا ہے۔ اس موضوع کو جب GPU والا VPS واقعی لاگت کے قابل ہو کے ساتھ پڑھنا مفید ہے۔

Image generation، text generation سے ایک اہم طریقے سے مختلف ہے۔ chat model tokens کو stream کرتا ہے، اس لیے سست machine پھر بھی قابل استعمال محسوس ہوتی ہے کیونکہ پڑھتے ہوئے الفاظ ظاہر ہوتے رہتے ہیں۔ Image صرف آخری step مکمل ہونے کے بعد ظاہر ہوتی ہے۔ سست رفتار کا مطلب progress bar کو دیکھتے رہنا ہے۔

حقیقی اعداد کے ساتھ hardware ladder

ذیل کا block جولائی 2026 تک 1024x1024، 30 steps اور Euler sampler کے ساتھ ایک SDXL image کے لیے عام اعداد پیش کرتا ہے۔ انہیں order of magnitude سمجھیں۔ آپ کا sampler، steps کی تعداد اور resolution ان اعداد کو بدل سکتے ہیں۔

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
  }
]

CPU row 780 seconds ہے، یعنی تقریباً تیرہ منٹ۔ 24 GB card 9 seconds لیتا ہے۔ یہی وہ فرق ہے جس کے لیے آپ اضافی hardware خرید رہے ہیں۔

اس ladder کو یوں سمجھیں۔ 8 GB VRAM سے کم پر بھی SDXL چلتا ہے، کیونکہ ComfyUI layers کو خودکار طور پر system RAM میں offload کرتا ہے اور صرف 1 GB والی card کو بھی استعمال کر سکتا ہے۔ Offloading ہر step پر وقت بڑھاتی ہے، اس لیے 6 GB card پر ایک image کو تیس seconds کے بجائے تقریباً ایک minute لگتا ہے۔ 8 GB پر base model سما جاتا ہے اور rendering آسانی سے ہوتی ہے۔ 12 GB پر آپ checkpoint کے ساتھ ایک ControlNet یا دو ControlNet کو offloading کے بغیر memory میں رکھ سکتے ہیں۔ 24 GB پر آپ ایک ہی workflow میں SDXL، refiner اور upscaling چلا سکتے ہیں، اور LoRA adapters کی training شروع کر سکتے ہیں، جس کے لیے image generate کرنے کے مقابلے میں کہیں زیادہ memory درکار ہوتی ہے۔

CPU VPS کیا کر سکتا ہے اور کیا نہیں کر سکتا

یہ لوگوں کی توقع سے زیادہ کام کر سکتا ہے، لیکن marketing کے دعووں سے کم۔ اس حد کو واضح طور پر سمجھیں۔

CPU VPS پر آپ ComfyUI انسٹال کر سکتے ہیں، اس کا web interface فراہم کر سکتے ہیں، اپنی model library محفوظ رکھ سکتے ہیں، queue چلا سکتے ہیں، اور کسی بھی GPU کے بغیر تصاویر generate کر سکتے ہیں۔ Stable Diffusion 1.5 کے ساتھ 512x512 resolution اور 20 steps پر، 16 GB RAM والے 8 جدید vCPUs پر ہر تصویر کے لیے تقریباً 60 سے 150 seconds درکار ہوں گے۔ رات بھر چلنے والے batch job یا queue کے پیچھے کم volume والے image endpoint کے لیے یہ کارکردگی واقعی کافی ہے۔

CPU VPS interactive کام فراہم نہیں کر سکتا۔ Prompt iteration کا مطلب ایک گھنٹے میں 20 renders ہے، لیکن ہر render میں 13 minutes لگنے پر آپ صرف 4 renders حاصل کریں گے۔ یہ training بھی نہیں کر سکتا۔ CPU پر LoRA fine-tuning میں hours نہیں بلکہ days لگتے ہیں، اس لیے اسے دستیاب نہ سمجھیں۔

CPU-only کے لیے memory rule، GPU rule سے مختلف ہے۔ Weights system RAM میں load ہوتے ہیں، اس لیے model size کے ساتھ working space بھی درکار ہوتی ہے: SDXL کے لیے تقریباً 16 GB RAM، اور SD 1.5 کے لیے تقریباً 8 GB RAM۔ 4 GB والا system ComfyUI شروع تو کر دے گا، لیکن پہلے render کے دوران out-of-memory killer اسے ختم کر دے گا۔ اس صورت میں process Killed کے ساتھ dmesg میں غائب ہو جائے گا اور Python traceback موجود نہیں ہوگا۔

GPU مشین پر ComfyUI انسٹال کریں

یہ upstream کمانڈز ہیں۔ NVIDIA driver پہلے سے موجود Ubuntu 24.04 کی صاف انسٹالیشن سے شروع کریں۔ پہلے driver کی تصدیق کریں، کیونکہ اس جانچ کے بغیر بعد کی ہر خرابی ایک جیسی دکھائی دیتی ہے۔

nvidia-smi

اس سے آپ کے card اور CUDA version والی table ظاہر ہونی چاہیے۔ command not found یا NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver کا مطلب ہے کہ driver موجود نہیں، یا upgrade کے بعد kernel module load نہیں ہوا۔ آگے بڑھنے سے پہلے اسے درست کریں، کیونکہ ComfyUI خاموشی سے CPU پر منتقل ہو جائے گا اور آپ software کو قصوروار سمجھیں گے۔

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

virtual environment اختیاری مشورہ نہیں ہے۔ PyTorch بڑی dependency tree انسٹال کرتا ہے، اور کسی ایسی مشین پر اسے system-wide انسٹال کرنا جو دوسری چیزیں بھی چلا رہی ہو، دوسری چیز کو خراب کرنے کا طریقہ ہے۔ آگے بڑھنے سے پہلے تصدیق کریں کہ PyTorch card کو دیکھ سکتا ہے۔

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

True اور آپ کے card کا نام ظاہر ہونے کا مطلب ہے کہ stack درست کام کر رہا ہے۔ False کا مطلب ہے کہ آپ نے جو wheel انسٹال کیا ہے وہ driver سے مطابقت نہیں رکھتا۔ عموماً اس کی وجہ یہ ہوتی ہے کہ CPU-only torch wheel پہلے ہی cache ہو چکا تھا۔ اوپر دیا گیا index URL استعمال کرتے ہوئے دوبارہ انسٹال کریں۔

ماڈل حاصل کریں اور disk کے لیے منصوبہ بنائیں

ComfyUI میں کوئی weights شامل نہیں ہوتیں۔ Checkpoints models/checkpoints میں، VAE files models/vae میں، اور LoRA adapters 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 file ایک pickled Python object ہوتی ہے، اور اسے load کرنے سے اسے تیار کرنے والے کے code پر عمل ہوتا ہے۔ safetensors format میں صرف tensors ہوتے ہیں، اس لیے کوئی بدنیتی پر مبنی file کچھ execute نہیں کر سکتی۔

Storage وہ لاگت ہے جسے لوگ بھول جاتے ہیں۔ ایک SDXL base checkpoint 6.94 GB ہوتا ہے۔ refiner مزید 6 GB لیتا ہے۔ ایک ControlNet model 1.4 سے 2.5 GB، ایک upscaler 60 سے 350 MB، اور ایک LoRA 20 سے 400 MB لیتا ہے۔ جو لوگ اس کام میں دلچسپی لیتے ہیں، وہ ایک ہفتے کے اندر دوسرا اور تیسرا base model بھی download کر لیتے ہیں۔ فعال installation کے لیے 100 GB disk مختص کریں، اور outputs directory کی بھی نگرانی کریں: 1024x1024 PNG files ہر ایک 1 سے 2 MB کی ہوتی ہیں، اور unattended batch خاموشی سے چھوٹی disk بھر دیتی ہے۔ models/ اور output/ کو ایسی volume پر رکھیں جسے آپ بڑھا سکیں، اور اپنے workflow JSON files کا object storage میں encrypted incremental backups جیسی کسی سہولت سے backup لیں۔ weights دوبارہ download کی جا سکتی ہیں۔ آپ کے tuned workflows دوبارہ حاصل نہیں کیے جا سکتے۔

اسے چلائیں اور محفوظ طریقے سے اس تک رسائی حاصل کریں

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

ComfyUI، port 8188 پر سروس فراہم کرتا ہے۔ صرف CPU والے سسٹم پر --cpu شامل کریں۔ یہ missing CUDA device کی وجہ سے ناکام ہونے کے بجائے CPU path استعمال کرنے پر مجبور کرتا ہے۔

0.0.0.0 کے بجائے 127.0.0.1 پر bind کریں۔ ComfyUI میں login screen اور user accounts موجود نہیں ہیں۔ جو بھی port تک پہنچ سکتا ہے، وہ jobs queue کر سکتا ہے، آپ کی بنائی ہوئی ہر image پڑھ سکتا ہے، اور custom nodes install کر سکتا ہے۔ اس کا مطلب ہے کہ آپ کے server پر arbitrary code execution ممکن ہے۔ اس کے بجائے اپنے laptop سے SSH tunnel کے ذریعے اس تک رسائی حاصل کریں۔

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

پھر مقامی طور پر http://127.0.0.1:8188 کھولیں۔ اگر آپ کو حقیقی multi-user access درکار ہو تو اس کے سامنے authentication کے ساتھ reverse proxy رکھیں اور app کو localhost پر bind رکھیں۔ یہی اصول ہر ایسی self-hosted service پر لاگو ہوتا ہے جس میں authentication موجود نہ ہو۔ یہ VPS پر Docker Compose deployments میں standard pattern ہے۔

اسے systemd کے تحت چلتا رکھیں

ایسی render queue جو آپ کا SSH session بند ہوتے ہی ختم ہو جائے، service نہیں ہے۔ /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) اور To see the GUI go to: http://127.0.0.1:8188 دکھانے والی log line کا مطلب ہے کہ یہ چل رہی ہے۔ یاد رکھیں کہ ExecStart virtual environment کے اندر interpreter کو براہِ راست نامزد کرتا ہے، کیونکہ systemd آپ کا shell profile نہیں چلاتا اور activate کبھی نہیں ہوتا۔

بجٹ کے لحاظ سے عملی سفارش

اگر آپ image generation آزمانا چاہتے ہیں اور رفتار سے زیادہ لاگت اہم ہے تو 16 GB RAM والا CPU VPS لیں، SD 1.5 کو 512x512 پر چلائیں، اور ہر image کے لیے ایک یا دو منٹ انتظار قبول کریں۔ یہ ایک حقیقت پسندانہ نقطۂ آغاز ہے، اور GPU والے کسی بھی انتظام کے مقابلے میں اس کی لاگت بہت کم ہے۔ جب تک آپ فیصلہ کرتے ہیں، model library اور workflows کی میزبانی کے لیے بھی یہی مناسب جگہ ہے۔

اگر آپ روزانہ prompts پر iteration کرتے ہیں تو GPU cloud سے کم از کم 12 GB VRAM والا GPU فی گھنٹہ کرائے پر لیں، اور کام ختم کرتے ہی اسے بند کر دیں۔ Image generation وقفے وقفے سے ہونے والا کام ہے، اور استعمال نہ ہونے والے GPU کی ماہانہ billing یہاں ضرورت سے زیادہ خرچ کرنے کی سب سے عام وجہ ہے۔ Checkpoints کو کم لاگت والی block storage پر رکھیں اور انہیں mount کریں۔

اگر آپ دوسرے لوگوں کو service فراہم کرتے ہیں یا LoRA adapters train کرتے ہیں تو آپ کو 24 GB VRAM اور ایسی machine درکار ہے جسے مستقل چلایا جائے۔ اس مرحلے پر عموماً یہی box ایک local language model چلانے سے بھی اپنی لاگت پوری کر دیتا ہے۔ یہی setup Ollama کے ساتھ LLM کی self-hosting میں بیان کیا گیا ہے۔

آپ کوئی بھی سطح منتخب کریں، شائع شدہ اعداد و شمار پر یقین کرنے سے پہلے اپنی machine کی کارکردگی خود ناپیں۔ ایک ہی prompt کو پانچ مرتبہ queue کریں اور ComfyUI کے console میں دکھائی جانے والی seconds-per-iteration قدر پڑھیں۔ یہی عدد آپ کی حقیقی پوزیشن بتاتا ہے۔

FAQ

کیا میں Stable Diffusion کو GPU کے بغیر چلا سکتا ہوں؟

ہاں۔ ComfyUI python main.py --cpu کے ساتھ چلتا ہے اور graphics card موجود نہ ہونے پر بھی حقیقی تصاویر بناتا ہے۔ 8 جدید vCPUs پر Stable Diffusion 1.5 کے لیے 512x512 کی ہر تصویر میں تقریباً 60 سے 150 seconds، جبکہ 1024x1024 پر SDXL کے لیے 10 سے 20 minutes درکار ہوتے ہیں۔ یہ رات بھر چلنے والے batches اور کم volume والے endpoints کے لیے کافی ہے۔ لیکن prompt کی مسلسل iteration کے لیے یہ موزوں نہیں، اور training عملاً ممکن نہیں۔

SDXL کے لیے مجھے کتنی VRAM درکار ہے؟

8 GB VRAM پر SDXL، 1024x1024 resolution پر آرام سے چلتا ہے۔ اس سے کم VRAM ہونے پر ComfyUI layers کو خودکار طور پر system RAM میں منتقل کرتا ہے اور تقریباً 1 GB VRAM تک بھی کام کرتا ہے، لیکن منتقل کیے گئے ہر step سے وقت بڑھتا ہے۔ 12 GB VRAM سے checkpoint کے ساتھ ControlNet بھی memory میں رکھا جا سکتا ہے، جبکہ 24 GB VRAM ایک ہی workflow میں base، refiner اور upscaling کے لیے کافی ہے، اور LoRA adapters کی training کے لیے عملی کم از کم مقدار ہے۔

Models کے لیے کتنی disk space درکار ہوتی ہے؟

صرف SDXL base checkpoint کا حجم 6.94 GB ہے، اور refiner تقریباً 6 GB مزید شامل کرتا ہے۔ ہر ControlNet model کا حجم 1.4 سے 2.5 GB، LoRA adapters کا 20 سے 400 MB، اور upscalers کا حجم 350 MB تک ہوتا ہے۔ چند base models والی فعال installation کے لیے 100 GB مختص کریں۔ Output directory کو الگ سے monitor کریں، کیونکہ 1024x1024 PNG files کا حجم فی file 1 سے 2 MB ہوتا ہے۔

کیا ComfyUI کو public internet پر expose کرنا محفوظ ہے؟

نہیں۔ ComfyUI میں کسی بھی قسم کی authentication موجود نہیں، اور اس کا custom-node system interface کے ذریعے Python code install اور run کرتا ہے۔ اس لیے کھلا port آپ کے server پر remote code execution کا خطرہ ہے۔ اسے 127.0.0.1 پر bind کریں، ssh -N -L 8188:127.0.0.1:8188 you@your-server کے ساتھ SSH tunnel کے ذریعے access کریں، اور اگر ایک سے زیادہ افراد کو access درکار ہو تو اس کے سامنے authentication والا reverse proxy رکھیں۔

میرا render بغیر کسی error message کے کیوں ختم ہو گیا؟

اگر process dmesg میں Killed کے ساتھ غائب ہو جائے اور Python traceback موجود نہ ہو، تو یہ Linux کا out-of-memory killer ہے، ComfyUI کا bug نہیں۔ CPU-only server پر weights system RAM میں رہتے ہیں، اس لیے SDXL کو تقریباً 16 GB اور SD 1.5 کو تقریباً 8 GB RAM درکار ہوتی ہے، اس کے علاوہ working space بھی چاہیے۔ RAM بڑھائیں، swap شامل کریں، یا چھوٹا model اور کم resolution استعمال کریں۔