Когда вы слышите термины искусственный интеллект (AI) и машинное обучение (ML), вы можете подумать, что эти технологии требуют огромных вычислительных мощностей для выполнения своего волшебства, но крошечный ML («крошечное машинное обучение») относится к развертыванию этих технологий на небольших, небольших -силовые процессоры, такие как микроконтроллеры.

Еще не так давно такие технологии, как искусственный интеллект и машинное обучение, представляли только академический интерес. Еще в 1840-х годах помощница Чарльза Бэббиджа Августа Ада Лавлейс признала, что данные, обрабатываемые компьютерами, могут представлять вещи, отличные от числовых значений, и даже предположила, что компьютеры могут выполнять такие задачи, как сочинение музыки. Конечно, Ада думала о механических двигателях Бэббиджа - она ​​понятия не имела о компьютерах в современном понимании этого слова.

Основополагающим событием того, что мы теперь считаем искусственным интеллектом, стала Дартмутская мастерская, которая состоялась в 1956 году. К сожалению, прогресс был медленным и трудным, и, как я отмечал в What the FAQ такие AI, ANN, ML, DL и DNN? - искусственный интеллект оставался в основном в сфере академических кругов примерно до начала 2010-х годов.

Некоторое время назад американская компания Gartner, занимающаяся исследованиями, консультированием и информационными технологиями, представила графическую презентацию под названием Hype Cycle, которая используется для графического представления зрелости, принятия и социального применения конкретных технологий.

Цикл ажиотажа разделен на пять основных разделов: триггер технологии, пик завышенных ожиданий, впадина разочарования, наклон просветления и плато продуктивности. Некоторым технологиям могут потребоваться годы или даже десятилетия, чтобы пройти весь цикл; другие могут прогрессировать быстрее; а некоторые застают всех врасплох.

В случае Hype Cycle 2014, например, машинное обучение даже не было «отметкой на радаре». Всего год спустя, в рамках цикла хайпа 2015 года, машинное обучение уже достигло пика завышенных ожиданий.

Теперь, в 2020 году, приложения, основанные на искусственном интеллекте и машинном обучении, появляются повсюду, такие как встроенное зрение, встроенная речь, обнаружение и распознавание объектов, распознавание лиц (включая определение возраста, пола и эмоций), распознавание почерка и т. Д. управление роботом, медицинская диагностика и… список можно продолжить.

Честно говоря, в наши дни трудно найти области приложений и сегменты рынка, которые не используют искусственный интеллект и машинное обучение в той или иной форме.

Прежде чем продолжить, давайте вкратце напомним себе высокоуровневый процесс создания приложения AI / ML. Начнем с определения сети с использованием такой архитектуры, как Caffe или Google TensorFlow. Это архитектурное определение включает количество искусственных нейронов на слой, количество нейронных слоев, способ соединения слоев и т. Д. На этом этапе мы обычно говорим о сети, которая использует 32-битные значения с плавающей запятой для представления своих коэффициентов («весов»), хотя может использоваться более высокая или более низкая точность с плавающей запятой.

Сеть обучается с использованием огромной базы данных. В случае приложения для обработки изображений, например, обучающая база данных может включать десятки миллионов изображений с тегами. После обучения сеть проходит через преобразователь, который переводит ее в представление с фиксированной точкой, подходящее для развертывания на целевой платформе: MPU, MCU, GPU, FPGA или специализированное устройство AI (см. Также Какие часто задаваемые вопросы о процессорах, микропроцессорах, микроконтроллерах и графических процессорах? ).

Многие компании добились огромных успехов в этой области, например, ребята из CEVA с их глубокой нейронной сетью CEVA (CDNN), которая нацелена на ядра CEVA DSP. В компании Lattice Semiconductor также есть специалисты с их Lattice sensAI Stack, который включает в себя все необходимое для оценки, разработки и развертывания приложений AI / ML на базе FPGA.

Помимо преобразования исходной сети с плавающей запятой, используемой для обучения, в эквивалент с фиксированной запятой, пригодный для развертывания в качестве механизма вывода, интересным в этих инструментах является то, что они позволяют пользователю выполнять интеллектуальное квантование, в котором каждый уровень имеет только точность, необходимая для выполнения своей функции с заданным уровнем точности. В результате можно развертывать некоторые приложения AI / ML на 8-битных процессорах.

Итак, что такое TinyML? Согласно tinyML Summit: Крошечное машинное обучение в широком смысле определяется как быстрорастущая область технологий и приложений машинного обучения, включая аппаратное обеспечение (специализированные интегральные схемы), алгоритмы и программное обеспечение, способное выполнять работу датчиков на устройстве (зрение, аудио, IMU, биомедицинские и т. д.), аналитика данных при чрезвычайно малой мощности, обычно в диапазоне мВт и ниже, что позволяет использовать множество постоянно включенных сценариев использования и ориентироваться на устройства с батарейным питанием .

Всегда будут приложения AI / ML, требующие огромных вычислительных возможностей, предоставляемых облаком, но все чаще появляется возможность выполнять AL / ML на периферии, и TinyML выводит это на крайние границы Интернета в виде микроконтроллеры, которые взаимодействуют с реальным миром.

Согласно статье Почему TinyML - это гигантская возможность на сайте VentureBeat.com: Сегодня в мире 250 миллиардов микроконтроллеров. Кроме того, IC Insights прогнозирует, что к 2020 году продажи микроконтроллеров вырастут до 38,2 миллиарда единиц в год.

Несмотря на то, что концепция TinyML настолько нова, что на момент написания этой статьи о нем даже нет статьи в Википедии, такие компании, как Ericsson, уже предлагают TinyML как услугу.

Я уверен, что в ближайшие недели и месяцы мы будем больше говорить о TinyML. А пока в заключение отметим, что следующий Саммит TinyML состоится 12–13 февраля 2020 года в Сан-Хосе, Калифорния. Кроме того, книга Пита Уордена и Дэниэла Ситунаяке TinyML: Машинное обучение с TensorFlow Lite на Arduino и микроконтроллерах со сверхмалым энергопотреблением вышла 31 декабря 2019 г., то есть менее чем за две недели. назад на момент написания этой статьи.

Я подумываю заказать эту книгу и разработать собственное приложение TinyML. А ты? Готовы ли вы окунуться в воду TinyML?