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

Stable Diffusion فارسی: اولین تصویر با Forge در ۱۵ دقیقه

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

کوچه‌ای سنگی و آفتابی با درهای چوبی قوسی و گل‌های آویزان، تولیدشده با Stable Diffusion

این راهنمای Stable Diffusion فارسی برای کسی نوشته شده که می‌خواهد تصویر بسازد ولی کارت گرافیک قوی ندارد. یک ماشین GPU ساعتی اجاره می‌کنیم، قالب SD WebUI Forge را بالا می‌آوریم، مدل SDXL را مستقیم روی خود ماشین دانلود می‌کنیم و اولین تصویر را می‌سازیم. کل کار حدود ۱۵ تا ۲۰ دقیقه طول می‌کشد.

Forge نسخه‌ای بهینه‌شده از رابط Stable Diffusion WebUI است که مدیریت حافظهٔ بهتری دارد؛ یعنی روی کارت‌های ۱۲ گیگابایتی هم SDXL و حتی FLUX را اجرا می‌کند. در ادامه برای هر دو دستهٔ رایج — ۱۲ گیگ و ۲۴ گیگ VRAM — تنظیمات جداگانه می‌دهیم. هزینهٔ یک جلسهٔ تمرینی روی ارزان‌ترین گزینه، در زمان نوشتن این مطلب، حدود پنج تا ده هزار تومان درمی‌آید.

پیش‌نیازها

سه چیز لازم دارید:

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

اگر این مراحل برایتان تازه است، پست شروع اجاره GPU: اولین ماشین در ۱۰ دقیقه همین سه قدم را با جزئیات کامل توضیح داده است.

انتخاب ماشین مناسب: ۱۲ گیگ یا ۲۴ گیگ؟

برای SDXL در ابعاد ۱۰۲۴×۱۰۲۴، دوازده گیگابایت VRAM کافی است. اگر می‌خواهید هم‌زمان چند تصویر بسازید، Hires fix با ضریب بالا بزنید یا سراغ FLUX بروید، بیست‌وچهار گیگ کار را راحت‌تر می‌کند.

قیمت‌های زیر در زمان نوشتن این مطلب و برای ارزان‌ترین ماشین هر کارت است:

  • RTX 3060 (۱۲ گیگ) — در زمان نوشتن این مطلب از حدود ۱۴ هزار تومان در ساعت؛ گزینهٔ اقتصادی و کافی برای شروع.
  • RTX A4000 (۱۶ گیگ) — در زمان نوشتن این مطلب از حدود ۲۳ هزار تومان در ساعت؛ حد وسط خوبی است.
  • RTX 3090 (۲۴ گیگ) — در زمان نوشتن این مطلب از حدود ۳۹ هزار تومان در ساعت؛ پیشنهاد ما برای کار جدی.
  • RTX 4090 (۲۴ گیگ) — در زمان نوشتن این مطلب از حدود ۱۰۴ هزار تومان در ساعت؛ سریع‌ترین گزینهٔ این فهرست.

موجودی و قیمت‌ها لحظه‌ای عوض می‌شوند؛ فهرست به‌روز را در بازار GPU با فیلتر حافظه ببینید. نرخ ساعتی لحظهٔ اجاره قفل می‌شود و بعد از آن تغییر نمی‌کند.

اجاره و بالا آوردن قالب SD WebUI Forge

در صفحهٔ بازار ماشین را انتخاب کنید و از لیست قالب‌ها SD WebUI Forge را بردارید. این قالب Forge را از پیش نصب‌شده تحویل می‌دهد؛ لازم نیست چیزی کامپایل یا pip install کنید.

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

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

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

بعد در مرورگر خودتان http://localhost:7860 را باز کنید. اولین بالا آمدن Forge یکی دو دقیقه طول می‌کشد؛ اگر صفحه خطا داد، کمی صبر کنید و دوباره بزنید.

با SSH هم وارد ماشین شوید و با nvidia-smi مطمئن شوید کارت گرافیک و مقدار VRAM دیده می‌شوند. اگر این دستور خطا داد، ماشین هنوز کامل بالا نیامده است.

دانلود مدل SDXL روی خود ماشین

ماشین‌های جی‌پی‌یو خارج از ایران هستند، پس دانلود از Hugging Face روی خودِ ماشین با سرعت گیگابیتی انجام می‌شود و به اینترنت خانگی شما ربطی ندارد. یک فایل هفت گیگابایتی معمولاً در کمتر از دو دقیقه می‌آید.

اول مسیر پوشهٔ models داخل محل نصب Forge را پیدا کنید و در یک متغیر بگذارید:

export MODELS=$(dirname $(find / -maxdepth 6 -type d -name "Stable-diffusion" 2>/dev/null | head -n 1))
echo $MODELS

حالا چک‌پوینت پایهٔ SDXL 1.0 را دانلود کنید (حدود ۶.۹ گیگابایت):

cd "$MODELS/Stable-diffusion"
wget -c https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors

اگر بعداً خواستید LoRA اضافه کنید، پوشه‌اش را با mkdir -p "$MODELS/Lora" بسازید و فایل‌ها را داخلش بریزید.

در رابط Forge، کنار لیست کشویی Checkpoint دکمهٔ تازه‌سازی (🔄) را بزنید تا sd_xl_base_1.0.safetensors ظاهر شود و انتخابش کنید. بار اول، لود شدن مدل چند ثانیه طول می‌کشد.

اولین تصویر و تنظیمات پیشنهادی

در تب txt2img یک پرامپت انگلیسی بنویسید، مثلاً:

a photo of a Persian cat sitting on a wooden table, soft window light, 50mm lens, sharp focus

بالای صفحهٔ Forge اسلایدری به نام GPU Weights می‌بینید که تعیین می‌کند چند مگابایت از VRAM به وزن‌های مدل برسد؛ باقی‌ماندهٔ حافظه برای خودِ تولید تصویر می‌ماند. کنارش دو گزینهٔ دیگر هست: Swap Method (Queue یا Async) و Swap Location (حافظهٔ CPU یا اشتراکی).

تنظیمات پیشنهادی برای ۱۲ گیگ VRAM

  • ابعاد ۱۰۲۴×۱۰۲۴ و Batch size برابر ۱.
  • Sampling method روی DPM++ 2M، Schedule type روی Karras، ۲۵ تا ۳۰ گام، CFG Scale بین ۵ تا ۷.
  • GPU Weights را حدود ۱۰۰۰۰ مگابایت بگذارید تا حدود دو گیگ برای مرحلهٔ تولید آزاد بماند.
  • Swap Method روی Queue و Swap Location روی CPU.
  • Hires fix را فعلاً خاموش بگذارید؛ اگر لازم شد، Upscale by را ۱.۵ و Denoising strength را حدود ۰.۴ بگذارید.

تنظیمات پیشنهادی برای ۲۴ گیگ VRAM

  • همان ابعاد ۱۰۲۴×۱۰۲۴ ولی Batch size را می‌توانید تا ۴ ببرید و چند تصویر را یک‌جا بگیرید.
  • GPU Weights را حدود ۲۲۰۰۰ مگابایت بگذارید.
  • Hires fix با R-ESRGAN 4x+، ضریب ۱.۵ تا ۲ و Denoising strength حدود ۰.۴ روی این کارت‌ها راحت جا می‌شود.
  • اگر سراغ FLUX می‌روید، نسخهٔ کوانتیزه‌شدهٔ flux1-dev-bnb-nf4 را در همان پوشهٔ Stable-diffusion بریزید (حدود ۱۲ گیگابایت). Forge از NF4 و GGUF به‌صورت بومی پشتیبانی می‌کند. برای FLUX معمولاً Sampling method روی Euler، Schedule type روی Simple، حدود ۲۰ گام و CFG Scale برابر ۱ جواب می‌دهد و شدت پرامپت را با Distilled CFG Scale (حدود ۳.۵) تنظیم می‌کنید.

Stable Diffusion فارسی: با پرامپت فارسی چه کنیم؟

یک نکته که خیلی‌ها را سردرگم می‌کند: مدل‌های خانوادهٔ Stable Diffusion با متن انگلیسی آموزش دیده‌اند. پرامپت فارسی معمولاً خروجی بی‌ربط می‌دهد. پس Stable Diffusion فارسی یعنی رابط و آموزش فارسی، نه پرامپت فارسی.

راه‌حل ساده است: ایدهٔ فارسی‌تان را به انگلیسی ترجمه کنید و بعد بدهید به Forge. برای نوشتن متن فارسی داخل تصویر هم روی این مدل‌ها حساب باز نکنید؛ در تایپوگرافی فارسی ضعیف‌اند و بهتر است متن را بعداً در یک ویرایشگر تصویر اضافه کنید.

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

  • CUDA out of memory: اسلایدر GPU Weights را دو هزار مگابایت کم کنید، Batch size را روی ۱ بگذارید، Hires fix را خاموش کنید و ابعاد را به ۱۰۲۴×۱۰۲۴ برگردانید. اگر تکرار شد، Forge را ری‌استارت کنید تا حافظه آزاد شود.
  • مدل در لیست کشویی نیست: دکمهٔ تازه‌سازی کنار Checkpoint را بزنید. اگر نبود، با ls -lh "$MODELS/Stable-diffusion" مطمئن شوید فایل همان‌جاست.
  • خطای خواندن فایل safetensors: دانلود نیمه‌کاره مانده. حجم فایل را با ls -lh ببینید و همان wget -c را دوباره بزنید تا از همان‌جا ادامه بدهد.
  • رابط وب باز نمی‌شود: در فهرست «پورت‌های منتشرشده» ببینید پورت ۷۸۶۰ هست یا نه؛ اگر نبود از تونل امن استفاده کنید. اولین بالا آمدن سرویس چند دقیقه زمان می‌برد.
  • تصویر کاملاً سیاه درمی‌آید: مشکل شناخته‌شدهٔ VAE در حالت نیم‌دقتی است؛ Forge را با سوییچ --no-half-vae اجرا کنید.

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

