Микроконтроллеры, миниатюрные компьютеры, которые могут выполнять простые команды, являются основой для миллиардов подключенных устройств, от устройств Интернета вещей (IoT) до датчиков в автомобилях. Но дешевые микроконтроллеры с низким энергопотреблением имеют чрезвычайно ограниченный объем памяти и не имеют операционной системы, что затрудняет обучение моделей искусственного интеллекта на «пограничных устройствах», которые работают независимо от центральных вычислительных ресурсов.
Обучение модели машинного обучения на интеллектуальном пограничном устройстве позволяет адаптироваться к новым данным и делать более точные прогнозы. Например, обучение модели на интеллектуальной клавиатуре может позволить клавиатуре постоянно учиться на письме пользователя. Однако процесс обучения требует так много памяти, что обычно выполняется с использованием мощных компьютеров в центре обработки данных, прежде чем модель будет развернута на устройстве. Это более затратно и вызывает проблемы с конфиденциальностью, поскольку пользовательские данные должны отправляться на центральный сервер.
Чтобы решить эту проблему, исследователи из Массачусетского технологического института и Лаборатории искусственного интеллекта Watson AI Lab при MIT-IBM разработали новую методику, которая позволяет проводить обучение на устройстве, используя менее четверти мегабайта памяти. Другие обучающие решения, предназначенные для подключенных устройств, могут использовать более 500 мегабайт памяти, что значительно превышает 256-килобайтную емкость большинства микроконтроллеров (в одном мегабайте 1024 килобайта ).
Разработанные исследователями интеллектуальные алгоритмы и структура сокращают объем вычислений, необходимых для обучения модели, что делает процесс более быстрым и эффективным с точки зрения использования памяти. Их метод можно использовать для обучения модели машинного обучения на микроконтроллере за считанные минуты.
Этот метод также сохраняет конфиденциальность, сохраняя данные на устройстве, что может быть особенно полезно, когда данные являются конфиденциальными, например, в медицинских приложениях. Это также может позволить настроить модель в соответствии с потребностями пользователей. Более того, структура сохраняет или улучшает точность модели по сравнению с другими подходами к обучению.
«Наше исследование позволяет устройствам IoT не только выполнять логические выводы, но и постоянно обновлять модели ИИ с учетом вновь собранных данных, прокладывая путь для обучения на устройстве в течение всей жизни. Низкое использование ресурсов делает глубокое обучение более доступным и может иметь более широкий охват, особенно для маломощных периферийных устройств», — говорит Сонг Хан, доцент кафедры электротехники и компьютерных наук (EECS), член лаборатории MIT-IBM Watson AI и старший автор статьи, описывающей это новшество.
К Хану в статье присоединились соведущие авторы и доктор философии EECS. студенты Цзи Линь и Лигенг Чжу, а также постдоки Массачусетского технологического института Вей-Минг Чен и Вей-Чен Ван, а также Чуанг Ган, главный научный сотрудник лаборатории искусственного интеллекта Watson AI Lab в MIT-IBM. Исследование будет представлено на конференции по нейронным системам обработки информации.
Хан и его команда ранее устраняли узкие места в памяти и вычислениях, которые существуют при попытке запустить модели машинного обучения на крошечных периферийных устройствах, в рамках своей инициативы TinyML.
Легкая тренировка
Распространенный тип модели машинного обучения известен как нейронная сеть. Эти модели, в общих чертах основанные на человеческом мозге, содержат слои взаимосвязанных узлов или нейронов, которые обрабатывают данные для выполнения задачи, например распознавания людей на фотографиях. Сначала модель должна быть обучена, что включает в себя показ миллионов примеров, чтобы она могла изучить задачу. По мере обучения модель увеличивает или уменьшает силу связей между нейронами, которые известны как веса.
Модель может подвергаться сотням обновлений по мере обучения, а промежуточные активации должны сохраняться в течение каждого раунда. В нейронной сети активация — это промежуточные результаты среднего слоя. Хан объясняет, что поскольку могут быть миллионы весов и активаций, для обучения модели требуется гораздо больше памяти, чем для запуска предварительно обученной модели.
Хан и его сотрудники использовали два алгоритмических решения, чтобы сделать процесс обучения более эффективным и менее требовательным к памяти. Первый, известный как разреженное обновление, использует алгоритм, который определяет наиболее важные веса для обновления в каждом раунде обучения. Алгоритм начинает замораживать веса по одному, пока не увидит, что точность падает до заданного порога, а затем останавливается. Остальные веса обновляются, а активации, соответствующие замороженным весам, не нужно хранить в памяти.
«Обновление всей модели обходится очень дорого, потому что активаций много, поэтому люди, как правило, обновляют только последний слой, но, как вы понимаете, это снижает точность. Для нашего метода мы выборочно обновляем эти важные веса и следим за тем, чтобы точность полностью сохраняется», — говорит Хан.
Их второе решение включает квантовое обучение и упрощение весов, которые обычно составляют 32 бита. Алгоритм округляет веса, чтобы они составляли всего восемь бит, с помощью процесса, известного как квантование, который сокращает объем памяти как для обучения, так и для вывода. Вывод — это процесс применения модели к набору данных и создания прогноза. Затем алгоритм применяет метод, называемый масштабированием с учетом квантования (QAS), который действует как множитель для регулировки соотношения между весом и градиентом, чтобы избежать любого снижения точности, которое может произойти из-за квантованного обучения.
Исследователи разработали систему, названную крошечным обучающим движком, которая может запускать эти алгоритмические инновации на простом микроконтроллере, у которого нет операционной системы. Эта система изменяет порядок шагов в процессе обучения, поэтому больше работы выполняется на этапе компиляции, прежде чем модель будет развернута на пограничном устройстве.
«Мы переносим большую часть вычислений, таких как автоматическая дифференциация и оптимизация графов, на время компиляции. Мы также агрессивно сокращаем избыточные операторы для поддержки разреженных обновлений. Во время выполнения у нас гораздо меньше рабочей нагрузки на устройстве»,
Успешное ускорение
Для их оптимизации требовалось всего 157 килобайт памяти для обучения модели машинного обучения на микроконтроллере , в то время как другим методам, предназначенным для облегченного обучения, по-прежнему требовалось от 300 до 600 мегабайт.
Они протестировали свою структуру, обучив модель компьютерного зрения обнаруживать людей на изображениях. Всего через 10 минут тренировки модель научилась успешно выполнять задание. Их метод смог обучить модель более чем в 20 раз быстрее, чем другие подходы.
Теперь, когда они продемонстрировали успех этих методов для моделей компьютерного зрения, исследователи хотят применить их к языковым моделям и различным типам данных, таким как данные временных рядов. В то же время они хотят использовать то, что они узнали, для уменьшения размера более крупных моделей без ущерба для точности, что может помочь уменьшить углеродный след обучения крупномасштабных моделей машинного обучения.
Дополнительная информация: Цзи Лин и др., Обучение на устройстве с объемом памяти 256 КБ, (2022 г.) .
Будьте в курсе в удобном формате, присоединяйтесь: TG-канал и ВК
Бесплатная служба распространения новостей для научных организаций и стартапов
hello@technovery.com