تصویر و ویدیو

Stable Diffusion

Stable Diffusion — راهنمای فارسی از مجموعهٔ «تصویر و ویدیو» در وبلاگ آیرا. بازنویسی‌شده با تمرکز روی کاربر ایرانی و روایت شناخت پیوسته.

نوشتهٔ به‌روزرسانی: ۴ دقیقه مطالعه
تصویر مقالهٔ Stable Diffusion

اگه دنبال یه ابزار تولید تصویر هوشمند می‌گردی که مجانی، متن‌باز، و قابل اجرا روی لپ‌تاپ خودت باشه، اسم Stable Diffusion رو خیلی شنیدی. ولی چیه دقیقاً؟ چطور کار می‌کنه؟ و چرا یه‌سری آدم دیگه دارن سراغ Midjourney یا DALL-E می‌رن؟ این مقاله جواب این سوال‌ها رو صادقانه می‌ده.

Stable Diffusion دقیقاً چیه؟

Stable Diffusion یه مدل تولید تصویر مبتنی بر Diffusion هست که در سال ۲۰۲۲ توسط شرکت Stability AI منتشر شد. برخلاف DALL-E که پشت یه API بسته قرار داره، Stable Diffusion کدش رو کامل منتشر کرده — یعنی می‌تونی وزن‌های مدل رو دانلود کنی، روی GPU خودت اجرا کنی، و اون رو فاین‌تیون کنی.

ایده‌ٔ اصلی اینه: ابتدا یه تصویر پر از نویز رندوم تصور کن، بعد این مدل یاد گرفته چطور قدم‌به‌قدم از اون نویز یه تصویر معنادار بسازه — این فرایند «Diffusion معکوس» نام داره. متن پرامپت تو رهنمای این فرایند ساخت تصویر می‌شه.

معماری‌اش چطور کار می‌کنه؟

Stable Diffusion از سه بخش اصلی تشکیل شده:

۱. Text Encoder (رمزگذار متن): معمولاً از CLIP یا مشابهش استفاده می‌شه. پرامپت متنی تو رو به یه بردار عددی تبدیل می‌کنه که مدل می‌فهمه.

۲. U-Net: قلب مدل. این شبکه یاد گرفته چطور نویز رو در ۲۰ تا ۵۰ مرحله از تصویر پاک کنه — در حالی که راهنمای متن رو نگه می‌داره.

۳. VAE (Variational Autoencoder): کمک می‌کنه محاسبات در یه فضای «فشرده» انجام بشه تا سرعت بالا بره. در نهایت خروجی نهایی رو به پیکسل تبدیل می‌کنه.

این معماری باعث می‌شه حتی یه GPU معمولی با ۶-۸ گیگ VRAM بتونه در چند ثانیه تصویر بسازه.

نسخه‌های مختلف — کدوم رو انتخاب کنم؟

نسخهسالکیفیتنیاز VRAMویژگی برجسته
SD 1.52022پایه~4GBبزرگ‌ترین اکوسیستم LoRA
SD 2.12022بهتر~6GBرزولوشن ۷۶۸px
SDXL2023عالی~8GBتصویر ۱۰۲۴px پیش‌فرض
SD 3.52024چشمگیر~10GBمعماری جدید با Multimodal Diffusion Transformer

اگه GPU قدیمی داری، SD 1.5 هنوز بهترین انتخابه چون هزاران LoRA و ControlNet برای اون وجود داره. اگه کارت گرافیک خوبی داری، مستقیم برو سراغ SDXL یا SD 3.5.

ابزارهای اجرای Stable Diffusion

Automatic1111 (AUTOMATIC1111/stable-diffusion-webui): محبوب‌ترین رابط کاربری. از طریق مرورگر کار می‌کنه، پلاگین‌های زیادی داره. نقطه ضعف: کندتره و نصبش کمی پیچیده‌ست.

ComfyUI: رابط گره‌محور (Node-based) که انعطاف بیشتری داره. ایده‌آل برای workflow‌های پیچیده. یادگیریش سخت‌تره ولی قدرتمندتره.

