این روزها، آموزش شبکههای عصبی عمیق یکی از سنگینترین وظایف پردازشی در مراکز داده محسوب میشود و به تجربه، آموزش این - تعمیرات مایکروویو استیل البرز دارآباد - مدلها حتی از شبیهسازهای علم فیزیک که از HPC (محاسبات کامپیوتری با توان بالا) استفاده میکنند، به منابع محاسباتی بیشتری نیاز دارند. - تعمیرات مایکروویو استیل البرز دارآباد - هرچند که یادگیری عمیق اساساً نیازهای سختافزاری - تعمیرات مایکروویو استیل البرز دارآباد - متفاوتی نسبت به سیستمهای محاسبات سنگین معمول دارد.
این تفاوت در بیشتر موارد به فرمتهای عددی مربوط میشود. یعنی درحالی - تعمیرات مایکروویو استیل البرز دارآباد - که مدلهای HPC متکی بر FP64 (محاسبه با دقت ممیز شناور دوگانه یا ۶۴ بیتی) و اندکی هم فرمت FP32 (ممیز - تعمیرات مایکروویو استیل البرز دارآباد - شناور یک گانه یا ۳۲ بیتی) هستند، مدلهای - تعمیرات مایکروویو استیل البرز دارآباد - یادگیری - تعمیرات مایکروویو استیل البرز دارآباد - عمیق معمولاً برپایهی FP32 و اندکی هم FP16 (با دقت نیم) - تعمیرات مایکروویو استیل البرز دارآباد - است. - تعمیرات مایکروویو استیل البرز دارآباد - بهطور کلی هر چقدر در محاسبات از مقادیری با دقت پائینتر استفاده کنید، بهتر است. زیرا نصفکردن بایتها، توان عملیاتی - تعمیرات مایکروویو استیل البرز دارآباد - داده در یک برنامه را دو برابر میکند. این مسئله هم برای HPC و هم برای یادگیری عمیق یا هر چیز دیگری صدق میکند.
تمامی این فرمتهای عددی بر پایهی استاندارد IEEE754 هستند که ۳۰ سال پیش، زمانیکه از ممیز شناور بیشتر برای محاسبات علمی استفاده میشد، تنظیم شد. در نتیجه بخش مانتیسِ عدد - تعمیرات مایکروویو استیل البرز دارآباد - (کسری) که در فرمتهای IEEE بیتهای قابل توجهی دارد، اکثر فضای داده را هم اشغال میکنند؛ یعنی معادل ۵۲بیت در FP64 و ۲۳بیت در FP32 و ۱۰بیت در فرمت FP16. هدف هم رسیدن به دقتهای بالا ست که درواقع بازتابی از قصد و نیت اولیه بود.
بخش توان در فرمتهای IEEE نسبتاً کوچکتر است که یعنی محدودهی - تعمیرات مایکروویو استیل البرز دارآباد - پویای محدودی دارد. - تعمیرات مایکروویو استیل البرز دارآباد - لذا اساس کار اینگونه است که اگر به محدودهی وسیعتری نیاز باشد، کافی است که از فرمتهای بزرگتر FP32 و FP64 - تعمیرات مایکروویو استیل البرز دارآباد - و FP128 و... تا آنجا استفاده کنید که بخش توانِ عدد برای پوشش نیاز - تعمیرات مایکروویو استیل البرز دارآباد - کاربردی شما به حد کافی بزرگ باشد.
اما در یادگیری عمیق، لزوماً نیازی به دقت بالا نداریم. به قول - تعمیرات مایکروویو استیل البرز دارآباد - پرادیپ دابی، مسئول آزمایشگاه محاسبات موازی - تعمیرات مایکروویو استیل البرز دارآباد - اینتل، یادگیری عمیق با دقتی پایینتر، عملکرد بهتری دارد. هرچند تأیید میکند که درظاهر شاید کمی گیجکننده - تعمیرات مایکروویو استیل البرز دارآباد - باشد، اما وقتی درحال آموزش به مدلهای یادگیری عمیق هستید، «نیاز به قابلیتی برای تعمیم دادن دارید.»
معنای حرف او این است وقتی مدلی را طراحی میکنید، بهتر است آنقدر عمومیت داشته باشد که بتواند محدودهای از احتمالات را پوشش بدهد. برای مثال، در تشخیص الگوها - تعمیرات مایکروویو استیل البرز دارآباد - وقتی بهدنبال چیز خاصی مثل گربه هستید، بهتر است الگویی که معرف و نمایندهی گربه است، خیلی دقیق و ریز نشده نباشد. دقت بیش از حد، انواع تصاویر قابل تشخیص را محدود میکند و حتی مانعی برای همگرایی مدل در حین آموزش میشود.
از آن طرف قضیه، به یک محدودهی عددی کافی هم نیاز دارید تا مدلتان تعداد مناسبی از احتمالات را شامل بشود؛ چیزی که دابی آن را «یادگیری کمان» مینامد. بنابراین برای یادگیری عمیق، گستره از اهمیت بیشتری نسبت به دقت برخوردار است. یعنی برعکس اصل مورد استفاده در فرمتهای ممیز شناور IEEE است.
بهگفتهی دابی، فرمت FP16 در تلاش - تعمیرات مایکروویو استیل البرز دارآباد - برای اختصاص بیتهای بیشتر به دقت، محدودهی پویا را بیش از حد محدود میکند، که باز آن گزینهای نیست که برای - تعمیرات مایکروویو استیل البرز دارآباد - محاسبات یادگیری عمیق میخواستید. اتفاقی که غالباً با فرمت FP16 میافتد، این است که مدلتان گسترهی - تعمیرات مایکروویو استیل البرز دارآباد - کافی را ندارد و نیازمند تنظیم پارامترهای جانبی از قبیل دامنهی یادگیری، سایز دستهبندیها و کاهش نمائی وزن خواهید بود.
با این اوصاف، bfloat16 متولد شد که اصطلاحاً به ممیز شناور مغزی ۱۶بیتی معروف شده است. bfloat16 در اصل توسط گوگل توسعه یافته که در نسل سوم - تعمیرات مایکروویو استیل البرز دارآباد - واحدهای پردازش تِنسور خود (TPU) پیادهسازی کرده است. این فرمت توانسته نظر پشتیبانان مهمی بهویژه اینتل را به خود جلب کند که قصد - تعمیرات مایکروویو استیل البرز دارآباد - دارد bfloat16 را در ساختار پردازندههای آیندهی کوپرلِیک زئون (Cooper Lake Xeon) و همچنین مدل ابتدائی پردازندهی شبکه عصبی - تعمیرات مایکروویو استیل البرز دارآباد - نروانا (NNP-T1000) پیادهسازی کند.
bfloat16 شامل یک مانتیس ۷بیتی و یک توان ۸بیتی است. یعنی همان محدودهی FP32 را با دقتی پائینتر ارائه میکند که بهگفتهی اینتل چیزی بیش از دامنههای مورد نیاز یادگیری - تعمیرات مایکروویو استیل البرز دارآباد - عمیق را پوشش میدهد. برای اثبات، دابی و تیمش از - تعمیرات مایکروویو استیل البرز دارآباد - آزمایشگاه محاسبات موازی به همراه تعدادی از محققین فیسبوک، - تعمیرات مایکروویو استیل البرز دارآباد - چند مدل معمول از یادگیری عمیق را به راه انداختند که درونشان شبکههای تودرتوی عصبی (CNNs) داشتند.
اینتل بهویژه از bfloat16 برای آموزش AlexNet ،ResNet-50 ،DC-GAN ،SR-GAN ،Baidu DeepSpeech2 و ماشین مترجم شبکهی - تعمیرات مایکروویو استیل البرز دارآباد - عصبی گوگل (GNMT) استفاده کرد. همچنین آنها از چندین بارِپردازشی مرتبط با یادگیری عمیق صنعتی بنچمارک گرفتند: از یک شبکهی تخمین کلیکهای تبلیغاتی Deep and Cross و یک سیستم پیشنهاد DNN. که در آنها از دادههای bfloat16 برای مقادیر تنسور (فعالسازی و وزنها)، به همراه نتایج جمعآوری شده در FP32 استفاده شد.
از آنجاکه هنوز - تعمیرات مایکروویو استیل البرز دارآباد - اینتل bfloat16 را در هیچیک از پردازندههایش پیاده نکرده، آنها از سختافزار بُرداری AVX512 فعلی موجود در پردازندههایشان استفاده کردند تا فرمت و عملیات لازم را شبیهسازی کنند که بهگفتهی محققین، «صرفاً بخش ناچیزی از توان واقعی» است.
دابی میگوید bfloat16 شبیهسازی شدهی آنها بهخوبی زیر بارِ پردازشی عمل کرد و همگرایی مدلها نیز به همان میزان از بازتکرار، در هنگام استفاده از FP32 بود و نیازی هم به تنظیم پارامترهای جانبی نداشت. درحقیقت، همانطور که - تعمیرات مایکروویو استیل البرز دارآباد - در مقالهی تحقیقاتی دابی و همکارانش اشاره شده، اجراهای bfloat16 تقریباً همان مسیر اجراهای FP32 را - تعمیرات مایکروویو استیل البرز دارآباد - طی کرده است.
در اصل آنها توانستند بدون هزینه و با کمی پیشبینی اتفاقی در برخی کارها - تعمیرات مایکروویو استیل البرز دارآباد - همچون FMA یا (fused-multiply add) که نیاز به یک انباشتگر FP32 دارد، از مزیت توان عملیاتی - تعمیرات مایکروویو استیل البرز دارآباد - ۱۶ بیتی بهرهمند بشوند. به ادعای دابی، بسته به اینکه تا چه میزان بتوانید محاسبات را در قلمرو bfloat16 نگه دارید، به بهبود حداقل ۱.۷ برابری سرعت در آموزش مدل دست خواهید یافت که با - تعمیرات مایکروویو استیل البرز دارآباد - توجه به زمان چند روزه و حتی چند هفتهای در آموزش مدلها، مقدار بسیار قابل توجهی است.
محققین به این نتیجه رسیدهاند که bfloat16 - تعمیرات مایکروویو استیل البرز دارآباد - میتواند مقادیر تِنسور را در بسیاری زمینههای کاربردی همچون دیدن، سخن گفتن، زبان، شبکههای مولد و سامانههای پیشنهاد - تعمیرات مایکروویو استیل البرز دارآباد - نمایندگی کند، بیآنکه معایب پیادهسازی فرمت FP16 را داشته باشد. آنها در ادامه میگویند: «انتظار استفاده از bfloat16 را در زمینههای پرکاربرد و در مقیاسی صنعتی داشته باشید»؛ که با در نظرگرفتن پشتیبانی اینتل از این فرمت در پردازندههای عمومی همچون Xeon و پردازندههای اختصاصی NNP این اقبال قطعیت بیشتری پیدا میکند.