Edge ML (машинное обучение на периферии) предполагает размещение ML-моделей на потребительских устройствах, где они могут самостоятельно делать выводы без подключения к Интернету, в режиме реального времени и бесплатно.
Фото Алессандро Оливерио (Alessandro Oliverio)
За последнее десятилетие многие компании перешли на облачные технологии для хранения, управления и обработки данных. Это представляется еще более перспективной областью для решения задач машинного обучения. Развертывая ML-модели в облаке, вы получаете доступ к множеству мощных серверов, которые обслуживаются сторонними компаниями. Вы можете генерировать прогнозы на новейших графических процессорах (GPU), тензорных процессорах (TPU) и процессорах машинного зрения (VPU), не беспокоясь о первоначальной стоимости установки, масштабируемости или обслуживании оборудования. Более того, облачные решения предлагают доступ к мощным серверам, которые могут делать выводы (процесс генерирования прогнозов) гораздо быстрее, чем локальные серверы.
Может сложиться впечатление, что деплой ML-моделей в облаке обойдется дешевле. В конце концов, вам не нужно создавать инфраструктуру или обслуживать все своими силами. Вы платите только за время использования сервера. Однако все не так однозначно. Расходы на облачные услуги продолжают расти из года в год, и большинству организаций трудно удержать эти расходы под контролем. Недавний отчет компании Gartner предсказывает, что расходы конечных пользователей на общедоступные облачные услуги достигнут почти 500 миллиардов долларов в 2022 году [1].
Крупные компании, такие как Netflix, Snapchat, Tik Tok и Pinterest, уже тратят сотни миллионов долларов на оплату счетов за облако ежегодно [2, 3]. Даже для малого и среднего бизнеса (МСБ) эти расходы составляют в среднем около одного миллиона. Объем работы по машинному обучению требует серьезных вычислений, которые дорого обходятся в облаке. Хотя облачные решения и обеспечивают простой способ управления ML-приложениями, в последнее время набирает обороты машинное обучение на стороне клиента (edge ML).
Источник: Отчет Flexera 2022 о состоянии облачных вычислений
От Cloud ML к Edge ML (От облачной платформы машинного обучения к локальной)
Чтобы держать под контролем текущие расходы, компании начали искать способы переложить как можно больше вычислительных операций на устройства конечных пользователей. Это означает размещение ML-моделей на потребительских устройствах, где они могут самостоятельно осуществлять выводы без подключения к интернету, в режиме реального времени и бесплатно. Возьмем, к примеру, Amazon Alexa и Echo, виртуальный помощник с голосовым управлением, который использует ML для решения различных задач. В сентябре 2020 года Amazon выпустила процессор AZ1 Neural Edge, который заставит Alexa проводить вычисления на устройстве, а не взаимодействовать с облаком. Благодаря переносу вычислений на периферийное устройство, Echo стал работать в два раза быстрее, а также должным образом была обеспечена конфиденциальность, поскольку данные обрабатывались локально [4].
Производительность
Вы можете создать самую современную ML-модель с высочайшей точностью, но если для получения ответа потребуется затратить дополнительно хотя бы на несколько миллисекунд больше, пользователи уйдут. Несмотря на то, что деплой ML-моделей в облако дает доступ к высокопроизводительному оборудованию, это совсем не означает, что время задержки вашего приложения реально уменьшается. Передача данных по сети обычно является более накладной по времени, чем увеличение производительности модели с помощью специального оборудования. Вы можете ускорить работу модели глубокого обучения на несколько миллисекунд, но при этом отправка данных по сети займет целые секунды.
Автономный вывод
Облачные вычисления требуют, чтобы ваше приложение имело стабильное интернет-соединение для постоянной передачи данных. С помощью граничных вычислений ваша программа может работать там, где нет подключения к Интернету. Это особенно полезно в тех областях, где сетевое соединение ненадежно, но приложение сильно зависит от вычислительных операций. Например, программное обеспечение для мониторинга сердечной деятельности может потребовать вычислений в режиме реального времени для прогнозирования состояния сердца пациента. Даже если соединение с Интернетом прервется, модель должна генерировать выводы на граничном устройстве.
Конфиденциальность данных
Граничные вычисления дают такое преимущество как конфиденциальность данных. Личные данные пользователей обрабатываются в непосредственной близости от оператора, а не накапливаются в корпоративном центре обработки. Кроме того, это уменьшает вероятность перехвата информации по сети. На самом деле, для многих случаев использования граничные вычисления - это единственный способ соблюсти требования конфиденциальности. Производители смартфонов все чаще используют системы распознавания лиц для разблокировки телефонов пользователей. Пользователи не хотели бы, чтобы их сугубо личные данные передавались или хранились в облаке.
Стоимость
Вероятно, самой привлекательной причиной для перехода на edge ML является то, что вам не нужно платить за регулярные услуги для вычислений в облаке. Если ваша модель находится на устройстве пользователя, все вычисления производятся на нем же. Модель свободно использует вычислительную мощность устройства потребителя, а не несет расходы за вычисления в облаке.
Текущие ограничения Edge ML
К настоящему времени вы уже убедились, что edge ML дает конкурентное преимущество. Однако текущий ландшафт инфраструктуры машинного обучения указывает на то, что для эффективного использования такой выгоды необходимо проделать большую работу. Современные модели глубокого обучения, как известно, огромны, а их деплой на периферийных устройствах - это уже отдельная задача. Периферийные устройства охватывают все виды любого оборудования - от смартфонов до встроенных процессоров и устройств IoT. Настоящей проблемой является оптимизация компиляции ML-моделей для работы на разнородных аппаратных платформах. Это постоянно развивающаяся область исследований, в которую бизнес вливает миллиарды долларов, чтобы возглавить гонку аппаратного обеспечения ML [5]. Крупные компании, включая NVIDIA, Apple и Tesla, уже выпускают собственные чипы ИИ, оптимизированные для запуска конкретных ML-моделей.
Что скрывают деревья решений? Приходите на открытое занятие, на котором разберем, как устроен популярный алгоритм машинного обучения — дерево решений — и применим его на практике для решения задачи классификации. Регистрация для всех желающих доступна по ссылке.
Комментарии (3)
michael108
03.11.2022 16:38+1Краткое содержание статьи: Обучение в облаке -- фу, все на Edge ML! За бугром многие рекламные статьи такие.
Практическая ценность -- только в том, что есть упоминание Edge ML, которое можно погуглить. За это спасибо. Кому интересно обучение на периферии -- может оказаться полезной эта статья (On-Device Training Under 256KB Memory).
raamid
03.11.2022 22:58Статья - это круто но скучно. Если прокликать по ссылкам, то можно выйти на их проекты:
raamid
Поддержу и, возможно, дополню. Можно выделить отдельное направление для вычислений на периферии - это вычисления в браузере.
С одной стороны, вычисления в браузерах примерно в 2 раза медленнее нативного кода. С другой стороны, браузер это "здесь и сейчас", когда не нужно ничего устанавливать и иногда даже не нужно регистрироваться. И это очень заманчиво - доставить клиенту работающую нейросеть просто переслав ссылку.