مقالات

طراحی یک شبکه مرکز داده مدرن برای بارهای کاری هوش مصنوعی – {networkphil}


سریعترین GPU فقط به سرعت کندترین بسته است.

برای سال‌ها، طراحی مرکز داده توسط چگالی محاسباتی، کارایی مجازی‌سازی و الگوهای ترافیکی شرق به غرب که جریان‌های بسیار کوچک بر آن حاکم است، هدایت می‌شود. وقتی وارد محیط های یادگیری هوش مصنوعی می شوید، این مدل کاملاً خراب می شود. چیزی که اکنون می سازید فقط یک مرکز داده سنتی نیست. این یک سیستم محاسباتی توزیع شده و هماهنگ است که در آن شبکه یک جزء عملکرد برتر است.

شبکه همان سیستم است

در آموزش هوش مصنوعی در مقیاس بزرگ، هزاران GPU در مراحل کاملاً هماهنگ کار می کنند. آنها به صورت محلی محاسبه می‌کنند، سپس گرادیان‌ها، وزن‌ها و پارامترها را در توالی‌های همگام‌شده مبادله می‌کنند. این جوهر بار است.

این به این معنی است که ترافیک متناوب، هماهنگ و گسترده است. جریان ها کوچک و تصادفی نیستند (آنها بر اساس طراحی جریان های فیل هستند) و شبکه مستقیماً بر زمان تکمیل کار (JCT) تأثیر می گذارد. و به خصوص برای آموزش هوش مصنوعی، JCT معیاری است که اهمیت دارد.

در یک مرکز داده آموزشی هوش مصنوعی، ما در مورد مدل های جمعی مانند کاهش کلی، مجموع همه و همگام سازی پارامترها صحبت می کنیم. از آنجایی که آموزش هماهنگ است، عملکرد به جای میانگین، با تأخیر صف تعیین می شود. یک رشته یا یک مسیر متراکم می تواند کل آموزش هزاران GPU را کند کند.

این پارچه‌ها معمولاً به سطوح کنترلی ساده و مقیاس‌پذیر، معمولاً BGP با ECMP، برای ارائه ارسال چند مسیری قابل پیش‌بینی متکی هستند، اگرچه رفتار همگرایی باید به دقت در این مقیاس در نظر گرفته شود.

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

تغییر معماری در مقیاس

در مراکز داده‌ای که برای آموزش هوش مصنوعی ساخته شده‌اند، معماری غالب هنوز برگ‌خار است، اما اصول طراحی متفاوت است.

اولاً، تقارن غیرقابل مذاکره است. مسیرهای با هزینه برابر باید واقعاً برابر باشند، یعنی پهنای باند یکسان از برگ تا ستون فقرات، تعداد پیوندهای ثابت بین لایه‌ها و حداقل تفاوت تأخیر.

دوم، رونویسی به طور موثر در بافت آموزشی حذف می شود. در مراکز داده سنتی‌تر، حتی برخی از مراکز داده با کارایی بالا، می‌توانیم با اشتراک بیش از حد 3:1 یا 5:1 کنار بیاییم. خوشه‌های هوش مصنوعی 1:1 هستند. این به این دلیل است که وقتی هزاران پردازنده گرافیکی همزمان در حال همگام سازی و پخش جریانی هستند، حتی یک بازنویسی جزئی باعث ازدحام، تنگناها و محاسبات کند می شود. و در حالی که عدم مسدود کردن 1:1 برای پارچه‌های آموزشی هوش مصنوعی ایده‌آل است، در عمل برخی از معماری‌ها اشتراک بیش از حد کنترل‌شده با دقت فراتر از محدودیت یک غلاف یا کلاستر را معرفی می‌کنند.

سوم، رادیکس بیش از هر زمان دیگری اهمیت دارد. سوئیچ‌های ریشه‌ای بزرگ تعداد سطوح را کاهش می‌دهند که باعث کاهش تعداد پرش، تأخیر، مصرف انرژی و البته پیچیدگی عملیاتی می‌شود. به عبارت دیگر، هر چه تعداد پورت های یک سوئیچ بیشتر باشد، شبکه صاف تر و سریع تر خواهد بود. این به معنای کاهش تاخیر و قدرت است.

بین فرم ثابت و سوئیچ‌های شاسی، طرح‌های Clos و پروانه‌ای و غیره معاوضه‌های ذاتی وجود دارد، اما هدف اصلی همیشه یکسان است: مش را تا حد امکان صاف و سریع کنید.

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

جریان فیل و ریز انفجار

مراکز داده سنتی جریان های بسیار کوتاه مدت را مدیریت می کنند، در حالی که مراکز داده هوش مصنوعی این کار را نمی کنند. درعوض، ترافیک معمولی در حین اجراهای آموزشی در یک مرکز داده هوش مصنوعی، جریان‌های فیل طولانی مدت و با پهنای باند بالا در فوران‌های همگام‌سازی شده با سرعت خط است. علاوه بر این، شما هنوز هم باید با شرایط انفجاری و میکرو انفجاری مقابله کنید.

TCP incast جایی است که چندین سرور همگام شده داده ها را به طور همزمان به یک گیرنده ارسال می کنند و باعث می شود سوئیچ ها بسته ها را رها کنند. در یک مرکز داده هوش مصنوعی، ترافیک زیادی RDMA (RoCEv2) است، که به این معنی است که incast هنوز اتفاق می افتد، اما با PFC و ECN متفاوت است. به جای ریزش بسته های خالص، شاهد افزایش رویدادهای مکث و صف خواهید بود.

این دو مشکل اصلی ایجاد می کند.

اول، قطبش هشجایی که جریان‌های فیل بزرگ به دلیل آنتروپی هش محدود به زیر مجموعه‌ای از مسیرهای ECMP متصل می‌شوند، ممکن است منجر به استفاده ناهموار از پیوند شود.

دوم، فشار بافر و ریزش انفجار ممکن است زمانی اتفاق بیفتد که صف ها در میکروثانیه پر شوند.

حتی یک مسیر متراکم می‌تواند کل چرخه آموزشی را متوقف کند، به همین دلیل است که پارچه‌های مدرن به طور فزاینده‌ای به متعادل‌سازی بار پیشرفته، مسیریابی حساس به تراکم، صف‌بندی بسیار ریز دانه و در برخی از طرح‌ها، پخش بسته‌ها، که به دلیل مشکلات احتمالی رفتار RDMA می‌تواند بحث‌برانگیز باشد، متکی هستند.

اترنت بدون تلفات و کنترل ازدحام

پارچه های هوش مصنوعی اترنت را به قلمروی که از لحاظ تاریخی (اما به طور رو به کاهش) متعلق به InfiniBand است رانده می کنند. برای پشتیبانی از ارتباطات GPU به GPU، شبکه ها به گونه ای طراحی شده اند که با استفاده از فناوری هایی مانند:

  • RoCE (RDMA از طریق اترنت همگرا)
  • کنترل جریان اولویتی (PFC)
  • اعلامیه ازدحام سریع (ECN)

این مکانیسم ها رفتار شبکه را تغییر می دهند به طوری که افت ها به حداقل می رسد، ازدحام به صورت صف و مکث فریم ظاهر می شود و تأخیر به سیگنال غالب تبدیل می شود. اما برخی از چالش ها را نیز معرفی می کند.

اگرچه هیچ شبکه اترنت واقعاً بدون تلفات نیست، اما این پارچه‌ها برای به حداقل رساندن افت در شرایط مورد انتظار با استفاده از مکانیسم‌هایی مانند PFC طراحی شده‌اند. با این حال، این موضوع را تغییر می دهد. یک PFC با تنظیم ضعیف در واقع می تواند تراکم را منتشر کند، گریدلاک را ایجاد کند و در بدترین موارد منجر به شرایط بن بست شود.

قابلیت مشاهده

