معرفی BLOOM و اهداف آن

در سال ۲۰۲۲، تیم متفکران حیوینگ فیس، با هدف ارتقا و دموکراتیزه کردن هوش مصنوعی، مدل زبانی پرپارامتر ۱۷۶ میلیارد پارامتر به نام BLOOM را معرفی کرد. این پروژه با استفاده از نرم‌افزارهای متن‌باز و در چهارچوب هفتۀ همکاری جامعهٔ علمی، امکان دسترسی عمومی به داده و ساختار مدل را فراهم آورد.

ارکیتمر و پارالل تشکیلات در آموزش BLOOM

  • Megatron‑DeepSpeed: مجموعه‌ای از ابزارهای مایکروسرویس برای ساخت و آموزش مدل‌های بزرگ، که به‌صورت موازی در چندین کارت گرافیک گسترش می‌یابد.
  • DP+PP (Data+Pipeline Parallelism): ترکیبی از هم‌زمان‌سازی خواندن داده و توزیع وظایف بین پردازنده‌ها بدون تداخل.
  • DP+PP+TP (Data+Pipeline+Tensor Parallelism): افزودن پارالیزم ترنسور به‌جای داده، که وزن‌های مدل را در بُعدهای مختلف تقسیم می‌کند.
  • ZeRO (Zero Redundancy Optimizer): اطمینان از استفاده کم‌حافظه از پارامترهای مدل و بهینه‌سازی هم‌زمان حافظه و پردازش.
  • BF16 و Optimizer Fusion: استفاده از فرمت ۱۶ بیتی متقاطع برای کاهش مصرف حافظه و خطاهای عددی، همراه با ادغام کندل‌های CUDA برای سرعت بیشتر.

انتخاب سخت‌افزار و بهینه‌سازی حافظه

آموزش BLOOM در یک شبکه چندین گره از GPUهای ۸۱۶GB H100 یا A100 انجام شد؛ ترکیب مبتنی بر ZeRO‑3 حافظه را تا ۱۰۰ برابر کاهش داده و اجازه می‌دهد شبکه‌ای مافوقه بدون حافظه ناکافی آموزش یابد. ARMایجها و لی‌اس سیستم‌های مکانیته به کمک این تنظیمات، می‌توانند هزینه نگهداری را به حداقل برسانند، در حالی که درج pipelining و tensor parallelism، پردازش را بهینه و زمان طولانی آموزش را کوتاه می‌کند.

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

چرا تعداد پارامترهای BLOOM ۱۷۶ میلیارد پارامتر؟

BLOOM برای پوشش دادن به‌دسته‌های زبان‌های مختلف و ارائه پاسخ‌های دقیق‌تر؛ ۱۷۶ میلیارد پارامتر امکان یادگیری الگوهای زبانی پیچیده و نگاه دقیق‌تر به متن‌های بلند را فراهم می‌کند.

آیا می‌توان BLOOM را روی یک سرور واحد اجرا کرد؟

به‌خاطر حجم پارامتر و مصرف حافظه، آموزش و اجرای کامل BLOOM در کنار CPUهای استاندارد یا حتی سوپر‌کارت گرافیکی محدود، غیرممکن است؛ بنابراین برای استفاده عملی حداقل ۴ کمپوت GPU ۸۱۶GB و استفاده از تکنیک‌های پارالیزم بیان‌شده ضروری است.