דרישות חומרה להרצת Stable Diffusion ו-ComfyUI
מדריך מעשי להרצת מחולל תמונות AI בשרת עצמי. גלו מה ההבדל בביצועים בין CPU ל-GPU, כמה VRAM נדרש עבור SDXL, ואיך להתקין ComfyUI בצורה יעילה ללא בזבוז משאבי חומרה יקרים.
מה באמת נדרש עבור מחולל תמונות AI באירוח עצמי
מחולל תמונות AI באירוח עצמי מורכב מיישום אינטרנט אחד וקובץ מודל אחד. היישום הוא ComfyUI, והוא רץ על כל שרת Linux. המודל הוא הגורם הקובע את דרישות החומרה. Checkpoint מסוג SDXL הוא קובץ יחיד בגודל 6.94 GB, והוא נדרש להיטען לזיכרון ה-GPU. עובדה זו קובעת את כל התקציב, לכן יש לעיין בסולם החומרה להלן לפני השכרת משאבים כלשהם.
הסיכום הכנה: שרת VPS מבוסס CPU בלבד יכול להתקין ולהריץ את התוכנה, והוא מסוגל לייצר תמונות ברזולוציה של 512x512 עם מודל Stable Diffusion 1.5 ישן יותר בתוך דקה או שתיים לתמונה. אותה מכונה המריצה SDXL ברזולוציה של 1024x1024 תזדקק לעשר עד עשרים דקות לכל תמונה. אין מדובר בהגדרה תקולה. זוהי אריתמטיקה פשוטה, ומדריך זה מסביר אותה.
מדוע גודל המודל קובע את דרישות החומרה
יצירת תמונה מבוססת על לולאת ניקוי רעשים (denoising loop). רינדור של 30 צעדים מריץ את מנקה הרעשים, ה-UNet של SDXL, על התמונה 30 פעמים, וכל מעבר קורא את כל המשקולות של ה-UNet. שני מקודדי הטקסט פועלים פעם אחת לפני הלולאה, וה-VAE מבצע פענוח פעם אחת אחריה, לכן הם אינם חלק מהעלות לכל צעד. ה-UNet של SDXL בדיוק של חצי (half precision) תופס 5.14 GB של משקולות, כך שבתצוגה פשוטה זו, רינדור של 30 צעדים מעביר בערך 154 GB של משקולות דרך הזיכרון לפני שמתקבלת תמונה, והטנזורים המתווכים מוסיפים על כך עוד.
מעבד גרפי (GPU) עם 24 GB של זיכרון וידאו (VRAM, הזיכרון המולחם לצד השבב הגרפי) קורא במהירות של מאות גיגה-בייט לשנייה, והוא מחזיק את כל ה-6.9 GB בבת אחת. שרת VPS מבוסס מעבד (CPU) קורא את זיכרון המערכת (RAM) במהירות של עשרות גיגה-בייט לשנייה, ואין לו חומרה ייעודית למטריצות עבור הקונבולוציות, לכן אותה לולאה רצה לאט יותר בסדר גודל אחד עד שניים. זהו אותו טיעון של רוחב פס לזיכרון שמכתיב את הביצועים במודלי טקסט, וכדאי לקרוא אותו לצד מתי שרת VPS עם GPU באמת שווה את הכסף.
יצירת תמונה נבדלת מיצירת טקסט בדרך אחת משמעותית. מודל צ'אט מזרים אסימונים (tokens), לכן מכונה איטית עדיין מרגישה שמישה כי מילים מופיעות בזמן שאתם קוראים. תמונה מופיעה רק כאשר הצעד האחרון מסתיים. איטיות משמעותה בהייה בסרגל התקדמות.
סולם החומרה, עם מספרים אמיתיים
הבלוק להלן מכיל נתונים אופייניים עבור תמונה אחת מסוג 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 שניות. זהו הפער שאתם משלמים עליו.
קראו את הסולם כך: מתחת ל־8 GB של VRAM, SDXL עדיין רץ, מכיוון ש־ComfyUI מנהל את ה־VRAM וה־RAM של המערכת יחד ומבצע offload למשקלי המודל באופן אוטומטי. נכון לאוקטובר 2026, ה־README של הפרויקט מציב את הרף התחתון על 4 GB של VRAM בתוספת 8 GB של RAM מערכת, תוך שימוש בהזרמת משקלים אסינכרונית. ביצוע offload גוזל זמן בכל צעד, לכן כרטיס עם 6 GB יתקרב יותר לדקה לתמונה מאשר לשלושים שניות. ב־8 GB מודל הבסיס נכנס לזיכרון והרינדור נוח. ב־12 GB ניתן להחזיק ControlNet אחד או שניים לצד ה-checkpoint ללא צורך ב-offloading. ב־24 GB ניתן להריץ SDXL בתוספת ה-refiner וביצוע upscaling ב-workflow אחד, ולאמן מתאמי LoRA עם מקום פנוי. אימון דורש פחות מכך: מדריך האימון של SDXL עבור המאמן kohya-ss sd-scripts מציין שניתן לבצע אימון LoRA עם 8 GB של זיכרון GPU, כאשר 10 GB הם ההמלצה. כדי להגיע לכך, המדריך מנחה לאמן את ה-U-Net בלבד, להפעיל gradient checkpointing, לשמור במטמון את פלטי ה-text encoder וה-latents, להשתמש ב-optimizer של 8-bit או ב-Adafactor, ולהוריד את ה-LoRA dim ל-4 עד 8 בכרטיס של 8 GB. מדריך ה-LoRA עבור ה-GUI של kohya_ss, שעוטף את הסקריפטים הללו, זהיר יותר: הוא ממליץ להשתמש ב-GPU עם לפחות 12 GB של זיכרון עבור אימון LoRA.
מה שרת CPU VPS יכול ולא יכול לעשות
הוא מסוגל ליותר ממה שאנשים מצפים, ופחות ממה שחומרי השיווק רומזים. חשוב להגדיר את הגבולות בצורה מדויקת.
שרת CPU VPS יכול להתקין את ComfyUI, להגיש את ממשק האינטרנט, לאחסן את ספריית המודלים שלך, לנהל את התור ולהפיק תמונות ללא נוכחות של GPU כלל. עם Stable Diffusion 1.5 ברזולוציה של 512x512 ו-20 צעדים, צפה לזמן של כ-60 עד 150 שניות לתמונה על 8 ליבות vCPU מודרניות עם 16 GB של RAM. עבור משימות אצווה (batch) שרצות במהלך הלילה, או עבור נקודת קצה (endpoint) עם נפח נמוך שנמצאת מאחורי תור, זה בהחלט מספיק.
שרת CPU VPS אינו מתאים לעבודה אינטראקטיבית. איטרציות על פרומפטים דורשות עשרים רינדורים בשעה, ובקצב של שלוש עשרה דקות לכל אחד, תקבל רק ארבעה. הוא גם אינו מסוגל לבצע אימון. כוונון עדין (fine-tuning) של LoRA על גבי CPU נמדד בימים, לא בשעות, לכן יש להתייחס לכך כאל יכולת שאינה זמינה.
כלל הזיכרון עבור עבודה מבוססת CPU בלבד שונה מהכלל עבור GPU. המשקולות נטענות לתוך ה-RAM של המערכת, לכן נדרש נפח הזיכרון של המודל בתוספת מרחב עבודה: כ-16 GB של RAM עבור SDXL, וכ-8 GB עבור SD 1.5. שרת עם 4 GB יפעיל את ComfyUI, אך יופסק על ידי ה-out-of-memory killer במהלך הרינדור הראשון; הדבר יתבטא בהיעלמות התהליך עם Killed בתוך dmesg ללא כל traceback של 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 בצירוף שם הכרטיס שלכם מעיד על כך שהמחסנית (stack) עובדת. הפלט False מעיד על כך שה-wheel שהתקנתם אינו תואם לדרייבר, בדרך כלל בגלל שגרסת CPU-only של torch כבר הייתה שמורה ב-cache. התקינו מחדש באמצעות ה-index URL המצוין לעיל.
השגת מודל ותכנון נפח האחסון
ComfyUI מופץ ללא משקולות (weights). יש למקם קובצי Checkpoint ב-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 שעבר serialization (pickled), וטעינתו מריצה קוד שנכתב על ידי יוצר הקובץ. פורמט ה-safetensors מכיל טנזורים בלבד, ולכן קובץ זדוני אינו יכול להריץ דבר.
אחסון הוא העלות שמשתמשים נוטים לשכוח. קובץ Checkpoint בסיסי מסוג SDXL שוקל 6.94 GB. ה-refiner מוסיף עוד 6 GB. מודל SDXL ControlNet נע בין 320 MB עבור מודל Canny קטן ועד 2.5 GB עבור המודל המלא בחצי דיוק (half precision). מודל upscaler הוא קטן: המודל הסטנדרטי Real-ESRGAN x4plus שוקל 67 MB, מודל ה-anime שלו שוקל 17.9 MB, ומודל ה-anime video שוקל 2.5 MB. קובץ LoRA נע בין עשרות מגה-בייטים ל-787 MB עבור מתאמי ה-Hyper-SDXL של ByteDance. כל מי שנהנה מהתחום מוריד מודל בסיס שני ושלישי בתוך שבוע. הקצו 100 GB של שטח דיסק עבור התקנה פעילה, ועקבו גם אחר תיקיית הפלטים (outputs): קובצי PNG ברזולוציית 1024x1024 שוקלים 1 עד 2 MB כל אחד, וביצוע batch ללא השגחה ימלא דיסק קטן במהירות. מקמו את models/ ואת output/ על כרך (volume) שניתן להרחיב, ובצעו גיבוי לקובצי ה-JSON של תהליכי העבודה שלכם באמצעות כלי כגון גיבויים מצטברים מוצפנים לאחסון אובייקטים. את המשקולות ניתן להוריד מחדש. את תהליכי העבודה שכיולתם – לא.
הרצה וגישה מאובטחת
cd ~/ComfyUI
. venv/bin/activate
python main.py --listen 127.0.0.1 --port 8188השירות ComfyUI מאזין בפורט 8188. בשרת המבוסס על CPU בלבד, יש להוסיף את הדגל --cpu, אשר מאלץ שימוש בנתיב ה-CPU במקום להיכשל עקב חוסר בהתקן CUDA.
בצעו Bind לכתובת 127.0.0.1, ולא ל-0.0.0.0. ל-ComfyUI יש כיום מנגנון חשבונות, אך אף אחד מהם אינו נועל את השרת שלכם. ההתחברות תחת Settings, במקטע User, מחברת אתכם לחשבון Comfy, והיא עובדת גם בהתקנה מקומית: התיעוד של Comfy מפרט אפשרויות התחברות באמצעות דוא"ל, Google, GitHub ומפתח API. התיעוד מגדיר חשבון זה כגישה לצמתים (nodes) של שותפים ולמנויי 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 בלבד. אותו היגיון תקף לכל שירות בניהול עצמי ללא אימות, וזהו הדפוס המקובל ב-פריסות 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סביבת ה-virtual environment תמשיך לעבוד לאחר ההעברה, כיוון שה-unit קורא ל-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 מציין את ה-interpreter בתוך ה-virtual environment ישירות, כיוון ש-systemd לא מריץ את ה-shell profile שלכם ו-activate לעולם לא מתרחש.
ההמלצה הפרגמטית לפי תקציב
אם ברצונכם לנסות יצירת תמונות והעלות חשובה יותר ממהירות, קחו שרת VPS מבוסס CPU עם 16 GB של RAM, הריצו SD 1.5 ברזולוציה של 512x512, והשלימו עם זמן המתנה של דקה או שתיים לכל תמונה. זוהי נקודת הכניסה הכנה, והיא עולה שבריר מהמחיר של כל פתרון הכולל GPU. זהו גם המקום הנכון לאחסן בו את ספריית המודלים ואת תהליכי העבודה בזמן שאתם מקבלים החלטות.
אם אתם מבצעים איטרציות על הנחיות (prompts) מדי יום, שכרו GPU עם לפחות 12 GB של VRAM לפי שעה מענן GPU, וכבו אותו כשאתם מסיימים. יצירת תמונות היא עבודה מתפרצת, ו־GPU במצב המתנה שמחויב בתשלום חודשי הוא הדרך הנפוצה ביותר להוצאות יתר בתחום זה. שמרו את ה-checkpoints על אחסון בלוקים זול וחברו אותם (mount) בעת הצורך.
אם אתם משרתים אנשים אחרים, או מאמנים מתאמי LoRA באופן קבוע, תכננו על 24 GB של VRAM ומכונה שתחזיקו בבעלותכם. מדריך ה-SDXL של sd-scripts מציין שניתן לבצע אימון LoRA עם 8 GB, כאשר 10 GB הם ההמלצה, תוך שימוש בהגדרות חיסכון בזיכרון, ומדריך ה-LoRA של ממשק ה-GUI kohya_ss דורש לפחות 12 GB. נתון ה-24 GB במדריך של sd-scripts מתייחס ל-fine-tuning מלא של SDXL עם גודל batch של 1, כך שכרטיס של 24 GB מכסה עבודת LoRA ועדיין משאיר את ה-fine-tuning בהישג יד. בנקודה זו, אותה מכונה בדרך כלל מצדיקה את קיומה גם בהרצת מודל שפה מקומי, שזהו המערך המתואר ב-אירוח עצמי של LLM עם Ollama.
באיזה שלב שלא תבחרו, מדדו את המכונה שלכם לפני שתאמינו לנתון מפורסם כלשהו. הכניסו את אותה הנחיה לתור חמש פעמים וקראו את מספר השניות לכל איטרציה ש-ComfyUI מדפיס בקונסולה שלו. מספר זה הוא המיקום האמיתי שלכם בסולם הביצועים.
FAQ
האם ניתן להריץ Stable Diffusion ללא GPU?
כן. ComfyUI פועל עם python main.py --cpu ומייצר תמונות ללא צורך בכרטיס גרפי. צפו לזמן עיבוד של כ-60 עד 150 שניות לתמונה עבור Stable Diffusion 1.5 ברזולוציית 512x512, ועשר עד עשרים דקות עבור SDXL ברזולוציית 1024x1024, על גבי 8 ליבות vCPU מודרניות. זה מתאים לעיבוד אצוות (batches) במהלך הלילה או לנקודות קצה עם נפח עבודה נמוך. זה אינו מתאים לעבודה אינטראקטיבית של ניסוי וטעייה (prompt iteration), ואימון מודלים אינו אפשרי כלל.
כמה VRAM נדרש עבור SDXL?
8 GB מאפשרים להריץ SDXL בנוחות ברזולוציית 1024x1024. מתחת לכמות זו, ComfyUI מעביר אוטומטית משקולות מודל לזיכרון המערכת (RAM) וממשיך לעבוד. נכון לאוקטובר 2026, ה-README של הפרויקט מציין דרישת מינימום של 4 GB VRAM ו-8 GB RAM, כאשר כל פעולת offloading גוזלת זמן. 12 GB מאפשרים להחזיק ControlNet לצד ה-checkpoint, ו-24 GB מספיקים עבור מודל בסיס, מודל refiner וביצוע upscaling בזרימת עבודה אחת. המדריך של kohya-ss sd-scripts מציין שניתן לבצע אימון LoRA ל-SDXL עם 8 GB (מומלץ 10 GB) אם משתמשים בהגדרות חיסכון בזיכרון, בעוד המדריך של ממשק kohya_ss דורש לפחות 12 GB. כוונון עדין (fine-tuning) מלא של SDXL דורש 24 GB עבור batch size של 1.
כמה שטח דיסק נדרש עבור המודלים?
ה-checkpoint הבסיסי של SDXL לבדו שוקל 6.94 GB, וה-refiner מוסיף כ-6 GB נוספים. מודלי SDXL ControlNet שוקלים בין 320 MB ל-2.5 GB כל אחד ב-half precision, מתאמי LoRA שוקלים בין עשרות MB ל-787 MB, ומודלי upscaling מסוג Real-ESRGAN שוקלים בין 2.5 MB ל-67 MB. הקצו 100 GB עבור התקנה עובדת עם מספר מודלי בסיס, ונטרו את תיקיית הפלט בנפרד, שכן קובצי PNG ברזולוציית 1024x1024 שוקלים 1 עד 2 MB כל אחד.
האם בטוח לחשוף את ComfyUI לאינטרנט הציבורי?
לא. התחברות לחשבון Comfy בהגדרות של ComfyUI עובדת בהתקנה מקומית, אך היא מעניקה גישה לצמתים (nodes) של שותפי Comfy ולמנויי ענן, ואין בתיעוד של Comfy שום התייחסות לכך כאל אמצעי הגנה על השרת שלכם. הדגל --multi-user רק מפריד אחסון בין משתמשים ללא אימות סיסמה. כאשר ComfyUI-Manager פעיל, הממשק מתקין צמתים מותאמים אישית, שהם קוד Python המורץ על השרת שלכם; לכן, פורט פתוח משמעו אפשרות להרצת קוד מרחוק (remote code execution). בצעו Bind ל-127.0.0.1, גשו דרך מנהרת SSH עם ssh -N -L 8188:127.0.0.1:8188 you@your-server, והציבו reverse proxy עם אימות גישה לפני השירות אם נדרשת גישה ליותר מאדם אחד.
מדוע הרינדור שלי הופסק ללא הודעת שגיאה?
היעלמות התהליך עם Killed בתוך dmesg ללא traceback של Python מעידה על מנגנון ה-out-of-memory killer של Linux, ולא על באג ב-ComfyUI. במערכת מבוססת CPU בלבד, המשקולות נשמרות ב-RAM של המערכת, לכן SDXL דורש כ-16 GB ו-SD 1.5 דורש כ-8 GB, בנוסף לזיכרון עבודה. הוסיפו RAM, הוסיפו swap, או עברו למודל קטן יותר ורזולוציה נמוכה יותר.