AI Infrastructure

تسلط بر RDMA و InfiniBand برای خوشه‌های آموزش مدل‌های زبانی بزرگ با عملکرد بالا

با مقیاس‌پذیری مداوم مدل‌های زبانی بزرگ (LLM)، گلوگاه از محاسبات به ارتباطات منتقل شده است. هنگام آموزش مدل‌هایی با صدها میلیارد پارامتر، زمانی که برای انتظار همگام‌سازی گرادیان‌ها در سراسر هزاران GPU سپری می‌شود، ممکن است از زمان صرف‌شده برای محاسبات واقعی بیشتر باشد. در اینجا است که دسترسی مستقیم به حافظه از راه دور بهینه‌شده (RDMA) و شبکه‌های InfiniBand (IB) به عنوان اجزای زیرساخت حیاتی ظاهر می‌شوند. برای مهندسان هوش مصنوعی و تیم‌های زیرساخت، درک نحوه تنظیم این پروتکل‌ها دیگر یک انتخاب نیست—بلکه برای دستیابی به زمان آموزش رقابتی (TTT) ضروری است.

درک مزیت RDMA

شبکه‌های سنتی برای انتقال داده به هسته سیستم‌عامل متکی هستند: کارت شبکه (NIC) داده‌ها را از فضای کاربر به فضای هسته و سپس به شبکه کپی می‌کند. این فرآیند تأخیر و سربار پردازنده قابل توجهی ایجاد می‌کند. RDMA کاملاً از هسته دوری می‌کند و اجازه می‌دهد داده‌ها با معنای بدون کپی (zero-copy) مستقیماً از حافظه یک ماشین به ماشین دیگر منتقل شوند. برای آموزش توزیع‌شده، این بدان معناست که استفاده از پهنای باند بیشتر و تأخیر به شدت کاهش‌یافته، که برای عملیات ارتباطات جمعی مانند All-Reduce حیاتی است.

برای بهره‌برداری مؤثر از این قابلیت، باید اطمینان حاصل کنید که خوشه شما از پشته صحیح استفاده می‌کند. بیشتر چارچوب‌های مدرن هوش مصنوعی، مانند PyTorch یا JAX، از NCCL (کتابخانه ارتباطات جمعی NVIDIA) به عنوان بک‌اند پیش‌فرض استفاده می‌کنند. NCCL برای GPUهای NVIDIA و آداپتورهای InfiniBand به شدت بهینه‌سازی شده است. با این حال، پیکربندی‌های پیش‌فرض اغلب عملکرد را نادیده می‌گیرند.

بهینه‌سازی متغیرهای محیطی و پیکربندی NCCL

اهرم‌های اصلی بهینه‌سازی، متغیرهای محیطی هستند که به job آموزش شما پاس داده می‌شوند. پیکربندی نادرست در اینجا می‌تواند منجر به انتخاب مسیر نامناسب، ثبت گزارش‌های بیش از حد یا حتی زمان‌های انتظار شبکه در طول همگام‌سازی‌های مقیاس بزرگ شود. در زیر یک نمونه پیکربندی قوی برای یک خوشه با غلبه InfiniBand آورده شده است.

# فعال‌سازی اشکال‌زدایی NCCL برای رفع اشکال (در محیط تولید با احتیاط استفاده شود)
export NCCL_DEBUG=WARN

# اجبار NCCL به استفاده از بهترین رابط موجود (معمولاً mlx5 برای IB)
export NCCL_SOCKET_IFNAME=eth0
export NCCL_IB_HCA=mlx5

# بهینه‌سازی برای پهنای باند بالا
export NCCL_IB_GID_INDEX=3
export NCCL_IB_TIMEOUT=22
export NCCL_IB_QPS_PER_CONNECTION=4
export NCCL_IB_TC=41

# اطمینان از انتقال قابل اعتماد برای آموزش توزیع‌شده
export NCCL_NET_GDR_LEVEL=2

پارامترهای کلیدی که باید مورد توجه قرار گیرند شامل NCCL_IB_QPS_PER_CONNECTION است. افزایش این مقدار از پیش‌فرض 1 به 4، اجازه می‌دهد تا چندین جفت صف (queue pair) در هر اتصال وجود داشته باشد که به طور مؤثر پهنای باند را تجمیع کرده و تقاضا را کاهش می‌دهد. به طور مشابه، NCCL_NET_GDR_LEVEL=2 قابلیت GPU Direct RDMA را فعال می‌کند که به آداپتور InfiniBand اجازه می‌دهد مستقیماً به حافظه GPU دسترسی پیدا کند و کپی‌های حافظه CPU را کاملاً دور بزند.

آگاهی از توپولوژی و معماری شبکه

بهینه‌سازی فقط نرم‌افزار نیست؛ بلکه فیزیکی است. در خوشه‌های بزرگ، توپولوژی شبکه نقش حیاتی ایفا می‌کند. یک توپولوژی درختی استاندارد می‌تواند منجر به گلوگاه در سوئیچ‌های ریشه در طول عملیات All-Reduce شود. خوشه‌های مدرن اغلب از توپولوژی‌های fat-tree یا dragonfly برای اطمینان از پهنای باند بدون مسدود شدن بین تمام نودها استفاده می‌کنند.

علاوه بر این، اطمینان حاصل کنید که سوئیچ‌های InfiniBand شما با تنظیمات QoS مناسب پیکربندی شده‌اند. شکل‌دهی ترافیک باید ترافیک آموزش را بر ترافیک اداری یا پشتیبان‌گیری اولویت دهد. از ابزارهایی مانند ibstat و perftest برای اعتبارسنجی سرعت لینک و تأخیر استفاده کنید. یک آزمایش ساده ib_write_bw می‌تواند نشان دهد که آیا آداپتورهای شما با سرعت مورد انتظار (مثلاً 200 گیگابیت بر ثانیه یا 400 گیگابیت بر ثانیه) مذاکره می‌کنند یا خیر و آیا شمارنده‌های خطا در حال افزایش هستند که نشان‌دهنده مشکلات لایه فیزیکی است.

مانیتورینگ و رفع اشکال

پس از استقرار، مانیتورینگ مداوم ضروری است. از Prometheus و Grafana برای ردیابی معیارهایی مانند زمان ارتباطات NCCL، اشباع PCIe و خطاهای لینک InfiniBand استفاده کنید. اگر افزایش ناگهانی در زمان همگام‌سازی مشاهده کردید، به دنبال پیام‌های "NCCL WARN" در گزارش‌های خود بگردید که اغلب نشان می‌دهند الگوریتم به مسیر کندتری (مثلاً TCP به جای IB) بازگشته است.

نتیجه‌گیری

بهینه‌سازی RDMA و InfiniBand برای آموزش LLM یک چالش چندلایه است که شامل انتخاب سخت‌افزار، پیکربندی درایورها و تنظیمات سطح برنامه می‌شود. با اجرای استراتژی‌های فوق—به ویژه GPU Direct RDMA و پارامترهای بهینه‌شده NCCL—می‌توانید اطمینان حاصل کنید که خوشه شما با حداکثر کارایی عمل می‌کند، چرخه‌های محاسباتی هدر رفته را به حداقل می‌رساند و مسیر همگرایی مدل را تسریع می‌کند. در مسابقه برای ساخت هوش مصنوعی هوشمند‌تر، هر میلی‌ثانیه صرفه‌جویی در تأخیر ارتباطی یک مزیت رقابتی است.

Share: