چالش حافظه‌ای در مدل‌های دیفیوژن مدرن

در ماه‌های اخیر، استفاده از معماری‌های ترنسفورمر به عنوان ستون فقرات مدل‌های دیفیوژن برای تولید تصاویر با رزولوشن بالا افزایش یافته است. این مدل‌ها که جایگزین معماری UNet شده‌اند، مقیاس‌پذیری بالایی دارند و از ۰.۶ تا ۸ میلیارد پارامتر ارائه می‌شوند. اما یکی از بزرگ‌ترین مشکلات فعلی، نیاز به فضای حافظه عظیم برای اجرای این مدل‌هاست. یک خط لوله دیفیوژن استاندارد نه تنها شامل کدکننده متن و دکرودر تصویر است، بلکه اغلب از چندین کدکننده متن نیز استفاده می‌کند. به عنوان مثال، در مدل Stable Diffusion 3، سه کدکننده متن وجود دارد که مجموعاً به فضای بسیار بالایی نیاز دارند و اجرای آن‌ها را بر روی کارت‌های گرافیک معمولی دشوار می‌سازد.

نقش‌آفرینی Quanto در بهینه‌سازی مدل‌ها

برای غلبه بر این محدودیت،-team توسعه‌دهنده Hugging Face از کتابخانه Quanto استفاده کرده است. این ابزار امکان اجرای مدل‌های دیفیوژن با پهنای بیت کمتر را فراهم می‌کند. در این فرآیند، وزنه‌های مدل به جای ذخیره با دقت 16 یا 32 بیتی، با دقت‌های پایین‌تر مانند 8 یا 4 بیت ذخیره می‌شوند. این رویکرد باعث می‌شود تا حجم فایل مدل به طور قابل توجهی کاهش یابد و در نتیجه، مدل‌های بزرگ‌تر نیز بر روی سخت‌افزارهای با حافظه محدود قابل اجرا باشند. اهمیت این موضوع زمانی بیشتر آشکار می‌شود که بخواهیم مدل‌های پیشرفته هوش مصنوعی را بدون نیاز به سرورهای گرانقیمت و دیتاسنترهای صنعتی، اجرا و آزمایش کنیم.

کاربردهای عملی و نکات فنی

نتایج حاصل از این روش نشان می‌دهد که برای رسیدن به بهترین تعادل بین کیفیت تصویر و مصرف منابع، استفاده از فرمت‌های کوانتایز شده بسیار مؤثر است. در حال حاضر، فرمت bfloat16 بر روی کارت‌های گرافیک جدیدتر مانند H100 عملکرد بهتری نشان می‌دهد، اما برای کارت‌های مصرفی یا سرورهای قدیمی‌تر، کوانتایز کردن به فرمت INT8 یا حتی INT4 می‌تواند راه نجات باشد. این امکان به توسعه‌دهندگان و پژوهشگران اجازه می‌دهد تا مدل‌های هوش مصنوعی بزرگ‌تر را از جمله مدل‌های تولید ویدیو را با منابع محدودتری آزمایش کنند. همچنین قابلیت ذخیره و بارگیری مدل‌های کوانتایز شده، فرایند انتشار و استفاده مجدد از این دانش را تسهیل می‌کند و اکوسیستم هوش مصنوعی متن باز را تقویت می‌نماید.

  • کاهش چشمگیر مصرف RAM و VRAM بدون افت محسوس کیفیت خروجی.
  • امکان اجرای مدل‌های چند میلیارد پارامتری بر روی GPUهای معمولی.
  • سازگاری کامل با خط لوله‌های Diffusers موجود در Hugging Face.
  • تقویت دموکراتیزه‌سازی فناوری‌های پیشرفته تولید تصویر با هوش مصنوعی.

پرسش‌های پرتکرار

Quanto چیست و چگونه به کاهش مصرف حافظه کمک می‌کند؟

Quanto یک کتابخانه برای کوانتایز کردن مدل‌های هوش مصنوعی است که دقت حفظی وزنه‌ها را کاهش می‌دهد تا حجم مدل و در نتیجه مصرف حافظه گرافیکی (VRAM) به طور قابل توجهی کم شود.

آیا کوانتایز کردن به INT4 کیفیت تصاویر تولید شده را خراب می‌کند؟

کوانتایز به INT4 همیشه بهترین گزینه نیست و ممکن است باعث افت جزئی کیفیت شود، اما برای بسیاری از کاربردها، این میزان فشرده‌سازی پذیرفته شده است و امکان اجرای مدل‌های بسیار بزرگ را فراهم می‌کند. انتخاب مناسب معمولاً به سخت‌افزار در دسترس بستگی دارد.