در این مقیاس، نظارت سنتی تقریباً بی فایده است. نظرسنجی هر 30 تا 60 ثانیه باعث بروز انفجارهای کوچک، تراکم کوتاه مدت، یا مشکلات اتصال گذرا نمی شود. در عوض، شبکه‌های مرکز داده هوش مصنوعی به جریان‌سنجی تله‌متری با وضوح بالا متکی هستند که بر سیگنال‌هایی مانند عمق صف و استفاده از بافر، PFC «زمان در مکث» و نرخ‌های علامت‌گذاری ECN متمرکز است.

به یاد داشته باشید که حالت شکست واقعی در شبکه های هوش مصنوعی ناپیوستگی آشکار نیست. این یک تنزل عملکرد بی صدا است. یک اتصال ضعیف می تواند JCT را چند دقیقه یا چند ساعت افزایش دهد. حتی بدتر از آن، خرابی اتصال می‌تواند باعث عقب‌گردی در ایست بازرسی شود و بخش‌های بزرگی از یک دوره آموزشی را لغو کند.

برخی از معیارهای مهمی که برای یک مرکز داده هوش مصنوعی نیاز داریم عبارتند از:

  • عمق دم
  • رویدادهای ECN
  • رویدادهای PFC
  • تصحیح FEC
  • انتقال مجدد سطح پیوند
  • تله متری در سطح NIC

طراحی برای زمان برای تکمیل کار

همه چیز در یک مرکز داده هوش مصنوعی در نهایت به JCT متصل است. شما برای استفاده از اتصال، تأخیر متوسط ​​یا توان عملیاتی به صورت جداگانه بهینه سازی نمی کنید. در عوض، شما در حال بهینه سازی برای حداکثر استفاده از GPU و به حداقل رساندن هزینه های ارتباطی هستید.

این منجر به مجموعه ای متفاوت از اولویت ها می شود. برای یک مرکز داده هوش مصنوعی، اهداف حذف پرش های غیرضروری، به حداقل رساندن ارسال مجدد، و برخورد با قابلیت مشاهده به عنوان یک شهروند درجه یک است تا بتوانیم از تراکم قبل از وقوع جلوگیری کنیم و بلافاصله مشکلات را برطرف کنیم.

حتی کاهش 10 تا 20 درصدی JCT مستقیماً به هزینه کمتر GPU، تکرار مدل سریع‌تر و از منظر تجاری، یک مزیت رقابتی واقعی تبدیل می‌شود.

فراتر از شبکه

یکی از بزرگترین اشتباهات مهندسان جداسازی شبکه از بقیه سیستم است. مراکز داده هوش مصنوعی سیستم‌های کاملاً یکپارچه‌ای هستند که شامل محاسبات (GPU، CPU، شتاب‌دهنده)، ذخیره‌سازی داده‌ها و خطوط لوله، بافت شبکه و البته برق و خنک‌کننده نیز می‌شوند.

صنعت به طور فعال در حال توسعه اترنت برای پشتیبانی بهتر از این حجم کاری است. ابتکاراتی مانند کنسرسیوم Ultra Ethernet بر بهبود مدیریت ازدحام، رفتار حمل و نقل و هماهنگی بین NICها و بافت شبکه متمرکز شده است و اترنت را به ویژگی های عملکردی که از لحاظ تاریخی مرتبط با اتصالات HPC بوده است، نزدیکتر می کند.

به یاد داشته باشید، برای هوش مصنوعی مرکز داده، شما فقط یک شبکه طراحی نمی کنید. شما یک سیستم می سازید که در آن:

  • شبکه بخشی از کامپیوتر است
  • عملکرد در زمان برای تکمیل کار اندازه گیری می شود
  • و ناکارآمدی های کوچک هزینه های زیادی را به همراه دارد

در این مقیاس، تصمیمات معماری واقعاً تصمیمات تجاری هستند، نه صرفاً فنی. و تفاوت بین یک طراحی خوب و یک طراحی عالی در سرعت تبدیل GPU به نتیجه اندازه گیری می شود.

متشکرم

فیل


Source link

نوشته های مشابه

دیدگاهتان را بنویسید

دکمه بازگشت به بالا