روند سریع‌سازی مدل BLOOM با DeepSpeed و Accelerate

مدلی با ۱۷۶ میلیارد پارامتر، BLOOM، یکی از بزرگ‌ترین مدل‌های زبانی آزاد است. برای ارائه سرعت بالا در تولید متن، تیم Hugging Face روش‌های جدیدی را معرفی کرده است که از ترکیب کتابخانه‌های DeepSpeed و Accelerate بهره می‌برد.

نکات سخت‌افزاری برای اجرای سریع

  • ۱۲۰ جی‌بی حافظه GPU – ۸ کارت A100 ۸۰ جی‌بی یا ۲ کارت A6000 ۴۸ جی‌بی
  • متغیرهای حافظه GPU – ۲۴ × ۳۲ جی‌بی V100 در صورت عدم دسترسی به کارت‌های A100

استفاده از چندین گره در همان سرور، به‌دلیل سرعت بیشتر لینکهای داخل گره (Intra‑node) نسبت به بین گره (Inter‑node)، معمولاً باعث می‌شود بهترین سرعت به‌دست آید.

چگونه با GPUهای کم‌حافظه همچنان استخراج انجام دهیم؟

اگر در دسترس نداشته باشید چندین کارت با حافظه بالا، می‌توانید از CPU یا ذخیره‌سازی NVMe بهره ببرید. با این حال، زمان تولید متن برای مدل ۱۷۶ میلیارد پارامتر به‌صورت پورتر بهبود نمی‌یابد؛ سرعت تولید نسبتاً کم خواهد بود.

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

برای اجرای مدل ۱۷۶ میلیارد پارامتر BLOOM به چه میزان حافظه GPU نیاز است؟

مدل در قالب نرمال (bf16) تقریباً ۳۵۲ گیگابایت حافظه GPU دارد. برای دستیابی به سرعت بالاتر، ۸ کارت A100 با ۸۰ گیگابایت هر کدام (یا ترکیبی مشابه) توصیه می‌شود.

اگر دسترسی به GPUهای بزرگ ندارم، چه راه‌حل دیگری برای استخراج محتوا وجود دارد؟

می‌توانید از پردازنده CPU یا نگهداری وزن‌ها بر روی NVMe استفاده کنید. البته در این حالت زمان توليد متن برای مدل بزرگ به طور قابل‌حسنی کند خواهد شد.