یک جلسهٔ کامل — اجاره، دانلود SDXL و ساخت چند ده تصویر — معمولاً ۲۰ تا ۳۰ دقیقه طول می‌کشد. روی RTX 3060 با نرخ حدود ۱۴ هزار تومان در ساعت در زمان نوشتن این مطلب، یعنی حدود پنج تا هفت هزار تومان.

هزینه دقیقه‌ای از کیف پول کم می‌شود و ماشین متوقف‌شده هزینه‌ای ندارد. پس هر وقت کارتان تمام شد، همان لحظه ماشین را متوقف یا حذف کنید.

یک هشدار مهم: دیسک ماشین با حذف ماشین پاک می‌شود. فضای ذخیره‌سازی دائمی یا مشترک بین ماشین‌ها نداریم. پس قبل از حذف، خروجی‌ها را بردارید. مسیرشان را این‌طور پیدا کنید:

find / -maxdepth 6 -type d -name "txt2img-images" 2>/dev/null

و بعد از روی لپ‌تاپ خودتان دانلود کنید:

scp -P <PORT> -r root@<HOST>:<PATH>/txt2img-images ./

راه ساده‌تر، استفاده از لینک Jupyter در صفحهٔ ماشین و برداشتن فایل‌ها از مرورگر فایل آن است.

قدم بعدی

برای کنترل دقیق‌تر روی مراحل تولید تصویر، سراغ ورک‌فلوهای گره‌ای بروید: آموزش ComfyUI روی GPU ابری: اولین تصویر با SDXL.

و اگر هنوز مطمئن نیستید چه کارتی مناسب کار شماست، انتخاب کارت گرافیک هوش مصنوعی: راهنمای VRAM هر کار را بخوانید. مستندات رسمی خود ابزار هم در مخزن گیت‌هاب Forge در دسترس است.

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

فرق Forge با Stable Diffusion WebUI معمولی چیست؟

Forge روی همان رابط A1111 ساخته شده و ظاهرش تقریباً یکی است، اما مدیریت حافظه‌اش بازنویسی شده؛ یعنی روی کارت‌های کم‌حافظه‌تر بهتر کار می‌کند و از مدل‌های کوانتیزه‌شدهٔ NF4 و GGUF به‌صورت بومی پشتیبانی می‌کند.

برای Stable Diffusion چقدر VRAM لازم است؟

برای SDXL در ابعاد ۱۰۲۴×۱۰۲۴ دوازده گیگابایت راحت جواب می‌دهد. برای کار با FLUX، تصاویر بزرگ‌تر یا دسته‌های چندتایی، بیست‌وچهار گیگابایت انتخاب مطمئن‌تری است.

آیا می‌توانم پرامپت را فارسی بنویسم؟

عملاً نه. مدل‌های Stable Diffusion با متن انگلیسی آموزش دیده‌اند و پرامپت فارسی خروجی قابل‌اتکایی نمی‌دهد. ایده را به انگلیسی ترجمه کنید.

دانلود مدل چند گیگابایتی با اینترنت من چقدر طول می‌کشد؟

اینترنت شما اصلاً درگیر نمی‌شود. دانلود روی خود ماشین اجاره‌ای انجام می‌شود که اتصال گیگابیتی دارد؛ یک فایل هفت گیگابایتی معمولاً در کمتر از دو دقیقه می‌آید.

بعد از حذف ماشین، مدل‌ها و تصویرهایم می‌مانند؟

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

تصویر کاور: «Stable Diffusion - In Spain - 1» اثر Tullius Detritus (با Stable Diffusion)، از ویکی‌مدیا کامنز، لایسنس Public Domain.

تصویر کاور: «Gigabyte GeForce RTX 3090 Eagle OC 24G, 24576 MiB GDDR6X Front 20201114 DSC5880» اثر PantheraLeo1359531، از ویکی‌مدیا کامنز، لایسنس CC BY 4.0.