Наш обзор всех новостей и анонсов о TensorFlow Lite с саммита разработчиков TF в этом году
По всему миру TensorFlow Lite, фреймворк TensorFlow для моделей машинного обучения на устройствах (мобильные и периферийные устройства), работает более чем на 4 миллиардах устройств. Это миллиард с буквой B.
Последствия очевидны. Машинное обучение на периферии больше не является чем-то на горизонте, а представляет собой фундаментальное приложение машинного обучения в более широком смысле.
На прошлой неделе TensorFlow провела свой ежегодный саммит разработчиков в прямом эфире (личное мероприятие было отменено из-за глобальной пандемии COVID-19), и команда посвятила одно заседание последним улучшениям, поддержке и возможностям TensorFlow Lite. В этом обзоре мы представим обзор и наши мысли по поводу этих событий.
Но прежде чем погрузиться в подробности, если вам нужна дополнительная информация о TensorFlow Lite, преимуществах и потенциале машинного обучения на устройстве или если вы хотите погрузиться в код и приступить к работе, вот несколько полезных ресурсов:
Что такое TensorFlow Lite?
Преимущества и возможности машинного обучения на устройстве
Начало работы с TensorFlow Lite: учебные пособия
Сессия: TensorFlow Lite для мобильных устройств и Интернета вещей
Команда TensorFlow анонсировала впечатляющий набор улучшений и дополнительных функций, направленных как на удобство использования, так и на производительность. Давайте нырнем!
Примечание. Все приведенные ниже скриншоты были сделаны из записанной прямой трансляции сеанса.
Расширение библиотеки поддержки
С момента создания TF Lite в 2017 году, по-прежнему, основной задачей команды TensorFlow было постоянное увеличение и усиление поддержки фреймворком языков программирования, интеграции платформ и многого другого. Так что, возможно, неудивительно, что расширенные функции поддержки занимали видное место в объявлениях этого года.
- Новые графические и языковые API-интерфейсы для упрощения рабочих процессов разработки.
- Интеграция с Android Studio: позволяет разработчикам перетаскивать модели TFLite в проекты Android.
- Генерация кода: позволяет автоматически создавать классы Java для моделей TFLite. В частности, эта функция позволяет разработчикам загружать модели, устанавливать входные данные, запускать эти модели и легко получать доступ к результатам модели. Этот инструмент генерации кода работает, считывая метаданные модели, а затем генерируя оболочку Java, которая включает API для конкретной модели и сопутствующий фрагмент кода. Подобно тому, как Swift работает с Core ML (платформа Apple для мобильного машинного обучения).
Характеристики метаданных модели
Говоря о метаданных модели, разработчики теперь могут создавать спецификации метаданных при построении моделей. Эти спецификации помогут командам машинного обучения лучше понять, как работают их модели и как их следует использовать в производстве (то есть, что делает модель, ожидаемые входные и выходные данные, номер версии и т. Д.).
Такие детализированные метаданные модели могут помочь организовать и ускорить рабочие процессы разработки проекта - в частности, группы разработчиков могут лучше отслеживать версии моделей, быстрее экспериментировать с различными конфигурациями и управлять вариантами, чтобы развернуть их на нужных устройствах в нужном месте. правильное время.
Создатель моделей TensorFlow Lite
Одним из самых больших анонсов команды TFLite стало введение TFLite Model Maker, библиотеки Python, которая позволяет легко настраивать модель для вашего собственного набора данных.
Команда утверждает, что для эффективной работы с этой библиотекой не требуется никаких знаний в области машинного обучения, поскольку для реализации требуется всего 4 строки кода.
Затем разработчики могут легко экспортировать полученную модель в формат TFLite, что упростит развертывание на мобильных и периферийных устройствах. Чтобы сделать это возможным, Model Maker использует так называемое трансферное обучение. Трансферное обучение, по сути, работает, если взять модель, уже обученную для одной задачи, и использовать ее в качестве отправной точки для построения модели для другой задачи.
Из того, что мы можем сказать, Model Maker теоретически похож на Create ML, инструмент Apple для построения моделей, который также использует предварительно обученные архитектуры моделей и перенос обучения для ускорения разработки пользовательских моделей.
В настоящее время поддерживаются модели классификации как текста, так и изображений, и вскоре ожидается появление возможностей обнаружения объектов и вопросов и ответов.
Делегирование Core ML и поддержка Neural Engine от Apple
Независимо от того, с какими инструментами вы работаете, или от характера вашего проекта и сценария использования, одной из основных проблем с машинным обучением на периферии остается разработка согласованного кроссплатформенного взаимодействия, которое также хорошо работает на разных устройствах.
Именно поэтому объявление делегата Core ML с доступом к нейронному движку Apple (для устройств, работающих на iOS 11+ и A12 + SoC) таким важным и многообещающим. Более легкое взаимодействие между платформами устройств и фреймворками приведет не только к повышению производительности (ускорение в 4–14 раз при использовании Neural Engine вместо ЦП), но и к упрощению кроссплатформенной разработки, особенно для мобильного машинного обучения.
Улучшения производительности
В дополнение к новой поддержке и функциям, описанным выше, команда также объявила о ряде конкретных улучшений производительности, сделанных за последние несколько месяцев.
- Повышение производительности: ускорение вывода на 30–300% с процессором Arm x86
- Поддержка OpenCL и Android NNAPI ops
- Улучшения производительности MobileNetV1
- Дополнительные оптимизации ЦП также ожидаются в TFLite 2.3 (скоро) с квантованием после обучения и XNNPack для моделей с плавающей запятой.
Другие объявления / улучшения
В дополнение к рассмотренным выше объявлениям, команда TFLite также выделила несколько других разработок фреймворка, которые кратко изложены ниже:
- Профилирование модели: TFLite интегрирован с Perfetto, стандартным инструментом Android Studio для профилирования, помогающего решать проблемы с памятью.
- Преобразование моделей: улучшения, позволяющие преобразовывать модели НЛП, модели сегментации и многое другое. Конвертер будет включен по умолчанию в TF 2.2, которая сейчас находится в бета-версии.
- Новые API и удобство использования: Swift, Obj-C, C & C #; и поддержка Rust, Flutter и Go на уровне сообщества.
- Расширенная поддержка оборудования и инструментов для TFLite для микроконтроллеров, в частности с библиотекой поддержки Arduino.
- В TF Hub добавлено больше предварительно обученных моделей
Что ждет TensorFlow Lite дальше?
Одна из вещей, которые мне больше всего нравятся в экосистеме TensorFlow, - это то, что она ценит вклад сообщества и членов своей команды, а также довольно прозрачно и щедро детализирует свои планы на будущее.
Поэтому вместо того, чтобы строить предположения или создавать причудливый список желаний, вот краткий обзор того, что команда TFLite, в широком смысле, имеет в своей дорожной карте продукта:
Команда также подробно описала предлагаемую дорожную карту на своем веб-сайте, и они действительно поощряют вклад сообщества (исходя из опыта нашей команды 😄).
Я надеюсь, что этот обзор объявленных улучшений и функциональных возможностей TensorFlow Lite оказался полезным. Приятно видеть постоянный прогресс в разработке инструментов, которые делают работу мобильных и периферийных устройств с помощью машинного обучения проще, производительнее и доступнее.
Чтобы узнать больше о других новостях TensorFlow, появившихся на Саммите разработчиков, ознакомьтесь с отчетом о мероприятии Лоуренса Морони здесь:
Примечание редактора: Heartbeat - это онлайн-публикация и сообщество, созданное авторами и посвященное предоставлению первоклассных образовательных ресурсов для специалистов по науке о данных, машинному обучению и глубокому обучению. Мы стремимся поддерживать и вдохновлять разработчиков и инженеров из всех слоев общества.
Независимая редакция, Heartbeat спонсируется и публикуется Comet, платформой MLOps, которая позволяет специалистам по обработке данных и группам машинного обучения отслеживать, сравнивать, объяснять и оптимизировать свои эксперименты. Мы платим участникам и не продаем рекламу.
Если вы хотите внести свой вклад, отправляйтесь на наш призыв к участникам. Вы также можете подписаться на наши еженедельные информационные бюллетени (Deep Learning Weekly и Comet Newsletter), присоединиться к нам в » «Slack и подписаться на Comet в Twitter и LinkedIn для получения ресурсов, событий и гораздо больше, что поможет вам быстрее и лучше строить модели машинного обучения.