معرفی Stable Diffusion 3.5 Large
Stable Diffusion 3.5 Large نسخهای پیشرفتهتر از مدل Stable Diffusion 3 است که با بهروزرسانیهای معماری و بهینهسازیهای مهم عرضه شده است. این مدل با معماری transformer مشابه ورژن قبلی و چند تغییر کلیدی، توانایی تولید تصاویر با کیفیت بالاتر و کنترل دقیقتر بر روی خروجی را فراهم میکند.
نحوه نصب و اجرای مدل با Diffusers
برای استفاده از نسخه Large در رپوزیتوری Diffusers، ابتدا باید کتابخانهای را نصب کنید که به راحتی میتواند به ریپوزیتوری مدل در Hugging Face دسترسی پیدا کند. دستور زیر در محیطی که Python نصب است، عمل نصب را انجام میدهد:
- pip install diffusers==0.25.1 transformers accelerate -U gitpython
- pip install --upgrade datasets -U
- pip install einops -U
- pip install scipy -U
سپس در یک اسکریپت پایتون، مدل را بارگذاری میکنیم و از آن برای تولید تصویر استفاده میکنیم:
from diffusers import StableDiffusionPipeline pipe = StableDiffusionPipeline.from_pretrained('stability-ai/stable-diffusion-3.5-large', torch_dtype=torch.float16).to('cuda') image = pipe('یک کوه در شب روشن با نور مهتاب').images[0] image.save('output.png')بهینهسازی با کوانتیزیشن و آموزشی LoRA
یکی از ویژگیهای جذاب SD3.5 Large این است که میتوان آن را با کمک کوانتیزیشن به فلترهای 8‑bit تبدیل کرده تا مصرف حافظه به شدت کاهش یابد. برای این کار از کتابخانه bitsandbytes استفاده میکنیم. همچنین آموزش LoRA برای افزایش قابلیت شخصیسازی مدل در حین نگهداشتن حجم کم، بسیار مناسب است.
from diffusers import StableDiffusion3_5Pipeline from peft import LoraConfig, get_peft_model config = LoraConfig(rank=8, target_modules=['lora_head', 'lora_text']) pipe = StableDiffusion3_5Pipeline.from_pretrained('stability-ai/stable-diffusion-3.5-large') pipe = get_peft_model(pipe, config) # آموزش LoRA میتواند در حلقههای epoch انجام شود.نکات اجرایی و دسترسی به مدل
مدل Stable Diffusion 3.5 Large در Hub Hugging Face حراستپذیر است و توسط تیم قدیمی Diffusers maintain میشود. برای استفاده از Endpoint های Cloud میتوان به Documentation مدل مراجعه کرد یا APIهای infer کلاود را به صورت زنده در پروژهتان امتحان کرد.
پرسشهای پرتکرار
نحوه نصب مدل SD3.5 در Diffusers چیست؟
ابتدا کتابخانه Diffusers و وابستگیهای مربوطه را نصب کنید، سپس از متد <code>StableDiffusionPipeline.from_pretrained</code> استفاده کنید و مدل را بر روی دستگاه CUDA لود کنید. اگر میخواهید از کوانتیزیشن 8‑bit بهره ببرید، از <code>torch_dtype=torch.float16</code> استفاده کنید.
چگونه LoRA را برای SD3.5 آموزش دهیم؟
میتوانید یک <code>LoraConfig</code> با پارامترهای مورد نظر ایجاد کنید و سپس از <code>peft.get_peft_model</code> برای افزودن لایههای LoRA به Pipeline استفاده کنید. پس از آن، مدل شود جهت آموزش LoRA تنظیم کنید و در حلقه آموزش به رخدادها متصل شوید و پارامترها را به روز کنید.