מחולל תמונות AI באירוח עצמי: דרישות חומרה אמיתיות
מה יכול VPS ללא GPU לעשות, כמה זמן נמשכת יצירת תמונת SDXL, אילו דרישות יש ל־Stable Diffusion, ואילו פקודות התקנה של ComfyUI ונפח אחסון צריך לתכנן.
מה באמת נדרש למחולל תמונות AI באירוח עצמי
מחולל תמונות AI באירוח עצמי מורכב מיישום web אחד ומקובץ מודל אחד. היישום הוא ComfyUI, והוא פועל על כל שרת Linux. המודל הוא שקובע את דרישות החומרה. Checkpoint ברמה של SDXL הוא קובץ יחיד בגודל 6.94 GB, והוא צריך להיטען לזיכרון ה־GPU. עובדה זו קובעת את התקציב כולו, לכן עיינו במדרג החומרה שלהלן לפני שכירת שרת.
הסיכום המדויק: VPS ללא GPU יכול להתקין את התוכנה ולהגיש אותה, והוא יכול ליצור תמונות בגודל 512x512 באמצעות מודל Stable Diffusion 1.5 ישן, בתוך דקה או שתיים לכל תמונה. אותו שרת, בהפעלת SDXL בגודל 1024x1024, זקוק ל־10 עד 20 דקות לכל תמונה. אין זו תצורה שבורה. זהו חישוב פשוט, והמדריך הזה מסביר אותו.
מדוע גודל המודל קובע את המכונה
יצירת תמונות מפעילה לולאת הסרת רעש. בעיבוד של 30 צעדים, המודל המלא עובר על התמונה 30 פעמים, ובכל מעבר נקראים כל המשקלים. SDXL בדיוק חצי תופס כ־6.9 GB של משקלים, ולכן בעיבוד של 30 צעדים עוברים בזיכרון בערך 200 GB לפני שמתקבלת תמונה.
GPU עם 24 GB של זיכרון גרפי (VRAM, הזיכרון שמולחם לצד השבב הגרפי) קורא נתונים בקצב של מאות גיגה־בייט לשנייה, ויכול להחזיק את כל 6.9 GB בו־זמנית. VPS עם CPU קורא את זיכרון המערכת בקצב של עשרות גיגה־בייט לשנייה, ואין לו חומרת מטריצות לחישובי הקונבולוציה. לכן אותה לולאה פועלת באיטיות של סדר גודל אחד או שניים. זהו אותו שיקול של רוחב פס הזיכרון שקובע את הביצועים של מודלי טקסט, וכדאי לקרוא עליו לצד מתי VPS עם GPU באמת מצדיק את העלות.
יצירת תמונות שונה מיצירת טקסט בנקודה אחת חשובה. מודל שיחה מזרים טוקנים, ולכן גם מכונה איטית עדיין מרגישה שימושית, משום שהמילים מופיעות בזמן הקריאה. תמונה מופיעה רק לאחר שהצעד האחרון מסתיים. איטיות פירושה לבהות בסרגל התקדמות.
מדרגת החומרה, עם מספרים אמיתיים
הבלוק שלהלן מציג נתונים אופייניים ליצירת תמונת SDXL אחת ברזולוציה של 1024x1024, עם 30 צעדים ו־Euler sampler, נכון ל־July 2026. יש להתייחס אליהם כסדרי גודל. ה־sampler, מספר הצעדים והרזולוציה עשויים לשנות אותם.
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
}
]השורה של המעבד מציגה 780 שניות, כלומר כ־13 דקות. הכרטיס בעל 24 GB מציג 9 שניות. זהו הפער שעבורו אתם משלמים.
כך יש לקרוא את המדרגה. גם עם פחות מ־8 GB של VRAM, SDXL עדיין פועל, משום ש־ComfyUI מעביר שכבות ל־RAM של המערכת באופן אוטומטי, ויכול להפעיל כרטיס עם 1 GB בלבד. העברת שכבות מאטה כל צעד, ולכן כרטיס בעל 6 GB יפיק תמונה בתוך קרוב יותר לדקה מאשר ל־30 שניות. עם 8 GB, מודל הבסיס נכנס לזיכרון והעיבוד מתבצע ללא מגבלה משמעותית. עם 12 GB, אפשר להחזיק ControlNet אחד או שניים לצד ה־checkpoint בלי להעביר שכבות לזיכרון המערכת. עם 24 GB, אפשר להריץ SDXL, את ה־refiner ואת תהליך ה־upscaling באותו workflow, ואפשר להתחיל לאמן מתאמי LoRA, שדורש הרבה יותר זיכרון מתהליך יצירת התמונות.
מה VPS עם CPU יכול לעשות ומה אינו יכול לעשות
הוא יכול לעשות יותר ממה שאנשים מצפים, ופחות ממה שהשיווק מרמז. חשוב להגדיר את הגבול במדויק.
VPS עם CPU יכול להתקין את ComfyUI, להגיש את ממשק האינטרנט, לאחסן את ספריית המודלים שלך, להפעיל את התור וליצור תמונות בלי GPU כלל. עם Stable Diffusion 1.5 ברזולוציה של 512x512 וב־20 צעדים, צפו לזמן של בערך 60 עד 150 שניות לתמונה על 8 vCPU מודרניים עם 16 GB RAM. עבור משימה אצווה שרצה במהלך הלילה, או עבור endpoint בנפח נמוך ליצירת תמונות מאחורי תור, הביצועים האלה מספיקים בהחלט.
VPS עם CPU אינו מתאים לעבודה אינטראקטיבית. איטרציה של prompts פירושה 20 עיבודים בשעה, ובקצב של 13 דקות לכל עיבוד תקבלו 4 בלבד. הוא גם אינו מתאים לאימון. כוונון LoRA על CPU נמדד בימים ולא בשעות, ולכן יש להתייחס אליו כאל אפשרות שאינה זמינה.
כלל הזיכרון בעבודה עם CPU בלבד שונה מהכלל עבור GPU. המשקלים נטענים אל זיכרון המערכת, ולכן נדרש מקום עבור גודל המודל וכן מרחב עבודה: בערך 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 בתוספת שם הכרטיס שלכם מציינים שכל הרכיבים פועלים. False מציין שה־wheel שהתקנתם אינו תואם למנהל ההתקן, בדרך כלל משום ש־wheel של torch ללא תמיכה ב־CPU כבר נשמר במטמון. התקינו מחדש באמצעות כתובת ה־index שמופיעה למעלה.
השג מודל ותכנן את שטח האחסון
ComfyUI אינו כולל weights. Checkpoints נשמרים ב־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 שעבר pickling, וטעינתו מריצה קוד מהגורם שבנה אותו. פורמט safetensors מכיל tensors בלבד, ולכן קובץ זדוני אינו יכול להריץ דבר.
שטח האחסון הוא עלות שקל לשכוח. Checkpoint יחיד של SDXL base תופס 6.94 GB. ה־refiner תופס 6 GB נוספים. מודל ControlNet יחיד תופס 1.4 עד 2.5 GB, upscaler תופס 60 עד 350 MB, ו־LoRA תופס 20 עד 400 MB. מי שנכנס לתחום מוריד בתוך שבוע מודל base שני ושלישי. הקצה 100 GB של שטח דיסק להתקנה פעילה, ועקוב גם אחר תיקיית הפלט: קובצי PNG בגודל 1024x1024 תופסים 1 עד 2 MB כל אחד, ו־batch ללא השגחה ממלא בשקט דיסק קטן. הצב את models/ ואת output/ על volume שאפשר להגדיל, וגבה את קובצי ה־JSON של ה־workflow באמצעות גיבויים מוצפנים ומדורגים ל־object storage, למשל. את ה־weights אפשר להוריד מחדש. את ה־workflow שכיוונת אי אפשר לשחזר באותה קלות.
הפעילו אותו, וגישה אליו בבטחה
cd ~/ComfyUI
. venv/bin/activate
python main.py --listen 127.0.0.1 --port 8188ComfyUI מקשיב בפורט 8188. בשרת שבו פועל CPU בלבד, הוסיפו --cpu. אפשרות זו כופה שימוש בנתיב CPU במקום כשל עקב התקן CUDA חסר.
קשרו את השירות ל־127.0.0.1, ולא ל־0.0.0.0. ל־ComfyUI אין מסך התחברות ואין חשבונות משתמשים. כל גורם שמגיע לפורט יכול להוסיף עבודות לתור, לקרוא כל תמונה שיצרתם ולהתקין custom nodes. משמעות הדבר היא הרצת קוד שרירותי בשרת. במקום זאת, גשו אליו דרך מנהרת SSH מהמחשב הנייד שלכם.
ssh -N -L 8188:127.0.0.1:8188 you@your-serverלאחר מכן פתחו באופן מקומי את http://127.0.0.1:8188. אם נדרשת גישה אמיתית למשתמשים מרובים, הציבו reverse proxy עם אימות לפניו והשאירו את היישום קשור ל־localhost. אותו עיקרון חל על כל שירות self-hosted ללא אימות, וזהו הדפוס המקובל ב־פריסות Docker Compose ב־VPS.
השאירו אותו פועל תחת systemd
תור render שמפסיק לפעול כאשר הפעלת ה־SSH נסגרת אינו שירות. כתבו /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 מציין ישירות את המפרש בתוך הסביבה הווירטואלית, משום ש־systemd אינו מפעיל את פרופיל ה־shell שלכם, ולכן activate לעולם אינו מתרחש.
ההמלצה המעשית לפי התקציב
אם ברצונכם לנסות יצירת תמונות והעלות חשובה לכם יותר מהמהירות, בחרו VPS עם CPU ו־16 GB של RAM, הריצו SD 1.5 ברזולוציה של 512x512, וקבלו זמן של דקה או שתיים לכל תמונה. זו נקודת הכניסה הכנה, והיא עולה שבריר מהעלות של כל פתרון הכולל GPU. זהו גם המקום המתאים לאחסן את ספריית המודלים ואת תהליכי העבודה בזמן שאתם מחליטים.
אם אתם משפרים prompts מדי יום, שכּרו לפי שעה GPU עם לפחות 12 GB של VRAM מספק GPU cloud, וכבו אותו כשאתם מפסיקים. יצירת תמונות היא עבודה שמתרחשת בהתפרצויות, ו־GPU לא פעיל שמחויב מדי חודש הוא הדרך הנפוצה ביותר לחרוג מהתקציב בתחום הזה. שמרו את ה־checkpoints ב־block storage זול וחברו אותו למערכת.
אם אתם מספקים שירות לאנשים אחרים או מאמנים מתאמי LoRA, אתם זקוקים ל־24 GB של VRAM ולמכונה שנשארת פעילה. בשלב הזה, אותה מכונה בדרך כלל מצדיקה את עלותה גם באמצעות הרצת language model מקומי, כפי שמתואר ב־אירוח עצמי של LLM באמצעות Ollama.
לא משנה באיזו רמה תבחרו, מדדו את המכונה שלכם לפני שאתם מסתמכים על נתון שפורסם. הריצו את אותו prompt חמש פעמים וקראו את מספר השניות לכל איטרציה ש־ComfyUI מציג במסוף שלו. המספר הזה הוא המיקום האמיתי שלכם בסולם.
FAQ
האם אפשר להפעיל Stable Diffusion ללא GPU?
כן. ComfyUI פועל עם python main.py --cpu ומפיק תמונות אמיתיות גם ללא כרטיס גרפי. ב־Stable Diffusion 1.5 ברזולוציה של 512x512, יש לצפות לכ־60 עד 150 שניות לתמונה. ב־SDXL ברזולוציה של 1024x1024, התהליך אורך 10 עד 20 דקות, על 8 vCPU מודרניים. הדבר מתאים לעיבוד אצווה במהלך הלילה ולנקודות קצה בנפח נמוך. הוא אינו מתאים לשינויים חוזרים ב־prompt, ואימון אינו מעשי כלל.
כמה VRAM נדרש עבור SDXL?
8 GB מריצים SDXL בנוחות ברזולוציה של 1024x1024. מתחת לכך, ComfyUI מעביר שכבות אל RAM של המערכת באופן אוטומטי ועדיין פועל, עד לכ־1 GB של VRAM, אך כל שלב שמועבר ל־RAM מאריך את זמן העיבוד. 12 GB מאפשרים להחזיק ControlNet לצד ה־checkpoint. 24 GB מספיקים ל־base, ל־refiner ול־upscaling באותו workflow, והם גם הסף המעשי לאימון מתאמי LoRA.
כמה שטח דיסק נדרש עבור המודלים?
ה־checkpoint הבסיסי של SDXL לבדו תופס 6.94 GB, וה־refiner מוסיף כ־6 GB. מודלי ControlNet תופסים 1.4 עד 2.5 GB כל אחד, מתאמי LoRA תופסים 20 עד 400 MB, וכלי upscaling תופסים עד 350 MB. הקצו 100 GB להתקנה פעילה עם כמה מודלי בסיס. עקבו בנפרד גם אחר תיקיית הפלט, משום שקובצי PNG בגודל 1024x1024 תופסים 1 עד 2 MB כל אחד.
האם בטוח לחשוף את ComfyUI לאינטרנט הציבורי?
לא. ל־ComfyUI אין מנגנון אימות כלשהו, ומערכת ה־custom nodes שלו מתקינה ומריצה קוד Python מהממשק. לכן, פורט פתוח מאפשר הרצת קוד מרחוק בשרת. קשרו אותו ל־127.0.0.1, גשו אליו באמצעות מנהרת SSH עם ssh -N -L 8188:127.0.0.1:8188 you@your-server, והציבו לפניו reverse proxy עם אימות אם יותר מאדם אחד זקוק לגישה.
מדוע ה־render שלי הופסק ללא הודעת שגיאה?
היעלמות התהליך, כאשר Killed מופיע ב־dmesg וללא traceback של Python, מעידה על Linux out-of-memory killer ולא על באג ב־ComfyUI. בשרת ללא GPU, המשקלים נטענים ל־RAM של המערכת. לכן SDXL דורש כ־16 GB, ו־SD 1.5 דורש כ־8 GB, בנוסף לזיכרון העבודה. הוסיפו RAM, הוסיפו swap, או עברו למודל קטן יותר ולרזולוציה נמוכה יותר.