پرش به محتوا
← همهٔ یادداشت‌ها

ComfyUI یا InvokeAI یا SwarmUI؟ انتخاب رابط روی GPU ابری

·۸ دقیقه مطالعه·تیم جی‌پی‌یو

ردیفی از رنده‌های چوبی نجاری در اندازه‌های مختلف، روی میز کار چوبی یک کارگاه قدیمی.

اگر با ComfyUI کار کرده‌اید و گره‌ها و سیم‌های درهمش خسته‌تان کرده، دو قالب دیگر روی جی‌پی‌یو همان کار را با رابط متفاوتی انجام می‌دهند: InvokeAI و SwarmUI. هر سه روی یک GPU ابری اجاره‌ای بالا می‌آیند، هر سه از Stable Diffusion و FLUX پشتیبانی می‌کنند، ولی تجربهٔ کار با آن‌ها یکی نیست. این مطلب می‌گوید هرکدام چه چیزی به شما می‌دهند، کجا از ComfyUI جلو می‌زنند و برای کار شما کدام را اجاره کنید.

امتحان کردن هر سه حدود یک تا دو ساعت ماشین می‌خواهد؛ روی یک کارت گرافیک ۱۲ گیگابایتی یعنی چند ده هزار تومان. اگر عجله دارید، مستقیم سراغ بخش «کدام را انتخاب کنم» بروید.

پیش‌نیازها

  • یک حساب در جی‌پی‌یو. اگر هنوز ندارید، از صفحهٔ ثبت‌نام شروع کنید.
  • یک کلید عمومی SSH ثبت‌شده در /account؛ ورود به ماشین فقط با کلید است.
  • موجودی کیف پول حداقل به اندازهٔ یک ساعت از نرخ همان ماشین؛ برای این آموزش ۵۰ تا ۱۰۰ هزار تومان کافی است.
  • آشنایی مقدماتی با ساخت تصویر. اگر تازه‌کارید، اول آموزش ComfyUI روی GPU ابری: اولین تصویر با SDXL را بخوانید تا مفهوم مدل، sampler و steps دستتان بیاید.

سه رابط، یک موتور

هر سه در نهایت همان مدل‌های Stable Diffusion و FLUX را روی همان کارت گرافیک اجرا می‌کنند. تفاوت در لایهٔ بالاست: چقدر باید دستی بچینید و چقدر آماده تحویل می‌گیرید.

ComfyUI یک گراف گره‌ای است: هر مرحله — بارگذاری مدل، پرامپت، نمونه‌برداری، رمزگشایی — یک گره جداست و شما سیم‌ها را وصل می‌کنید. چیزی پشت پرده اتفاق نمی‌افتد، پس دقیقاً می‌دانید خروجی از کجا آمده. قیمتش این است که برای ساده‌ترین کار هم باید گراف بچینید.

InvokeAI از سمت مقابل آمده. مخزن رسمی‌اش آن را «موتور خلاقه» می‌نامد و مرکز ثقلش بوم یکپارچه (Unified Canvas) است: یک بوم نقاشی که روی آن با قلم‌مو کار می‌کنید، بخشی از تصویر را پاک و دوباره تولید می‌کنید (inpaint)، یا بوم را بزرگ می‌کنید و مدل حاشیه‌ها را پر می‌کند (outpaint). یک مدیر مدل هم دارد که مدل را با شناسهٔ مخزن Hugging Face یا نشانی مستقیم می‌گیرد و خودش سر جایش می‌گذارد. گراف گره‌ای هم دارد، ولی لازم نیست سراغش بروید.

SwarmUI حالت سوم است: رابطی که روی ComfyUI نشسته. مستنداتش می‌گوید ComfyUI را به‌عنوان backend بالا می‌آورد و خودش یک فرم ساده جلوی شما می‌گذارد. یعنی سرعت و انعطاف ComfyUI را دارید بدون این‌که مجبور باشید گراف بچینید — و هر وقت خواستید، از تب Comfy Workflow همان گراف خام را باز می‌کنید.

انتخاب ماشین مناسب

نیاز VRAM این سه تا با هم فرقی ندارد، چون مدل یکی است. آن‌چه VRAM را تعیین می‌کند، مدلی است که اجرا می‌کنید:

  • SD 1.5 و SDXL: کارت ۱۲ گیگابایتی راحت جواب می‌دهد. RTX 3060 با ۱۲ گیگ VRAM اقتصادی‌ترین گزینه است و در زمان نوشتن این مطلب از حدود ۱۵ هزار تومان در ساعت شروع می‌شود.
  • FLUX.1 با وزن‌های fp8: ۱۶ گیگ کف کار است. RTX A4000 با ۱۶ گیگ در زمان نوشتن این مطلب از حدود ۲۴ هزار تومان در ساعت موجود است.
  • FLUX کامل، بوم بزرگ، یا آپ‌اسکیل سنگین: ۲۴ گیگ بگیرید. RTX 3090 در زمان نوشتن این مطلب از حدود ۴۲ هزار تومان در ساعت و RTX 4090 از حدود ۱۱۰ هزار تومان در ساعت شروع می‌شود.

