مایکروسافت با سیلیکون هوش مصنوعی سفارشی خود، پردازندههای سرور Arm، بارگذاری مجازیسازی و غیره، پایههای یک ابر Azure با شتاب سختافزاری را ایجاد میکند.
تاریخچه توسعه نرمافزار مدرن رقصی بین آنچه سختافزار میتواند ارائه دهد و آنچه نرمافزار میخواهد بوده است. طی دههها، مراحل این رقص ما را از Intel 8086 اصلی، که اکنون عملکرد بسیار ابتدایی آن را در نظر میگیریم، به پردازندههای چند وجهی امروزی منتقل کرده است که پشتیبانی مجازیسازی، دسترسی سرتاسر به حافظه و دادههای رمزگذاری شده را ارائه میکنند. و مجموعه دستورالعمل های توسعه یافته که سخت ترین پشته های برنامه را تامین می کند.
این رقص از این طرف به طرف دیگر می چرخد. گاهی اوقات نرم افزار ما باید برای برآورده کردن قابلیت های نسل جدید سیلیکون گسترش یابد، و گاهی اوقات مجبور است آخرین اونس عملکرد موجود را کاهش دهد. اکنون، بالاخره شاهد ورود نسل جدیدی از سختافزار هستیم که CPUهای آشنا را با شتابدهندههای جدید در سطح سیستم ترکیب میکند که توانایی اجرای مدلهای پیچیده هوش مصنوعی را هم بر روی سختافزار مشتری و هم در سرورها، هم در محل و هم در فضای ابری عمومی فراهم میکند.
شتابدهندههای هوش مصنوعی را نه تنها در پردازندههای آشنای اینتل و AMD، بلکه در جدیدترین نسل طراحیهای درجه سرور Neoverse Arm، که این ویژگیها را با نیازهای کم مصرف ترکیب میکنند (همانند ارائههای موبایل و لپتاپ کوالکام) پیدا خواهید کرد. این ترکیبی جذاب از ویژگیها برای ابرهای مقیاس بزرگ مانند Azure است، که در آن قدرت کم و چگالی بالا میتواند به کاهش هزینهها کمک کند و در عین حال به رشد ادامه دهد.
در عین حال، شتابدهندههای سطح سیستم آینده جالبی را برای ویندوز نوید میدهند و به ما امکان میدهند از دستیارهای هوش مصنوعی داخلی به عنوان جایگزینی برای ابر استفاده کنیم، زیرا مایکروسافت همچنان به بهبود عملکرد سری Phi از مدلهای زبان کوچک خود ادامه میدهد.
Azure Boost: سیلیکون برای بارگذاری مجازی سازی
Ignite 2023 مایکروسافت سیلیکون سفارشی خود را برای Azure اعلام کرد، سختافزاری که باید در سال ۲۰۲۴ برای مشتریان عرضه شود. مایکروسافت مدتی است که از سیلیکون و FPGA سفارشی در خدمات خود استفاده میکند. استفاده از فشردهسازی سختافزار Zipline و شتابدهندههای هوش مصنوعی مبتنی بر Project Brainwave FPGA نمونههای خوبی هستند. جدیدترین نسخه Azure Boost، که فرایندهای مجازیسازی را از Hypervisor و Host OS برای تسریع ذخیره سازی و شبکه سازی برای ماشین های مجازی Azure. Azure Boost همچنین شامل چیپست امنیتی زنجیره تامین داخلی Cerberus است.
Azure Boost در نظر گرفته شده است تا بارهای کاری ماشین مجازی شما را تا حد امکان به CPU موجود دسترسی دهد. به جای استفاده از CPU برای فشردهسازی دادهها یا مدیریت امنیت، سختافزار اختصاصی کنترل میشود و به Azure اجازه میدهد تا بارهای کاری بیشتری را روی همان سختافزار اجرا کند. اجرای سیستمها با بهرهوری بالا کلید اقتصادی ابر عمومی است و هرگونه سرمایهگذاری در سختافزار به سرعت جواب میدهد.
Maia 100: سیلیکون برای مدل های زبان بزرگ
مدلهای زبان بزرگ (و هوش مصنوعی مولد به طور کلی) اهمیت محاسبات متراکم را نشان میدهند، با OpenAI از ابررایانه مبتنی بر GPU مایکروسافت برای آموزش مدلهای GPT خود استفاده میکند. حتی در سیستمی مانند مایکروسافت، مدل های پایه بزرگ مانند GPT-4 به ماه ها آموزش با بیش از یک تریلیون پارامتر نیاز دارند. نسل بعدی LLM ها به محاسبات بیشتری هم برای آموزش و هم برای عملیات نیاز دارند. اگر با استفاده از Retrieval Augmented Generation در حال ایجاد برنامههای مبتنی بر پایه پیرامون آن LLM هستیم، به ظرفیت بیشتری برای ایجاد جاسازی برای محتوای منبع خود و ارائه جستجوی مبتنی بر برداری نیاز خواهیم داشت.
ابر رایانههای مبتنی بر GPU سرمایهگذاری قابل توجهی هستند، حتی زمانی که مایکروسافت بتواند بخشی از هزینههای سرمایه را از مشترکان جبران کند. هزینه های عملیاتی نیز زیاد است، با نیازهای خنک کننده سنگین علاوه بر توان، پهنای باند و ذخیره سازی. بنابراین، ممکن است انتظار داشته باشیم که این منابع به مراکز داده بسیار کمی محدود شود، جایی که فضای کافی، نیرو و خنک کننده وجود دارد.
اما اگر هوش مصنوعی در مقیاس بزرگ بخواهد متمایزکننده موفقی برای Azure باشد، در مقابل رقبایی مانند AWS و Google Cloud، باید در همه جا در دسترس باشد و باید مقرون به صرفه باشد. این به سیلیکون جدید (هم برای آموزش و هم برای استنباط) نیاز دارد که می تواند با تراکم بالاتر و با قدرت کمتر نسبت به پردازنده های گرافیکی امروزی اجرا شود.
با نگاهی به FPGAهای پروژه Brainwave Azure، اینها از سیلیکون قابل برنامه ریزی برای پیاده سازی الگوریتم های کلیدی استفاده می کردند. در حالی که آنها به خوبی کار می کردند، آنها دستگاه های تک منظوره بودند که به عنوان شتاب دهنده برای مدل های یادگیری ماشینی خاص عمل می کردند. شما میتوانید گونهای ایجاد کنید که از شبکههای عصبی پیچیده یک LLM پشتیبانی میکند، اما باید آرایه عظیمی از پردازندههای ساده را برای پشتیبانی از محاسبات برداری چند بعدی که این مدلهای معنایی را هدایت میکند، پیادهسازی کند. این فراتر از قابلیتهای بیشتر فناوریهای FPGA است.
پردازش برداری چیزی است که GPUهای مدرن در آن بسیار خوب هستند (تعجبی ندارد که بسیاری از معماران اصلی حرفه خود را با توسعه سخت افزار پردازش برداری برای ابررایانه های اولیه آغاز کردند). یک GPU اساساً آرایهای از پردازندههای ساده است که با ماتریسها و بردارها کار میکنند و از فناوریهایی مانند CUDA انویدیا برای دسترسی به توابع جبر خطی استفاده میکنند که معمولاً بخشی از مجموعه دستورالعملهای CPU نیستند. شتاب حاصله به ما امکان میدهد مدلهای هوش مصنوعی مدرن مانند LLM بسازیم و استفاده کنیم.
تراشه شتابدهنده هوش مصنوعی جدید مایکروسافت، Maia 100، هم برای آموزش و هم برای استنتاج طراحی شده است. Maia با تکیه بر درس های آموخته شده در اجرای بارهای کاری OpenAI، در کنار زیرساخت های موجود Azure، به عنوان بخشی از یک واحد رک شتاب دهنده جدید که در کنار رک های محاسباتی موجود قرار می گیرد، در نظر گرفته شده است. Maia 100 با بیش از ۱۰۰ میلیارد ترانزیستور ارائه شده توسط یک فرآیند پنج نانومتری، مطمئناً یک تراشه بسیار بزرگ و بسیار متراکم است که توانایی محاسباتی بسیار بیشتری نسبت به یک GPU دارد.
توسعه Maia در کنار مدلهای OpenAI اصلاح شد و از طراحی رک جدید استفاده میکند که شامل عناصر خنککننده مبتنی بر مایع سفارشی است. این بخش آخر کلید ارائه بار کاری هوش مصنوعی به بیش از بزرگترین مراکز داده Azure است. افزودن زیرساخت خنککننده مایع گران است، بنابراین قرار دادن آن در قفسههای Maia 100 تضمین میکند که میتوان آن را در هر مرکز داده، در هر نقطه از جهان رها کرد.
نصب رکهای Maia 100 نیاز به تنظیم مجدد فاصله رکها دارد، زیرا سیستم خنککننده آنها را بزرگتر از رکهای معمولی ۲۱ اینچی Azure میکند، که برای سرورهای Open Compute Project اندازه میشوند. علاوه بر سختافزار خنککننده مایع، فضای اضافی برای اتصالات با پهنای باند بالا ۴.۸ ترابایتی استفاده میشود که برای انتقال مقادیر زیادی داده بین پردازندهها و شتابدهندهها ضروری است.
هنوز سوالاتی در مورد نحوه استفاده برنامهها از تراشههای جدید وجود دارد. بدون جزئیات اضافی، احتمالاً آنها مدلهای هوش مصنوعی ارائه شده توسط مایکروسافت، مانند OpenAI و Hugging Face، و همچنین خدمات شناختی خود و مدلهای زبان کوچک Phi را اجرا خواهند کرد. اگر آنها برای آموزش مدلهای خود در دسترس هستند، انتظار داشته باشید که کلاس جدیدی از ماشینهای مجازی را در کنار طیف فعلی گزینههای GPU در Azure AI Studio مشاهده کنید.
Cobalt 100: پردازنده Arm خود Azure
در کنار رونمایی از Maia، مایکروسافت پردازنده Arm Server خود را با نام Cobalt 100 معرفی کرد. این یک پردازنده ۱۲۸ هسته ای ۶۴ بیتی است که برای پشتیبانی از برنامه های کاربردی با چگالی بالا و کم مصرف بر اساس طراحی مرجع Arm’s Neoverse طراحی شده است. . Azure در حال حاضر از پردازندههای Arm برای برخی از سرویسهای پلتفرم خود استفاده میکند و Cobalt 100 احتمالاً به جای اینکه برای زیرساخت به عنوان یک سرویس استفاده شود، از این خدمات و خدمات بیشتر پشتیبانی میکند.
نیازی به دانستن اینکه کد سرویس برنامه Azure شما روی Intel، AMD یا Arm اجرا میشود، وجود ندارد، تا زمانی که عملکرد خوبی داشته باشد و کاربران شما نتایج مورد انتظار خود را دریافت کنند. ما میتوانیم انتظار داشته باشیم که پردازندههای Cobalt در حال اجرا سرویسهای مبتنی بر اینترنت، که در آن تراکم و بهرهوری انرژی الزامات مهمی هستند، و همچنین میزبانی عناصر شبکه تحویل محتوای Azure در خارج از مراکز داده اصلی آن را ببینیم.
مایکروسافت مهندسی سیلیکون خود را به عنوان راهی برای ارائه “رویکرد سیستمی” به مراکز داده Azure خود با پشتیبانی سرتاسری از ذخیره سازی اولیه و ارائه شبکه تا خدمات محاسباتی خود توصیف می کند. و این فقط Azure نیست. سیلیکون بهتری نیز به ویندوز میآید، زیرا پردازندههای مجهز به NPU اینتل و کوالکام در رایانههای رومیزی و لپتاپهای سال ۲۰۲۴ وارد بازار میشوند. پس از سالها سختافزار پیشرو در نرمافزار، جالب است که ببینیم چگونه میتوانیم این پلتفرمهای جدید را با کد به محدودیتهای خود برسانیم.
پست های مرتبط
معنای سیلیکون سفارشی مایکروسافت برای Azure چیست
معنای سیلیکون سفارشی مایکروسافت برای Azure چیست
معنای سیلیکون سفارشی مایکروسافت برای Azure چیست