Forge: فورک بهینه‌شده‌ٔ Automatic1111 که سریع‌تره و حافظه کمتری می‌خوره.

سرویس‌های ابری: اگه GPU نداری، Replicate، RunDiffusion، و Mage.space سرویس‌های ابری مبتنی بر SD دارن.

ControlNet — قابلیتی که همه رو شگفت‌زده کرد

یکی از قوی‌ترین افزونه‌های SD اینه که می‌تونی «کنترل» داشته باشی روی پوز، ترکیب‌بندی، و خطوط تصویر. ControlNet یه لایه اضافه‌ست که می‌ذاری روی تصویر مرجع و می‌گی «همین ترکیب‌بندی رو حفظ کن ولی سبک رو عوض کن.»

مثلاً: یه عکس از خودت می‌دی → ControlNet پوز بدنت رو استخراج می‌کنه → یه شخصیت انیمه با همون پوز می‌سازه.

مقاله جداگانه‌ای درباره ControlNet داریم اگه می‌خوای عمیق‌تر بری.

LoRA — سفارشی‌سازی سبک با حجم کم

LoRA (Low-Rank Adaptation) یه روش فاین‌تیونینگ سبک است که بدون آموزش کل مدل، یه «سبک» خاص رو یاد می‌گیری. فایل‌های LoRA معمولاً ۵۰-۲۰۰ مگابایته (برخلاف مدل اصلی که ۲-۷ گیگابایته).

می‌تونی LoRA برای سبک نقاشی ایرانی، سبک خاص یه هنرمند، یا حتی چهره‌ٔ خودت بسازی.

محدودیت‌های واقعی — رو صادق باشیم

Stable Diffusion خوبه ولی چند مشکل جدی داره:

دست‌ها: مدل‌های قدیمی‌تر با رندر کردن دست‌ها مشکل دارن — انگشت اضافه، شکل عجیب. SD 3.5 بهبود زیادی آورده ولی هنوز کامل نیست.

متن درون تصویر: نوشتن متن خوانا درون تصویر برای SD سخته. برای این کار DALL-E 3 یا مدل‌های جدیدتر مناسب‌ترن.

نیاز به GPU: برای اجرای محلی به GPU Nvidia نیاز داری. AMD هم با ROCm کار می‌کنه ولی پشتیبانی ضعیف‌تریه. Mac با Apple Silicon هم از طریق CoreML کار می‌کنه ولی کندتره.

محتوای فارسی: اگه پرامپت فارسی بنویسی نتیجه می‌گیری ولی مدل اصلاً روی متن فارسی train نشده — باید به انگلیسی پرامپت بنویسی برای نتیجه بهتر.

Stable Diffusion در مقابل Midjourney و DALL-E

معیارStable DiffusionMidjourneyDALL-E 3
قیمترایگان (محلی) / مقروناشتراک ماهانهپولی / API
کنترلزیادمتوسطکم
کیفیت پیش‌فرضنیاز به تنظیمعالی بدون تنظیمخوب
متن در تصویرضعیفمتوسطعالی
فیلترهای محتواییکم (محلی)زیادزیاد

انتخاب بین اینا بستگی داره به اینکه چقدر می‌خوای روی نتیجه کنترل داشته باشی و چقدر حاضری وقت برای تنظیمات بذاری.

کجا شروع کنم؟

اگه تازه‌کاری: ۱. یه حساب در Replicate.com یا DreamStudio بساز (بدون نیاز به GPU محلی) ۲. با SDXL شروع کن — پرامپت‌های ساده بنویس، ببین چی دوست داری ۳. بعد از اینکه با مفاهیم آشنا شدی، Automatic1111 یا ComfyUI رو محلی نصب کن

اگه توسعه‌دهنده هستی و می‌خوای SD رو در یه پروژه‌ٔ کدنویسی ادغام کنی، کتابخانه‌ٔ diffusers از Hugging Face بهترین نقطه شروعه.

همچنین بخوان

#تصویر و ویدیو

ادامهٔ مسیر

همهٔ مقاله‌ها ←

بیشتر در «تصویر و ویدیو»