مقدمه
\nدر دنیای امروز مدلهای مولد تصویر مانند FLUX.1‑dev، توان تولید تصاویر با کیفیت بالاست. اما معماری پیشرفته این مدلها، حجم حافظهٔ بیسزایی را به همراه دارد. در این مطلب بهویژه قصد داریم نشان دهیم چگونه تعبیه تکنیک LoRA و QLoRA، بهاشتراکگذاری دادههای تکمیلی و استفاده از حافظهٔ کم، امکان Fine‑Tuning این مدل بر روی سختافزارهای خانگی را ممکن میسازد.
\nتنظیمات و مراحل Fine‑Tuning
\nابتدا باید فریمورک Diffusers و کتابخانههای لازم را نصب کنیم. سپس با استفاده از qlora مدل را در قالب نگهدارندهٔ پارامترها (LoRA adapters) بارگذاری میکنیم و در مرحلهی بعد، فرآیند fine‑tuning را اجرا میکنیم. برای صرفهجویی در مصرف حافظه، پیشمحاسبهٔ embeddingهای متن با CLIP/T5 یا استفاده از torchao را پیشنهاد میکنیم. در انتها نوشتن کد با مدیریت حافظه و 16 بیتی، GPU را در حدود 10 جیبه نگه میدارد.
\n- \n
- استفاده از QLoRA برای کاهش پارامترهای قابل آموزش به صورت 4 بیتی. \n
- پیشمحاسبهٔ embeddingهای متن (CLIP/T5) در حافظهٔ ثابت. \n
- استفاده از torchao برای کاهش حافظهٔ دینامیکی مدل. \n
- بارگذاری LoRA Adapters بهجای تداخل کامل مدل پایه. \n
- اجرای در محیط گوگل کولاب برای دسترسی آسان به GPU 12 جیبه. \n
نتایج: مقایسه بین مدل پایه و مدل فاین‑تیوِن QLoRA (fp16)
\nپس از پردازش، فایل مدل QLoRA در حافظهٔ 1.5 جیبه قرار گرفته و توان تولید تصویر با رزولوشن 512x512 را بهصورت نزدیک به مدل پایه حفظ نموده است. مطالعات نشان میدهد کاهش حافظهٔ 70% و زمان آموزش 30%، هنوز کیفیت قابل قبولی را ارائه میدهد.
\nاجرای مدل و راهکارهای بهرهبرداری
\nبرای inference، دو گزینه وجود دارد: (۱) بارگذاری مستقیم LoRA adapters روی مدل پایه، یا (۲) ادغام LoRA با مدل پایه و ذخیره نهایی. در نمونهٔ گوگل کولاب، با اعمال روشون ۲، سرعت تولید تصویر حدود 2.5 ثانیه برای هر نمونه میباشد.
\nنتیجهگیری
\nاین پروژه نشان میدهد که با بهرهگیری از LoRA و QLoRA میتوان مدلهای مولد تصویر پیشرفته را بر روی سختافزارهای کمهزینه بهکار گرفت و از قدرت ایجاد محتوا بهره برد. ما از جامعهٔ Hugging Face دعوت میکنیم که دستاوردهای خود را به هاب مربوطه اضافه کنند تا سرویسگسترش این مدلها به رسانههای دیگر هم گسترش یابد.
پرسشهای پرتکرار
چه سختافزاری برای اجرای این آموزش لازم است؟
ابتدا میتوانید از یک کارت گرافیک با حافظه حداقل 8 جیبه یا بهتر از آن، ولی در حالت گوگل کولاب شما فقط به 12 جیبه حافظه GPU نیاز دارید.
تصاویر خروجی تا چه کیفیتی تولید میشود؟
تصاویر تولید شده با QLoRA و پیشمحاسبه embedding، کیفیت نزدیک به خروجی مدل پایه را حفظ میکنند؛ برای رزولوشن 512×512 بین 90٪ تا 95٪ از وضعیت همان مدل بدون فاین‑توینگ باقی میماند.