خود میزبان AI امیج جنریٹر کے لیے حقیقی ہارڈویئر
CPU VPS پر Stable Diffusion 1.5 اور SDXL کی رفتار، 6.94 GB checkpoint، 24 GB VRAM، ComfyUI install commands اور درکار disk کا درست حساب جانیں۔
خود میزبان AI امیج جنریٹر کو حقیقتاً کیا درکار ہے
خود میزبان AI امیج جنریٹر ایک ویب ایپ اور ایک ماڈل فائل پر مشتمل ہوتا ہے۔ ایپ ComfyUI ہے، اور یہ کسی بھی Linux سرور پر چل سکتی ہے۔ آپ کے ہارڈویئر کا تعین ماڈل کرتا ہے۔ SDXL-class checkpoint ایک واحد 6.94 GB فائل ہے، اور اسے GPU میموری میں موجود رہنا ہوتا ہے۔ یہی ایک حقیقت پورے بجٹ کا تعین کرتی ہے، اس لیے کچھ بھی کرائے پر لینے سے پہلے ذیل میں دیا گیا ہارڈویئر جائزہ پڑھیں۔
خلاصہ یہ ہے: صرف CPU والا VPS سافٹ ویئر انسٹال اور فراہم کر سکتا ہے، اور پرانے Stable Diffusion 1.5 ماڈل کے ساتھ 512x512 تصاویر ایک یا دو منٹ فی تصویر میں بنا سکتا ہے۔ یہی سرور SDXL کو 1024x1024 پر چلاتے ہوئے ایک تصویر بنانے میں دس سے بیس منٹ لیتا ہے۔ یہ خراب سیٹ اپ نہیں ہے۔ یہ حساب کا نتیجہ ہے، اور یہ گائیڈ اس کی وضاحت کرتی ہے۔
ماڈل کا حجم مشین کا انتخاب کیوں طے کرتا ہے
تصویر تیار کرنے کا عمل شور کم کرنے کے ایک چکر میں چلتا ہے۔ 30 مراحل پر مشتمل رینڈرنگ میں مکمل ماڈل کو تصویر پر 30 بار چلایا جاتا ہے، اور ہر مرحلے میں تمام weights پڑھے جاتے ہیں۔ نصف precision پر SDXL کے weights تقریباً 6.9 GB ہوتے ہیں، اس لیے تصویر نظر آنے سے پہلے 30 مراحل کی رینڈرنگ میموری میں تقریباً 200 GB ڈیٹا منتقل کرتی ہے۔
24 GB ویڈیو میموری (VRAM، یعنی graphics chip کے ساتھ نصب میموری) والا GPU فی سیکنڈ سیکڑوں گیگا بائٹس کی رفتار سے ڈیٹا پڑھتا ہے اور تمام 6.9 GB ایک ساتھ رکھ سکتا ہے۔ CPU VPS سسٹم RAM کو فی سیکنڈ دسیوں گیگا بائٹس کی رفتار سے پڑھتا ہے، اور اس میں convolutions کے لیے matrix hardware نہیں ہوتا۔ اسی لیے یہی چکر ایک سے دو orders of magnitude زیادہ سست چلتا ہے۔ یہی memory-bandwidth کا اصول text models پر بھی لاگو ہوتا ہے۔ اس کے ساتھ یہ بھی پڑھیں کہ GPU والا VPS کب واقعی لاگت کے لحاظ سے موزوں ہوتا ہے۔
تصویر تیار کرنے کا عمل text generation سے ایک اہم لحاظ سے مختلف ہے۔ chat model tokens کو مسلسل stream کرتا ہے، اس لیے سست مشین بھی قابلِ استعمال محسوس ہوتی ہے، کیونکہ پڑھتے وقت الفاظ ظاہر ہوتے رہتے ہیں۔ تصویر صرف آخری مرحلہ مکمل ہونے پر ظاہر ہوتی ہے۔ سست رفتار کا مطلب progress bar کو دیکھتے رہنا ہے۔
حقیقی اعداد کے ساتھ ہارڈویئر کی درجہ بندی
ذیل کا بلاک جولائی 2026 تک 1024x1024، 30 steps اور Euler sampler کے ساتھ ایک SDXL تصویر کے عمومی اعداد دکھاتا ہے۔ انہیں صرف تقریباً ایک ہی درجے کے اعداد سمجھیں۔ آپ کا sampler، steps کی تعداد اور resolution ان اعداد کو تبدیل کر سکتے ہیں۔
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 کی قطار 780 سیکنڈ کی ہے، یعنی تقریباً تیرہ منٹ۔ 24 GB card کے لیے یہ 9 سیکنڈ ہیں۔ یہی وہ فرق ہے جس کے لیے آپ اضافی ہارڈویئر خرید رہے ہیں۔
اس درجہ بندی کو یوں سمجھیں۔ 8 GB VRAM سے کم ہونے کے باوجود SDXL چلتا ہے، کیونکہ ComfyUI layers کو خودکار طور پر system RAM میں منتقل کرتا ہے اور کم از کم 1 GB والے card کو بھی استعمال کر سکتا ہے۔ Offloading ہر step پر وقت بڑھاتی ہے، اس لیے 6 GB card پر ہر تصویر کا وقت 30 سیکنڈ کے بجائے ایک منٹ کے قریب ہوتا ہے۔ 8 GB پر base model پوری طرح fit ہو جاتا ہے اور rendering آسانی سے ہوتی ہے۔ 12 GB پر آپ checkpoint کے ساتھ ایک یا دو ControlNet بھی offloading کے بغیر memory میں رکھ سکتے ہیں۔ 24 GB پر آپ ایک ہی workflow میں SDXL، refiner اور upscaling چلا سکتے ہیں، اور LoRA adapters کی training شروع کر سکتے ہیں، جس کے لیے image generation کے مقابلے میں کہیں زیادہ memory درکار ہوتی ہے۔
CPU VPS کیا کر سکتا ہے اور کیا نہیں کر سکتا
یہ لوگوں کی توقع سے زیادہ کام کر سکتا ہے، لیکن مارکیٹنگ کے دعووں سے کم۔ اس حد کے بارے میں واضح رہیں۔
CPU VPS پر ComfyUI انسٹال کیا جا سکتا ہے، ویب انٹرفیس فراہم کیا جا سکتا ہے، ماڈل لائبریری محفوظ کی جا سکتی ہے، queue چلائی جا سکتی ہے، اور کسی بھی GPU کے بغیر تصاویر بنائی جا سکتی ہیں۔ Stable Diffusion 1.5 کو 512x512 اور 20 steps پر چلانے کے لیے 16 GB RAM والے 8 جدید vCPU پر فی تصویر تقریباً 60 سے 150 سیکنڈ درکار ہوں گے۔ رات بھر چلنے والے batch job یا queue کے پیچھے کم حجم والے image endpoint کے لیے یہ کارکردگی واقعی مناسب ہے۔
CPU VPS interactive کام فراہم نہیں کر سکتا۔ Prompt iteration کا مطلب ایک گھنٹے میں 20 renders ہے، لیکن ہر render میں 13 منٹ لگنے پر آپ صرف 4 renders حاصل کر سکیں گے۔ یہ training بھی نہیں کر سکتا۔ CPU پر LoRA fine-tuning میں گھنٹے نہیں بلکہ دن لگتے ہیں، اس لیے اسے دستیاب نہ سمجھیں۔
صرف CPU استعمال کرنے کی صورت میں memory کا اصول GPU والے اصول سے مختلف ہے۔ Weights system RAM میں load ہوتے ہیں، اس لیے model size کے ساتھ working space بھی درکار ہوتی ہے: SDXL کے لیے تقریباً 16 GB RAM، اور SD 1.5 کے لیے تقریباً 8 GB RAM۔ 4 GB کا server ComfyUI شروع کر دے گا، لیکن پہلے render کے دوران out-of-memory killer اسے ختم کر دے گا۔ اس صورت میں process Killed کے ساتھ dmesg میں غائب ہو جائے گا اور Python traceback موجود نہیں ہوگا۔
GPU مشین پر ComfyUI انسٹال کریں
یہ upstream کمانڈز ہیں۔ NVIDIA ڈرائیور پہلے سے موجود Ubuntu 24.04 کی صاف انسٹالیشن سے آغاز کریں۔ پہلے ڈرائیور کی تصدیق کریں، کیونکہ اس جانچ کے بغیر بعد کی ہر خرابی ایک جیسی دکھائی دیتی ہے۔
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 لوڈ نہیں ہوا۔ آگے بڑھنے سے پہلے اسے درست کریں، کیونکہ 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.txtvirtual environment اختیاری مشورہ نہیں ہے۔ PyTorch بڑی dependency tree انسٹال کرتا ہے، اور کسی ایسی مشین پر اسے system-wide انسٹال کرنا جو دوسری چیزیں بھی چلا رہی ہو، دوسرے software کو خراب کرنے کا طریقہ ہے۔ آگے بڑھنے سے پہلے تصدیق کریں کہ 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 استعمال کرتے ہوئے دوبارہ انسٹال کریں۔
ماڈل حاصل کریں اور ڈسک کے لیے منصوبہ بنائیں
ComfyUI میں کوئی weights شامل نہیں ہوتیں۔ Checkpoints کو models/checkpoints میں، VAE فائلوں کو 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ہمیشہ .ckpt کے مقابلے میں .safetensors کو ترجیح دیں۔ .ckpt فائل ایک pickled Python object ہوتی ہے، اور اسے لوڈ کرنے سے اسے بنانے والے کے فراہم کردہ code پر عمل درآمد ہوتا ہے۔ safetensors format میں صرف tensors ہوتے ہیں، اس لیے کوئی نقصان دہ فائل کچھ چلا نہیں سکتی۔
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 ڈاؤن لوڈ کر لیتے ہیں۔ کام کرنے والی installation کے لیے 100 GB disk مختص کریں، اور outputs directory کی بھی نگرانی کریں: 1024x1024 PNG فائلوں کا حجم 1 سے 2 MB فی فائل ہوتا ہے، اور نگرانی کے بغیر چلنے والا batch خاموشی سے چھوٹی disk بھر دیتا ہے۔ models/ اور output/ کو ایسے volume پر رکھیں جس کا حجم بڑھایا جا سکے، اور اپنی workflow JSON فائلوں کا object storage میں encrypted incremental backups جیسی کسی سروس سے backup لیں۔ weights دوبارہ ڈاؤن لوڈ کی جا سکتی ہیں۔ جن workflows کو آپ نے tune کیا ہے، وہ دوبارہ تیار نہیں کی جا سکتیں۔
اسے چلائیں اور محفوظ طریقے سے اس تک رسائی حاصل کریں
cd ~/ComfyUI
. venv/bin/activate
python main.py --listen 127.0.0.1 --port 8188ComfyUI پورٹ 8188 پر سروس فراہم کرتا ہے۔ صرف CPU والے سسٹم پر --cpu شامل کریں۔ یہ CUDA ڈیوائس نہ ملنے کی صورت میں ناکام ہونے کے بجائے CPU path استعمال کرنے پر مجبور کرتا ہے۔
0.0.0.0 کے بجائے 127.0.0.1 سے bind کریں۔ ComfyUI میں login screen اور user accounts موجود نہیں ہیں۔ جو بھی پورٹ تک پہنچ سکتا ہے، وہ jobs کو queue میں شامل کر سکتا ہے، آپ کی تیار کردہ تمام images پڑھ سکتا ہے، اور custom nodes انسٹال کر سکتا ہے۔ اس کے نتیجے میں آپ کے 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 پر لاگو ہوتا ہے، اور VPS پر Docker Compose deployments میں یہی معیاری طریقہ ہے۔
اسے 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.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 پر مشتمل 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 میں تکراری تبدیلیاں کرتے ہیں، تو GPU cloud سے کم از کم 12 GB VRAM والا GPU فی گھنٹہ کرائے پر لیں، اور کام روکنے پر اسے بند کر دیں۔ image generation عموماً وقفے وقفے سے ہونے والا کام ہے، اور ماہانہ بل والے idle GPU پر خرچ کرنا یہاں ضرورت سے زیادہ رقم خرچ کرنے کی سب سے عام وجہ ہے۔ checkpoints کو سستے block storage پر رکھیں اور انہیں mount کریں۔
اگر آپ دوسرے لوگوں کو سروس فراہم کرتے ہیں یا LoRA adapters train کرتے ہیں، تو آپ کو 24 GB VRAM اور مستقل طور پر چلنے والی machine درکار ہے۔ اس مرحلے پر عموماً یہی box ایک مقامی language model چلا کر بھی اپنی لاگت پوری کر دیتا ہے۔ یہی setup Ollama کے ساتھ LLM کی self-hosting میں بیان کیا گیا ہے۔
آپ کوئی بھی سطح منتخب کریں، شائع شدہ اعداد و شمار پر یقین کرنے سے پہلے اپنی machine کی پیمائش کریں۔ ایک ہی prompt کو پانچ بار queue کریں اور ComfyUI کے console میں دکھائے گئے seconds-per-iteration کو پڑھیں۔ یہی عدد آپ کی حقیقی پوزیشن متعین کرتا ہے۔
FAQ
کیا میں GPU کے بغیر Stable Diffusion چلا سکتا ہوں؟
جی ہاں۔ ComfyUI، python main.py --cpu کے ساتھ چلتا ہے اور گرافکس کارڈ کے بغیر بھی حقیقی تصاویر تیار کرتا ہے۔ 8 جدید vCPUs پر Stable Diffusion 1.5 کے لیے 512x512 کی ہر تصویر میں تقریباً 60 سے 150 سیکنڈ، جبکہ 1024x1024 پر SDXL کے لیے 10 سے 20 منٹ درکار ہوتے ہیں۔ یہ رات بھر چلنے والے بیچ کاموں اور کم حجم والے endpoints کے لیے موزوں ہے۔ prompt کی بار بار آزمائش کے لیے یہ موزوں نہیں، اور training مکمل طور پر ناقابلِ عمل ہے۔
SDXL کے لیے مجھے کتنی VRAM درکار ہے؟
8 GB پر SDXL، 1024x1024 پر آرام سے چلتا ہے۔ اس سے کم VRAM ہونے پر ComfyUI خودکار طور پر layers کو system RAM میں منتقل کرتا ہے اور تقریباً 1 GB VRAM تک بھی کام کرتا رہتا ہے، لیکن ہر منتقل کیے گئے step میں اضافی وقت لگتا ہے۔ 12 GB میں checkpoint کے ساتھ ControlNet بھی رکھا جا سکتا ہے، جبکہ 24 GB میں ایک ہی workflow کے اندر base، refiner اور upscaling شامل ہو جاتے ہیں۔ LoRA adapters کی training کے لیے 24 GB عملی کم از کم مقدار ہے۔
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 کی نگرانی الگ سے کریں، کیونکہ 1024x1024 PNG فائل کا حجم عموماً 1 سے 2 MB ہوتا ہے۔
کیا ComfyUI کو public internet پر ظاہر کرنا محفوظ ہے؟
نہیں۔ 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 پر رسائی حاصل کریں، اور اگر ایک سے زیادہ افراد کو رسائی درکار ہو تو اس کے سامنے authentication والا reverse proxy رکھیں۔
میری render بغیر کسی error message کے کیوں ختم ہو گئی؟
dmesg میں Killed کے ساتھ process کا غائب ہو جانا، اور Python traceback کا موجود نہ ہونا، ComfyUI کا bug نہیں بلکہ Linux کا out-of-memory killer ہے۔ CPU-only server پر weights system RAM میں رہتے ہیں، اس لیے SDXL کو تقریباً 16 GB اور SD 1.5 کو تقریباً 8 GB RAM درکار ہوتی ہے، اس کے علاوہ working space بھی چاہیے۔ RAM یا swap بڑھائیں، یا چھوٹا model اور کم resolution استعمال کریں۔