Машинное обучение для мобильных разработчиков вместе с Firebase ML
Артём ШумидубМашинное обучение предоставляет много возможностей и каждый день становится все более востребованными, в том числе и для мобильных приложений. Благодаря TensorFlow Lite использование моделей машинного обучения в мобильных приложениях стало проще.
Однако проектирование и обучение ML моделей, особенно Deep Learning моделей, все еще требует большого уровня мастерства, времени и вычислительных мощностей.
По этой причине Google разрабатывает инструменты, призванные облегчить использование возможностей машинного обучения в мобильных приложениях для разработчиков любого уровня познаний в Machine Learning.
В июне 2020 года выпущенный ранее проект ML Kit for Firebase разделили на два отдельных продукта:
2) ML Kit
Firebase Machine Learning
C Firebase ML можно в пару строк кода начать использовать уже натренированные модели для некоторых пользовательских сценариев в мобильных приложениях:
- распознавание текста
- маркировка изображений
- распознавание ориентиров
Firebase Machine Learning предоставляет cloud-based API. Вычисления модели происходят в облаке. У размещенных в облаке моделей большая вычислительная мощность (особенно если сравнивать с мобильным устройством) и получаемый результат точнее. Однако для работы необходимо выполнять сетевые запросы и такое решение может не подходить для ситуаций, где необходимы малые задержки или работа без подключения к сети.
Помимо работы с уже готовыми натренированными моделями Firebase ML предоставляет возможность развернуть в облаке собственную TensorFlow Lite модель. Модель будет размещена на серверах Google и скачана на мобильное устройство при первой необходимости. Доступно обновление модели в облаке. Все это позволяет не увеличивать размер приложения при установке и использовать новые версии моделей без повторной публикации приложения.
Можно тестировать разные версии таких моделей благодаря Firebase A/B Testing или использовать разные модели для разных сегментов пользователей благодаря Firebase Remote Config.
В настоящее время Firebase ML находится в состоянии beta релиза.
ML Kit
В том случае, если необходимо использовать модели, которые вычисляют ответ полностью на мобильном устройстве и работают без сетевых запросов - можно обратить внимание на ML Kit.
ML Kit - это мобильный SDK (доступен и для Android и для iOS), который предоставляет возможность использовать предварительно обученные модели. Автономность позволяет применять такое решение в режиме реального времени и оффлайн.
Доступны решения для разных пользовательских сценариев:
- распознавание текста
- маркировка изображений
- обнаружение и отслеживание объектов
- обнаружение лица и отслеживание контуров
- сканирование штрих-кодов
- идентификация языка
- перевод
- smart reply
C ML Kit также есть возможность использования собственных моделей машинного обучения.
Если в проекте ранее использовался ML Kit для Firebase SDK, то для использования новых версий ML Kit нужно выполнить миграцию: