TensorFlow и переход машинного обучения из исследований в инженерную дисциплину
Что открытый релиз TensorFlow меняет для компаний: пайплайн, воспроизводимость и развёртывание становятся основным вопросом, а не алгоритмы.
В начале ноября 2015 года Google открыла исходный код TensorFlow - своей внутренней системы для построения и обучения моделей машинного обучения. Это уже второй крупный открытый релиз такого рода за несколько лет - Facebook открыл Torch раньше, Microsoft ещё в процессе.
Для академического сообщества это ценный ресурс. Для компаний, которые думают о практическом применении ML, сигнал другого рода. Не "смотрите, какой хороший инструмент", а "машинное обучение перемещается из исследовательских лабораторий в инженерную дисциплину - со всеми вытекающими".
Что меняется с доступностью инструментов
Раньше построить глубокую нейронную сеть требовало либо написания значительного объёма низкоуровневого кода, либо доступа к закрытым внутренним инструментам крупных компаний. Сейчас инструменты доступны, документированы и имеют активные сообщества.
Это снижает барьер входа для построения моделей. Но создаёт другую проблему: построить модель стало проще, чем развернуть её и поддерживать. Это асимметрия, с которой бизнес столкнётся в ближайшие годы повсеместно.
Аналитик в команде может обучить модель за несколько дней. Довести её до состояния, когда она предсказывает в продакшне, обновляется при изменении данных, её результаты проверяются и документируются - это инженерная задача другого масштаба.
Три проблемы, которые инструмент не решает
Воспроизводимость. Модель дала хорошие результаты. Через месяц коллега пытается воспроизвести - и не может. Данные изменились, версия библиотеки другая, конфигурация среды не зафиксирована. Это не академическая проблема - это операционная реальность. Без управления версиями данных, кода и среды ML-эксперимент нельзя превратить в надёжный сервис.
Пайплайн. Обученная модель - это не конец работы. Данные нужно собрать, предобработать, передать в модель, результат интерпретировать, действие совершить. Каждый из этих шагов может сломаться. Пайплайн нужно строить, мониторить и обслуживать - как любую другую производственную систему.
Дрейф модели. Мир меняется. Данные, на которых обучалась модель, перестают описывать текущую реальность. Качество предсказаний снижается - иногда незаметно. Нужен процесс периодической оценки качества и переобучения. Без него модель, которая хорошо работала год назад, тихо деградирует.
Что это значит для организации
ML из исследований превращается в инженерию. Это означает:
- нужны люди, которые умеют не только строить модели, но и эксплуатировать их;
- нужна инфраструктура для хранения данных, версионирования экспериментов и развёртывания;
- нужны процессы качества - как для любого другого программного обеспечения.
Компании, которые воспринимают ML как набор впечатляющих демо и нанимают "data scientist'а, чтобы внедрить ИИ", через год обнаруживают, что модели есть, а пользы нет. Потому что между экспериментом и работающим сервисом - большой инженерный путь.
Практические вопросы
Если компания рассматривает серьёзное внедрение машинного обучения, стоит спросить:
- Есть ли у нас инженерные ресурсы для построения и сопровождения ML-пайплайна - или только аналитики, умеющие строить модели?
- Как будет выглядеть процесс обновления модели при изменении данных или снижении качества?
- Кто будет отвечать за мониторинг качества работающей модели?
- Как результаты модели встраиваются в существующие процессы - кто и как их использует?
TensorFlow - хорошая новость. Но вопросы пайплайна, воспроизводимости и развёртывания теперь становятся основными - именно потому что барьер к построению модели снизился.