مسئله و چالش‌های اولیه

تولید تصاویر با مدل‌های Stable Diffusion اغلب به گرافیک قدرتمند گره می‌شود و در محیط‌های بدون GPU، زمان اجرای طولانی و هزینه‌بر است. این مقاله نشان می‌دهد چگونه با استفاده از پردازنده‌های Intel Xeon Sapphire Rapids و ابزارهای بهینه‌سازی، می‌توان بهره‌وری این مدل‌ها را به طور چشمگیری بهبود بخشید.

استفاده از میزبانی Amazon EC2 R7iz و پیش‌نیازهای نرم‌افزاری

برای دستیابی سریع به حافظه و پردازش صفر، عموماً از نمونه‌های r7iz.metal-16xl در Amazon EC2 بهره می‌گذارند. این نمونه‌ها دارای 64 vCPU و 512 GB حافظه رم است و با Ubuntu 20.04 AMI (ami‑07cd3e6c4915b2d18) نصب می‌شود. پس از راه‌اندازی، نصب کتابخانه diffusers و optimum‑intel مرحله کلیدی را تشکیل می‌دهد.

بهینه‌سازی سطح سیستم با Optimum و OpenVINO

کتابخانه optimum‑intel باعث می‌شود تا مدل Stable Diffusion به صورت native بر روی CPUهای Intel با آرایش‌های داده BF16 اجرا شود. ویژگی‌های جدید hpb و نکات ضبط زمان‌بردن (profiling) در این کتابخانه، امکان راندمان بالا را فراهم می‌آورند.

روش‌های کلیدی برای افزایش سرعت

  • استفاده از BFloat16 (BF16) برای کاهش مصرف حافظه و افزایش سرعت محاسبات.
  • پیاده‌سازی OpenVINO برای بهینه‌سازی حلقه‌های تکرار و اتوماسیون کتابخانه‌سازی.
  • اکتیویشن پارالل سازی (parallelism) در برش و تکرار مدل با استفاده از تقسیم‌بندی توزیع (distributed).
  • تجزیه و تحلیل profilers برای پیدا کردن گلوگاه‌های کم کارایی و رفع آن‌ها.

نتیجه‌گیری و چشم‌انداز آینده

با میزبانی در نمونه‌های Sapphire Rapids و بهره‌گیری از ابزارهای Optimum و OpenVINO، امکان اجرای مدل Stable Diffusion در زمان‌های چند ثانیه‌ای بر CPUها فراهم می‌شود. پژوهشگران و توسعه‌دهندگان می‌توانند این تکنیک‌ها را در محیط‌های واقعی به کار گیرند و به صورت مسطح‌تر به توسعه مدل‌های هوش مصنوعی دست یابند.

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

چگونه می‌توانم نمونه‌ی R7iz را در AWS فعال کنم؟

برای دسترسی به نمونه‌های پیش‌نمایش، باید در AWS در بخش EC2 و در ناحیهٔ <em>us-east-1</em> به فاکتور «R7iz» درخواست دهید و مجوز مصرف را بپذیرید. پس از تأیید، می‌توانید نمونه را راه‌اندازی کنید.

آیا می‌توانم با استفاده از این تکنیک‌ها مدل Stable Diffusion را روی کامپیوترهای خانگی اجرا کنم؟

بله، با وجود که CPUهای خانگی عموماً کمتر قدرتمندند، روش‌های BF16 و OpenVINO می‌توانند زمان اجرای را کاهش داده و راندمان قابل قبولی ارائه کنند، البته بسته به سخت‌افزار مکانی، نتایج ممکن است متغیر باشد.