برای مقایسه کردن این سه رابط، پیشنهاد اقتصادی یک کارت ۱۲ گیگی با SDXL است؛ پیشنهاد سریع یک RTX 3090 که هم FLUX را جا می‌دهد و هم وقتتان را روی صف رندر تلف نمی‌کند. ماشین‌های موجود و قیمت لحظه‌ای‌شان را در بازار GPU ببینید. اگر می‌خواهید دقیق‌تر تصمیم بگیرید، راهنمای VRAM هر کار اعداد بیشتری دارد.

اجاره و راه‌اندازی

موقع اجاره، قالب InvokeAI یا SwarmUI را انتخاب کنید. ماشین با همان نرم‌افزار بالا می‌آید و لازم نیست چیزی نصب کنید. اگر با قالب‌ها آشنا نیستید، قالب‌ها چیست و کدام را انتخاب کنیم را ببینید.

بعد از این‌که وضعیت ماشین «در حال اجرا» شد، صفحهٔ ماشین دکمهٔ «پنل ماشین» را نشان می‌دهد؛ همان رابط وب است. فهرست «پورت‌های منتشرشده» هم روی همان صفحه است. InvokeAI به‌طور پیش‌فرض روی پورت ۹۰۹۰ و SwarmUI روی پورت ۷۸۰۱ گوش می‌دهد.

اگر ترجیح می‌دهید رابط را از طریق SSH باز کنید، صفحهٔ ماشین دستور «تونل امن» را آماده می‌دهد. شکل کلی‌اش این است:

ssh -N -L 9090:localhost:9090 -p <PORT> root@<HOST>

برای SwarmUI همان دستور با پورت ۷۸۰۱:

ssh -N -L 7801:localhost:7801 -p <PORT> root@<HOST>

بعد در مرورگر خودتان http://localhost:9090 یا http://localhost:7801 را باز کنید. با SSH هم وارد ماشین شوید و مطمئن شوید کارت دیده می‌شود:

nvidia-smi --query-gpu=name,memory.total --format=csv

و برای دیدن این‌که سرویس واقعاً روی پورتش بالا آمده:

ss -ltn | grep -E '9090|7801'

InvokeAI: وقتی می‌خواهید روی تصویر کار کنید

نقطهٔ قوت InvokeAI ویرایش است، نه تولید انبوه. یک تصویر می‌سازید و روی همان بوم می‌مانید: ناحیه‌ای را ماسک می‌کنید و فقط همان قسمت را دوباره می‌سازید، لبهٔ بوم را می‌کشید و مدل ادامهٔ صحنه را پر می‌کند. این چرخهٔ «بساز، اصلاح کن، دوباره بساز» در ComfyUI یعنی هر بار عوض کردن گراف؛ این‌جا یعنی چند حرکت قلم‌مو.

مدیر مدل هم کار را ساده می‌کند: به‌جای گذاشتن دستی فایل در پوشهٔ درست، شناسهٔ مخزن Hugging Face را می‌دهید و خودش دانلود می‌کند. دانلود روی خود ماشین با سرعت گیگابیتی انجام می‌شود و به اینترنت شما ربطی ندارد؛ یک مدل SDXL حدود ۶ گیگابایت است و معمولاً کمتر از یک دقیقه طول می‌کشد.

اگر خواستید ببینید فایل‌ها کجا نشسته‌اند:

echo "${INVOKEAI_ROOT:-not set}"
find / -maxdepth 6 -type d -name invokeai 2>/dev/null

SwarmUI: وقتی می‌خواهید ده‌ها تصویر را مقایسه کنید

SwarmUI یک فرم معمولی جلوی شماست — پرامپت، مدل، تعداد، ابعاد — و پشتش ComfyUI کار می‌کند. تب‌های اصلی‌اش Generate برای ساخت، Refine/Upscale برای بهبود، Tools برای ابزارها، Server برای تنظیمات backend و Logs برای وقتی چیزی خراب می‌شود.

ابزاری که SwarmUI را متمایز می‌کند Grid Generator در تب Tools است: چند مقدار برای چند پارامتر می‌دهید — مثلاً سه sampler در چهار مقدار CFG — و شبکه‌ای از همهٔ ترکیب‌ها می‌گیرید که در مرورگر قابل مرور است. همین کار در ComfyUI یعنی نوشتن اسکریپت.

تب Comfy Workflow هم راه فرار شماست: هر وقت فرم ساده کم آورد، گراف خام را باز می‌کنید، تغییرش می‌دهید و با دکمهٔ Use This Workflow به تب Generate برمی‌گردید. مدل‌ها در پوشهٔ Models کنار نصب SwarmUI می‌نشینند؛ چک‌پوینت‌ها در Models/Stable-Diffusion و فایل‌های DiT مثل بعضی نسخه‌های FLUX در Models/diffusion_models. برای پیدا کردن مسیر دقیق روی ماشین:

find / -maxdepth 6 -type d -name "Stable-Diffusion" 2>/dev/null

