9 ноября Google выложил TensorFlow в открытый доступ под лицензией Apache 2.0. Это не очередная исследовательская библиотека «для статьи на конференции» – это движок, на котором уже работают распознавание речи в Android, поиск по фото и ранжирование в Gmail. Компания, которая обычно держит инфраструктуру при себе, отдала её целиком. Разберём, что изменилось для тех, кто строит прикладные системы, а не пишет диссертации.
Чем TensorFlow отличается от того, что было
До сих пор серьёзный инструментарий для глубокого обучения жил в академической среде: Theano, Caffe, Torch. Каждый требовал отдельной экспертизы, и переход от прототипа на ноутбуке исследователя к работающему сервису превращался в отдельный проект с переписыванием кода.
TensorFlow устроен иначе. Вы описываете вычисления как граф, а исполнение библиотека раскладывает по доступному железу – CPU, GPU, несколько машин – без переписывания модели. Один и тот же код считает на рабочей станции при обучении и на сервере при инференсе. Для нас как интегратора это главное: сокращается разрыв между «получили модель» и «запустили в эксплуатацию».
Лицензия Apache 2.0 снимает юридические вопросы для коммерческого и государственного применения – можно встраивать, модифицировать и поставлять в составе продукта без лицензионных отчислений и без вирусного эффекта GPL.
Что это меняет для прикладных задач
Глубокое обучение перестаёт быть экзотикой и становится инженерной дисциплиной. Конкретные сценарии, где это уже применимо:
- классификация и маршрутизация обращений – продолжение темы, которую мы поднимали в материале про чат-боты в клиентском сервисе, но теперь с моделями, обучаемыми на ваших исторических данных;
- распознавание текста в сканах документов для документооборота госсектора;
- прогнозирование нагрузки, аномалий и отказов в технологических процессах;
- анализ изображений в задачах контроля и мониторинга.
Важная оговорка: открытый код движка не отменяет необходимости в данных и в их корректном размещении. Модель учится на ваших массивах, и они остаются вашей зоной ответственности. Для государственных и регулируемых заказчиков это упирается в требования к хранению – тему мы подробно разбирали в статье про локализацию персональных данных. С 1 сентября закон уже действует, и обучающие выборки персональных данных не выпадают из его периметра.
Как это выглядит в продакшене
Обучить модель – половина дела. Вторая половина – вывести её в эксплуатацию так, чтобы она держала нагрузку, обновлялась без простоя и масштабировалась. TensorFlow хорошо ложится на контейнерную инфраструктуру: модель упаковывается в образ, инференс выносится в отдельный сервис, обучение запускается как пакетная задача. Здесь пригодится оркестрация, о которой мы писали в обзоре выхода Kubernetes 1.0 – она снимает ручное управление развёртыванием и позволяет держать модель в продакшене предсказуемо.
Мы трезво смотрим на ограничения. TensorFlow вышел вчера, экосистема вокруг него только формируется, документация местами сырая, готовых обученных моделей под русский язык почти нет. Это инструмент для тех, кто готов вкладываться в данные и инженерию, а не нажать кнопку и получить результат.
Вывод
Релиз TensorFlow – сигнал, что глубокое обучение переходит из лабораторий в продакшен. Технологический барьер снизился, юридический благодаря Apache 2.0 – тоже. Остался барьер компетенций и данных – путь от постановки задачи и подготовки данных до вывода модели машинного обучения в эксплуатацию. Если у вас есть данные и задача, под которую тянется машинное обучение, – обсудим её.