Моделі та платформи ШІ
Нова система може принести штучний інтелект до носимих пристроїв та домашніх апаратів
Команда дослідників у Массачусетському технологічному інституті працює над тим, щоб привести глибинне навчання нейронних мереж до мікроконтролерів. Цей прогрес означає, що штучний інтелект (AI) може бути реалізований у крихітних комп’ютерних чіпах носимих медичних пристроїв, домашніх апаратів та інших 250 мільярдів об’єктів, які складають “інтернет речей” (IoT). Інтернет речей – це мережа фізичних об’єктів, вбудованих з датчиками, програмним забезпеченням та іншими технологіями, які допомагають з’єднувати та обмінюватися даними з іншими пристроями та системами.
Дослідження мають бути представлені на Конференції з обробки нейронної інформації в грудні. Головним автором дослідження є Джи Лін, аспірант у лабораторії Сонга Хана в Відділі електротехніки та комп’ютерних наук Массачусетського технологічного інституту. Серед співавторів – Хан, Юджун Лін, Вей-Мінг Чен з Массачусетського технологічного інституту та Національного університету Тайваню, Джон Кон та Чуан Ган з лабораторії Массачусетського технологічного інституту – IBM Watson.
Система MCUNet
Система називається MCUNet, і вона проектує компактні нейронні мережі, здатні до екстремальної швидкості та точності на пристроях IoT, навіть з обмеженою пам’яттю та потужністю обробки. Ця система може бути більш енергоефективною та підвищити безпеку даних.
Команда розробила “крихітну систему глибинного навчання” шляхом поєднання двох компонентів – операції нейронних мереж та мікроконтролерів. Перший компонент – TinyEngine, інтерфейсний двигун, який діє як операційна система, керуючи управлінням ресурсами. TinyEngine оптимізований для виконання конкретної структури нейронної мережі, вибраної TinyNAS, який є іншим компонентом. TinyNAS – це алгоритм пошуку архітектури нейронної мережі.
Лін розробив TinyNAS через труднощі застосування існуючих технік пошуку архітектури нейронної мережі до крихітних мікроконтролерів. Ці існуючі техніки в кінцевому підсумку знаходять найбільш точну та ефективну структуру мережі після початку з багатьох можливих, заснованих на попередньо визначеному шаблоні.
“Це може працювати досить добре для GPU або смартфонів”, – говорить Лін. “Але це було складно безпосередньо застосовувати ці техніки до крихітних мікроконтролерів, оскільки вони занадто малі”.
TinyNAS може створювати мережі будь-якого розміру.
“У нас є багато мікроконтролерів, які поставляються з різними потужностями та різними розмірами пам’яті”, – говорить Лін. “Тому ми розробили алгоритм [TinyNAS], щоб оптимізувати простір пошуку для різних мікроконтролерів”.
Оскільки TinyNAS може бути налаштований, він може генерувати найкращі можливі компактні нейронні мережі для мікроконтролерів.
“Потім ми доставляємо остаточну, ефективну модель до мікроконтролера”, – продовжує Лін.
Для мікроконтролера потрібен чистий та стрімкий інтерфейсний двигун, щоб запустити крихітну нейронну мережу. Багато інтерфейсних двигунів мають інструкції для рідко виконуваних завдань, які можуть завадити мікроконтролеру.
“У нього немає зовнішньої пам’яті, і немає диска”, – говорить Хан. “Все, що складено разом, – це лише один мегабайт флеш-пам’яті, тому нам потрібно дуже ретельно керувати такими малими ресурсами”.
TinyEngine генерує код, необхідний для запуску налаштованої нейронної мережі, розробленої TinyNAS. Час компіляції скорочується шляхом видалення зайвого коду.
“Ми зберігаємо тільки те, що нам потрібно”, – говорить Хан. “І оскільки ми розробили нейронну мережу, ми знаємо точно, що нам потрібно. Це перевага системно-алгоритмічного проектування”.
Тести показали, що скомпільований бінарний код TinyEngine був у 1,9-5 разів меншим, ніж подібні двигуни мікроконтролерів, включаючи ті, що належать Google (GOOGL ) та ARM. Піковий використання пам’яті також було скорочено майже вдвое.
Спроможність MCUNet
Перші тести для MCUNet стосувалися класифікації зображень. База даних ImageNet була використана для навчання системи з позначеними зображеннями, а потім її спроможність була перевірена на нових зображеннях.
Коли MCUNet був протестований на комерційному мікроконтролері, він успішно класифікував 70,7% нових зображень. Це значно краще, ніж попередній найкращий нейронний мереж та інтерфейсний двигун, який мав точність 54%.
“Даже 1% покращення вважається суттєвим”, – говорить Лін. “Тому це величезний стрибок для мікроконтролерів”.
За словами Курта Койцера, комп’ютерного науковця з Університету Каліфорнії в Берклі, це “розширює межі проектування глибинних нейронних мереж ще далі в обчислювальну область малих енергоефективних мікроконтролерів”. MCUNet міг би “принести можливості комп’ютерного зору до навіть найпростіших кухонних апаратів або дозволити більш інтелектуальні датчики руху”.
MCUNet також підвищує безпеку даних.
“Ключова перевага полягає в збереженні конфіденційності”, – говорить Хан. “Вам не потрібно передавати дані в хмару”.
Аналізуючи дані локально, існує менша ймовірність порушення особистої інформації.
Крім того, MCUNet міг би аналізувати та надавати інформацію про дані, такі як частота серцевих скорочень, артеріальний тиск та рівень кисню, привести глибинне навчання до пристроїв IoT у транспортних засобах та інших місцях з обмеженим доступом до Інтернету, а також зменшити вуглецевий слід, використовуючи лише малий відсоток енергії, необхідної для великих нейронних мереж.