کدام را انتخاب کنم

  • می‌خواهید تصویر را ویرایش کنید — inpaint، outpaint، اصلاح چهره و دست، کار روی یک تصویر تا وقتی درست شود: InvokeAI.
  • می‌خواهید تنظیمات را جارو کنید یا حجم زیادی تصویر با یک سبک بسازید: SwarmUI.
  • می‌خواهید کنترل کامل، ورک‌فلوی سفارشی، یا گره‌های افزونه‌ای خاص: ComfyUI.
  • تازه‌کارید و فقط می‌خواهید یک تصویر خوب بگیرید: SwarmUI کمترین اصطکاک را دارد، و Fooocus از آن هم ساده‌تر است.

هیچ‌کدام «بهتر» نیستند. چون هزینه ساعتی است، امتحان کردن هر سه روی یک بعدازظهر ارزان‌تر از حدس زدن است.

اگر به مشکل خوردید

  • رابط باز نمی‌شود. چند دقیقه صبر کنید؛ بار اول راه‌اندازی طول می‌کشد. بعد با ss -ltn ببینید پورت بالا آمده یا نه، و از دکمهٔ «پنل ماشین» به‌جای نشانی دستی استفاده کنید.
  • CUDA out of memory. ابعاد تصویر را کم کنید، batch size را روی ۱ بگذارید، یا مدل fp8 به‌جای نسخهٔ کامل بگیرید. اگر باز هم خورد، کارت بزرگ‌تر لازم دارید.
  • SwarmUI می‌گوید backend آماده نیست. به تب Logs بروید؛ معمولاً ComfyUI پشت صحنه هنوز بالا می‌آید یا مدلی پیدا نشده.
  • مدل در فهرست نیست. فایل در پوشهٔ درست نیست؛ مسیر را با دستور find بالا پیدا کنید و در رابط دکمهٔ refresh مدل‌ها را بزنید.
  • دیسک پر شد. با df -h / ببینید چقدر مانده و مدل‌های آزمایشی را پاک کنید؛ هر چک‌پوینت SDXL چند گیگابایت است.

هزینه و صرفه‌جویی

برای مقایسهٔ این سه تا، دو ساعت کافی است: روی یک کارت ۱۲ گیگی حدود ۳۰ هزار تومان و روی RTX 3090 حدود ۸۴ هزار تومان، با قیمت‌های زمان نوشتن این مطلب. قیمت موقع اجاره قفل می‌شود.

دو نکته که پول شما را نگه می‌دارد: ماشین متوقف‌شده هزینه ندارد، پس تا وقتی دارید خروجی‌ها را نگاه می‌کنید ماشین را روشن نگذارید. و دیسک ماشین با حذف آن پاک می‌شود؛ فضای ذخیره‌سازی دائمی وجود ندارد. قبل از حذف، تصویرها را دانلود کنید — مثلاً با scp از دستگاه خودتان:

scp -P <PORT> -r root@<HOST>:/path/to/outputs ./outputs

قدم بعدی

اگر InvokeAI را پسندیدید، سراغ ماسک‌گذاری دقیق و outpaint بروید. اگر SwarmUI را انتخاب کردید، با Grid Generator چند sampler را روی یک پرامپت ثابت مقایسه کنید. و اگر هیچ‌کدام کنترل کافی ندادند، آموزش ComfyUI روی GPU ابری نقطهٔ شروع درستی است.

پرسش‌های متداول

فرق InvokeAI با ComfyUI چیست؟

ComfyUI یک گراف گره‌ای است که هر مرحله را دستی می‌چینید و کنترل کامل می‌دهد. InvokeAI یک بوم نقاشی با ابزار قلم‌مو و ماسک است که برای ویرایش و اصلاح تصویر ساخته شده. هر دو همان مدل‌ها را روی همان کارت اجرا می‌کنند؛ تفاوت در روش کار است، نه در کیفیت خروجی.

آیا SwarmUI همان ComfyUI است؟

نه، ولی از آن استفاده می‌کند. SwarmUI یک رابط ساده است که ComfyUI را به‌عنوان backend بالا می‌آورد و از تب Comfy Workflow می‌توانید به گراف خام دسترسی داشته باشید. یعنی سرعت ComfyUI را دارید بدون اجبار به گره‌چینی.

برای InvokeAI و SwarmUI چقدر VRAM لازم است؟

به مدل بستگی دارد، نه به رابط. برای SDXL کارت ۱۲ گیگابایتی کافی است، برای FLUX.1 با وزن fp8 حداقل ۱۶ گیگ و برای کارهای سنگین‌تر ۲۴ گیگ بگیرید.

آیا می‌توانم هر سه را روی یک ماشین داشته باشم؟

هر ماشین با یک قالب بالا می‌آید. اگر می‌خواهید مقایسه کنید، ساده‌ترین راه این است که یکی را اجاره کنید، امتحان کنید، حذفش کنید و بعدی را بگیرید. چون هزینه دقیقه‌ای است، این کار گران درنمی‌آید؛ فقط یادتان باشد خروجی‌ها را قبل از حذف دانلود کنید.

تصویر کاور: «Vienna - Carpenter workshop tools - 0027» اثر Jorge Royan، از ویکی‌مدیا کامنز، لایسنس CC BY-SA 3.0.