افزایش ۱۰ برابری سرعت هوش مصنوعی بینگ با فناوری برین ویو مایکروسافت
طبق اعلام مایکروسافت، بهکارگیری سختافزار اختصاصی این شرکت در پردازش هوش مصنوعی موتور جستوجوی بینگ باعث شد سرعت عملکرد مدل یادگیری ماشینی بینگ ۱۰ برابر شود.
سیستم مایکروسافت، طبق نامگذاری خودشان، برینویو (Brainwave) نام داشته و کار تسریع یک شبکهی عصبی آموزشدیده را تا حد ممکن و با کمترین تأخیر صورت میدهد. هدف سیستم ارائهی پیشبینیهای تقریبی زمان حقیقی توسط هوش مصنوعی برای برنامههایی مثل بینگ و قابلیتهای جدید آن است. اعلامیه مایکروسافت نشان از فراهم کردن سرعت بیشتر برای کاربران این ابرکمپانی بهمنظور اجرای مدلهای هوش مصنوعی سختافزاری خودشان است.
چند روز پیش قابلیتهایی هم برای بینگ آپدیت شد که عبارتاند از: پشتیبانی از تعریف لغاتی که کمتر استفاده میشدند و همچنین ارائهی چندین پاسخ برای سوالاتی که با عبارت “چگونه” (how to) شروع میشوند. چنین قابلیتهایی با توانایی اضافهشده از طرف برینویو فعال شدند.
مایکروسافت از آرایهی دروازه قابل برنامهریزی فیلد (مدار مجتمع دیجیتال برنامهپذیر یا FPGA) از شرکت اینتل برای تأمین نیروی لازم برای پردازش هوش مصنوعی خود استفاده میکند. مدارهای مجتمع دیجیتال برنامهپذیر اساسا بومهای خالی هستند که به سازندگان، اجازهی بهکارگیری مدارهای مختلف زیادی را با ارسال نرمافزار فِرِش یا fresh software میدهند. چنین کاری ترکیب جالبی از قابلیت برنامهریزی و عملکرد بهوجود میآورد، چرا که مدارهای بهدستآمده برای کارهای خاص (مثل پردازش هوش مصنوعی) بهینه شدهاند، اما این ترکیب میتواند بدون ساخت یک تراشهی جدید تغییر کند.
چنین سختافزاری نهتنها اجازهی ساخت مدلهای سریعتر را به مایکروسافت میدهد، بلکه مایکروسافت میتواند با استفاده از آن، سیستمهای هوش مصنوعی پیچیدهتری بسازد که بدون نیاز به سختافزاری خاص، به مقادیر بسیار زیادی از ظرفیت پردازش نیاز دارند. بهعنوان مثال مدل نمونهی اولیه شماره ۱ تورینگ بینگ یا Turing Prototype 1 بهدلیل ظرفیت پردازش اضافهای که از برینویو بهدست آورد، در مقایسه با نسخهی ساختهشده برای یک پردازنده، ۱۰ برابر پیچیدهتر شد. با اینکه نسخهی برینویو بسیار پیچیدهتر است، ولی مایکروسافت میتواند نتایج آن مدل را بهمیزان ۱۰ برابر سریعتر بهدست بیاورد.
نگارش مایکروسافت نسبت به پردازش هوش مصنوعی با رقیبانش مثل گوگل فرق دارد. گوگل واحد پردازش تنسور (TPU) خود را برای همین کاربرد ساخت. واحد پردازش تنسور گوگل برخلاف FPGA، نمیتواند پس از ساخته شدن، دوباره تغییر یابد یا تنظیم شود. گفتنی است که گوگل برای مقابله با این مسئله تا آنجایی که توانست معماری تراشههایش را عمومی و کلی کرد تا با شرایط بالقوه مختلف راحتتر کنار بیایند.
FPGAهای مایکروسافت دارای پردازندههای سیگنال دیجیتالی روی بورد خود هستند که برای انجام برخی از گونههای خاص ریاضیاتی مورد نیاز برای هوش مصنوعی بهینه شدهاند. شرکت مایکروسافت از این طریق میتواند از برخی مزایای مدارهای مجتمع با کاربرد خاص (ASIC) مثل TPU هم بهرهمند شود.
آمازون دارای زیرساختی بهعنوان خدمات (infrastructure-as-a-service) است که مشمول FPGA در سرویس ابری آن میشود، اگرچه هنوز درمورد استفاده خودشان از این سختافزار توضیح زیادی ارائه نداده است.
سیستم برینویو متشکل از چندین جزء است. این بخشها از صدها هزار مدار مجتمع دیجیتال برنامهپذیری که مایکروسافت روی پایگاههای داده خود در سراسر جهان پیاده کرده است، شروع میشود. اکثر سرورهای مایکروسافت دارای بورد FPGA متصلی هستند که به بالاترین بخش سوئیچ شبکه متصل است. بنابراین سرورها هم میتوانند عملیات شبکهسازی تعریفشده بر اساس نرمافزار (مثل شبکهسازی تسریعشدهی آژور) را کنترل کنند و هم مخزنی از پردازش تسریعشده توسط سختافزار را در اختیار مایکروسافت قرار دهند.
مقایسهی کارهای مایکروسافت با سایر شرکتها دشوار است
بهعنوان مثال برینویو میتواند یک مدل را در چندین FPGA توزیع کند و به چندین پردازندهی کوچکتر نیز وظیفهی پشتیبانی از آنها را محول کند. اگر یک مدل یادگیری ماشینی نیازمند استفاده از چندین FPGA باشد، سیستم مایکروسافت آنها را در میکروسرویس سختافزاری دستهبندی میکند؛ سپس بقیه کارها به کامپایلر برینویو محول میشود تا حجم کار را میان سیلیکونهای در دسترس توزیع کند. کامپایلر، مدل نهایی را با استفاده از یک چارچوب برنامهنویسی هوش مصنوعی مثل تنسورفلو (که از گوگل نشئت میگیرد) یا جعبهابزار شناختی مایکروسافت (CNTK) بهکار خواهد گرفت و آن را به یک مورد واسطهای که بتواند بین چندین FPGA برای بهترین عملکرد ممکن توزیع شود، تبدیل خواهد کرد.
مایکروسافت بهجای بهینهسازی تمامی مدلها برای اجرا روی FPGA، یک پردازندهی نرم روی تراشههایش ساخت که بهمنظور ارائهی محیط اجرای همهمنظوره برای نتیجهی یادگیری ماشینی طراحی شده بود. سازندگان با این کار دیگر نیازی به صرف زمان برای بهینهسازی دروازهها بهصورت یکبهیک ندارند و همچنین از مزایای پردازش تسریعشدهی سختافزاری بهره میبرند.
مقایسهی کارهای مایکروسافت با سایر شرکتها دشوار است، چرا که طبق گزارش، تنها معیارهای عملکرد برای شبکههای عصبی خاص ملاک است. البته این بهمعنای تنها بودن مایکروسافت در این زمینه نیست؛ طبق مقالهی گوگل، TPU این شرکت هم برای الگوریتمهای خود شرکت ساخته شده است.
مایکروسافت نتایج تستهای برینویو را با GPU (که انتخاب مشهوری برای پردازش هوش مصنوعی است) هم مقایسه نکرد. مزیت FPGA برای تراشهها این است که آنها به استفادهی گستردهای از محاسبات دستهای نیازی ندارند. شرکت انویدیا هم بهنوبهی خود روی بهبود تراشههایش برای کار با هوش مصنوعی فعالیت میکند تا بر آن محدودیت غلبه کند.
یکی از نوآوریهای کلیدی که توانایی دسترسی مایکروسافت به چنین عملکرد بالایی درکار با FGPAها را داد، استفاده از دادههای ممیز شناور جدید ۸ و ۹ بیتی است (یعنی اعداد با نقطه اعشاری). طبق یافتهی مایکروسافت، این گونه دادهها نسبت به دادههای ثابت اعداد صحیح ۸ یا ۱۶ بیتی عملکرد بهتری دارند و برای بهرهروی به آموزش مجدد کمتری نیاز دارند.
مایکروسافت همچنین شروع به پیادهسازی تغییرات خاصی در پایگاههای دادهاش کرد: FGPAها را بدون تمامی اجزای دیگر سرور در پایگاههای داده بهکار گرفت. مایکروسافت با این کار قادر خواهد بود بار برینویو را بهتر کنترل کند، چراکه برینویو میتواند بدون مزاحمت برای سرورهای بیشتر، مقدار سختافزار قابلبرنامهریزی نرم در دسترس را افزایش دهد. با اینکه اغلب اوقات مدلهای پیچیدهتر ممکن است به بیش از یک CPU نیاز داشته باشند، ولی دیگر برای هر FPGA به یک CPU نیاز نیست.
مایکروسافت با استفاده از FGPAها برای تسریع پردازش هوش مصنوعی خود، بیگانه نیست. تیم بینگ شرکت مایکروسافت در سال ۲۰۱۲ شروع به کار با این سختافزار کردهاند و از آن زمان به بعد میزان استفاده از آن تراشهها را افزایش دادهاند.
چنین خبری برای شرکت اینتل که سازندهی FGPA یعنی آلترا را درسال ۲۰۱۵ خرید، نیز خوب است. ارزش قرارداد اینتل و مایکروسافت ۱۶/۷ میلیارد دلار بود و نیروی لازم برای برطرف کردن نیازهای مایکروسافت را در اختیار شرکت سازندهی تراشه، یعنی اینتل قرار داد.
اکنون مایکروسافت روی در دسترس قرار دادن برینویو برای دنیای بیرون کار میکند. FGPAها در حال حاضر بخشی از نمونه کار هوشمند API سرویسهای شناختی مایکروسافت هستند که به افراد اجازه میدهند تا بدون داشتن تخصصی در هوش مصنوعی، قابلیتهای آن را به اپلیکیشنهایشان اضافه کنند. مایکروسافت همچنین قصد دارد توانایی درک متن برینویو را به مشتریهای خود از طریق بینگ برای سرویس کسبوکار ارائه دهد.
شاید در آینده شاهد اضافه شدن سرویس برینویو به مایکروسافت آژور باشیم؛ تا مشتریان بتوانند مدلهای خودشان را به صف بهترین FGPAهای مایکروسافت اضافه کنند.
نظرات