“مطالعه ما دستگاههای اینترنت اشیا را قادر میسازد نه تنها استنتاج انجام دهند، بلکه مدلهای هوش مصنوعی را به دادههای تازه جمعآوریشده بهروز رسانی میکنند، و راه را برای یادگیری مادامالعمر بر روی دستگاه هموار میکند. استفاده کم از منابع، یادگیری عمیق را در دسترستر میکند و میتواند دسترسی گستردهتری داشته باشد، به خصوص. سونگ هان، دانشیار دپارتمان مهندسی برق و علوم کامپیوتر (EECS)، عضو آزمایشگاه هوش مصنوعی واتسون MIT-IBM و نویسنده ارشد مقاله که این نوآوری را توصیف می کند، می گوید: برای دستگاه های لبه کم مصرف.
آموزش یک مدل یادگیری ماشینی بر روی یک دستگاه لبه هوشمند به آن اجازه می دهد تا با داده های جدید سازگار شود و پیش بینی های بهتری انجام دهد. به عنوان مثال، آموزش یک مدل بر روی صفحه کلید هوشمند می تواند صفحه کلید را قادر سازد تا به طور مداوم از نوشته های کاربر یاد بگیرد. با این حال، فرآیند آموزش به حافظه زیادی نیاز دارد که معمولاً با استفاده از رایانههای قدرتمند در مرکز داده، قبل از استقرار مدل بر روی دستگاه انجام میشود. این هزینه بیشتر است و مسائل مربوط به حریم خصوصی را افزایش می دهد زیرا داده های کاربر باید به یک سرور مرکزی ارسال شود.
هان و همکارانش از دو راهحل الگوریتمی استفاده کردند تا فرآیند آموزش را کارآمدتر و حافظه کمتری داشته باشند. اولین مورد که به عنوان آپدیت پراکنده شناخته می شود، از الگوریتمی استفاده می کند که مهم ترین وزن ها را برای به روز رسانی در هر دور تمرین مشخص می کند. الگوریتم شروع به انجماد وزنه ها یکی یکی می کند تا زمانی که دقت را در آستانه تعیین شده ببیند، سپس متوقف می شود. وزنهای باقیمانده بهروزرسانی میشوند، در حالی که فعالسازیهای مربوط به وزنهای منجمد نیازی به ذخیره در حافظه ندارند.
ما بسیاری از محاسبات مانند تمایز خودکار و بهینهسازی نمودار را برای کامپایل کردن زمان انجام میدهیم. همچنین اپراتورهای اضافی را برای پشتیبانی از بهروزرسانیهای پراکنده به شدت هرس میکنیم. یک بار در زمان اجرا، حجم کاری بسیار کمتری برای انجام دادن روی دستگاه داریم.” هان توضیح می دهد.
این تکنیک همچنین با نگهداری داده ها بر روی دستگاه، حریم خصوصی را حفظ می کند، که می تواند به ویژه هنگامی که داده ها حساس هستند، مانند برنامه های پزشکی مفید باشد. همچنین می تواند سفارشی سازی یک مدل را بر اساس نیازهای کاربران فعال کند. علاوه بر این، چارچوب دقت مدل را در مقایسه با سایر رویکردهای آموزشی حفظ یا بهبود می بخشد.
برای رفع این مشکل، محققان MIT و آزمایشگاه هوش مصنوعی MIT-IBM Watson AI تکنیک جدیدی را توسعه دادند که آموزش روی دستگاه را با استفاده از کمتر از یک چهارم مگابایت حافظه امکانپذیر میسازد. راه حل های آموزشی دیگر طراحی شده برای دستگاه های متصل می توانند از بیش از 500 مگابایت حافظه استفاده کنند که به میزان زیادی از ظرفیت 256 کیلوبایتی اکثر میکروکنترلرها بیشتر است (1024 کیلوبایت در یک مگابایت وجود دارد).
الگوریتمها و چارچوب هوشمندی که محققان توسعه دادهاند، میزان محاسبات مورد نیاز برای آموزش یک مدل را کاهش میدهند، که این فرآیند را سریعتر و کارآمدتر حافظه میکند. از تکنیک آنها می توان برای آموزش یک مدل یادگیری ماشینی روی یک میکروکنترلر در عرض چند دقیقه استفاده کرد.
میکروکنترلرها، رایانههای کوچکی که میتوانند دستورات ساده را اجرا کنند، اساس میلیاردها دستگاه متصل، از دستگاههای اینترنت اشیا (IoT) گرفته تا حسگرها در خودروها هستند. اما میکروکنترلرهای ارزان و کم مصرف حافظه بسیار محدودی دارند و سیستم عاملی ندارند و آموزش مدلهای هوش مصنوعی بر روی «دستگاههای لبهای» که مستقل از منابع محاسباتی مرکزی کار میکنند، چالش برانگیز است.
هان و تیمش قبلاً به عنوان بخشی از ابتکار TinyML خود به مشکلات حافظه و محاسباتی که هنگام تلاش برای اجرای مدلهای یادگیری ماشین روی دستگاههای لبه کوچک وجود دارد، پرداختند.
“به روز رسانی کل مدل بسیار گران است زیرا تعداد زیادی فعال سازی وجود دارد، بنابراین مردم تمایل دارند فقط آخرین لایه را به روز کنند، اما همانطور که می توانید تصور کنید، این به دقت صدمه می زند. برای روش ما، ما به طور انتخابی آن وزن های مهم را به روز می کنیم و مطمئن می شویم دقت به طور کامل حفظ شده است،” هان می گوید.
بهینه سازی آنها تنها به 157 کیلوبایت حافظه برای آموزش یک مدل یادگیری ماشینی روی یک میکروکنترلر نیاز داشت، در حالی که سایر تکنیک های طراحی شده برای آموزش سبک وزن هنوز بین 300 تا 600 مگابایت نیاز دارند.
نوع رایج مدل یادگیری ماشینی به عنوان شبکه عصبی شناخته می شود. این مدلها بر اساس مغز انسان، حاوی لایههایی از گرهها یا نورونهای به هم پیوسته هستند که دادهها را برای تکمیل یک کار پردازش میکنند، مانند تشخیص افراد در عکسها. این مدل ابتدا باید آموزش داده شود، که شامل نشان دادن میلیونها مثال به آن است تا بتواند کار را یاد بگیرد. همانطور که می آموزد، مدل قدرت اتصالات بین نورون ها را افزایش یا کاهش می دهد که به عنوان وزن شناخته می شوند.
یک افزایش سرعت موفق
اکنون که موفقیت این تکنیکها را برای مدلهای بینایی کامپیوتری نشان دادهاند، محققان میخواهند آنها را در مدلهای زبان و انواع مختلف دادهها، مانند دادههای سری زمانی، به کار ببرند. در عین حال، آنها میخواهند از آموختههای خود برای کوچکتر کردن اندازه مدلهای بزرگتر بدون کاهش دقت استفاده کنند، که میتواند به کاهش ردپای کربن در آموزش مدلهای یادگیری ماشینی در مقیاس بزرگ کمک کند.
این کار توسط بنیاد ملی علوم، آزمایشگاه هوش مصنوعی واتسون MIT-IBM، برنامه سخت افزار هوش مصنوعی MIT، آمازون، اینتل، کوالکام، شرکت خودروسازی فورد و گوگل تامین می شود.
آنها چارچوب خود را با آموزش یک مدل بینایی کامپیوتری برای تشخیص افراد در تصاویر آزمایش کردند. پس از تنها 10 دقیقه آموزش، یاد گرفت که کار را با موفقیت انجام دهد. روش آنها توانست یک مدل را بیش از 20 برابر سریعتر از سایر رویکردها آموزش دهد.
تمرین سبک وزن
به همراه هان در این مقاله، نویسندگان ارشد و دانشجویان دکترای EECS، جی لین و لیگنگ ژو، و همچنین فوق دکترای MIT، وی-مینگ چن و وی-چن وانگ، و چوانگ گان، یکی از کارکنان پژوهشی اصلی در MIT-IBM Watson هستند. آزمایشگاه هوش مصنوعی این تحقیق در کنفرانس سیستم های پردازش اطلاعات عصبی ارائه خواهد شد.
راه حل دوم آنها شامل آموزش کوانتیزه و ساده کردن وزنه ها است که معمولاً 32 بیت هستند. یک الگوریتم وزن ها را گرد می کند تا فقط هشت بیت باشند، از طریق فرآیندی به نام کوانتیزه کردن، که میزان حافظه را هم برای آموزش و هم برای استنتاج کاهش می دهد. استنتاج فرآیند اعمال یک مدل به مجموعه داده و ایجاد یک پیش بینی است. سپس الگوریتم تکنیکی به نام مقیاسگذاری آگاهانه کوانتیزاسیون (QAS) را اعمال میکند که مانند یک ضریب برای تنظیم نسبت بین وزن و گرادیان عمل میکند تا از هرگونه افت دقت که ممکن است ناشی از تمرین کوانتیزه باشد جلوگیری کند.
محققان سیستمی به نام موتور آموزشی کوچک توسعه دادند که می تواند این نوآوری های الگوریتمی را روی یک میکروکنترلر ساده که فاقد سیستم عامل است اجرا کند. این سیستم ترتیب مراحل در فرآیند آموزش را تغییر می دهد، بنابراین کارهای بیشتری در مرحله کامپایل، قبل از استقرار مدل بر روی دستگاه لبه، تکمیل می شود.
این مدل ممکن است در حین یادگیری صدها به روز رسانی شود و فعال سازی های میانی باید در طول هر دور ذخیره شوند. در یک شبکه عصبی، فعال سازی نتایج میانی لایه میانی است. هان توضیح می دهد که از آنجایی که ممکن است میلیون ها وزنه و فعال سازی وجود داشته باشد، آموزش یک مدل به حافظه بسیار بیشتری نسبت به اجرای یک مدل از پیش آموزش دیده نیاز دارد.