Разнообразные и разнонаправленные изменения, на которые 2022-й оказался более чем щедр, натолкнули на размышления о том, каков текущий Ops-ландшафт и как он (потенциально) будет изменяться в ближайшей и среднесрочной перспективе. И хотя все сейчас живут в соответствии с известным изречением «Хочешь насмешить Бога — расскажи ему о своих планах», можно попытаться кое-что спрогнозировать.
К слову о прогнозировании: несмотря на недавние новости о снижении мобильного трафика в России, Nokia Bell Labs предсказывает рост мирового объема IP-трафика в 2022 году до уровня в 330 эксабайт в месяц. А количество устройств, подключенных к Интернету вещей, по мнению экспертов, вырастет до 100 млрд в 2025 году. И большую часть сгенерированных устройствами и пользователями данных, так или иначе, будет анализировать бизнес.
Для автоматизации этого процесса используются платформы обработки и хранения данных, которые дают аналитикам огромные возможности по их глубокому изучению. Однако инфраструктуры таких платформ довольно сложно сопровождать — они содержат много компонентов и связей между ними. А у BI-специалистов свои задачами, им недосуг следить за тем, как, например, распаковывается JSON или извлекаются данные. Так что «платформа ищет человека». И находит его — в лице DataOps- и MLOps-инженеров.
DataOps
Время идёт, инфраструктуры меняются, становятся сложнее и обрастают новыми возможностями. Кроме кода и приложения, теперь есть ещё большие, а местами просто гигантские данные, то есть та самая Big Data.
Можно сказать, что DataOps появляется, когда кроме непосредственно кода и среды его выполнения, необходимо ещё и сопровождать потоки данных. То есть это инженеры сопровождения, которые работают уже с несколько другими компетенциями, по большей части связанными с данными и аналитикой.
Почему DataOps сейчас актуален?
Раньше администрированием платформ по работе с данными занимался кто угодно, но не отдельный сотрудник. Это мог быть DevOps в штате, аналитик данных, специалист по машинному обучению (Data Scientist) или кто-то еще. Но с ростом объёма данных растёт и актуальность инженера по DataOps именно как выделенного специалиста. Его ценность в том, что он снимает рутинные обязанности с аналитиков и освобождает им больше времени для непосредственной работы.
Повышает востребованность DataOps и то, что работу с данными сейчас продвигают компании, имеющие собственные платформы по обработке и хранению данных. Соответственно, нужны специалисты, которые смогут сопровождать эти решения и обеспечивать их работоспособность.
Чем занимается DataOps?
Весь DataOps-процесс можно представить на такой вот схеме:
Таким образом, задачи DataOps — сбор данных, их очистка, преобразование, а также оркестрация потоков данных таким образом, чтобы они в нужном виде исправно попадали потребителям этих данных.
Важный аспект в этой работе — проверка качества данных на каждом этапе. Тут всё просто, и этот момент хорошо описывает правило «garbage in — garbage out». Если работать с мусором — некачественными данными, — то и результат будет соответствующий: инсайты ошибочными, а ML-модели вместо умиротворяющих пейзажей станут генерировать реки лавы, озера серы и прочие элементы адского ландшафта. Как в DevOps важна бесперебойная работа приложения, так в работе с данными важна проверка их качества.
Точно так же, как и DevOps, DataOps работает и с бизнесом, и с пользователем, и с разработчиком, плюс аналитики, инженеры и исследователи данных.
MLOps
MLOps, в отличие от DataOps, на текущий момент — более растиражированная концепция, и про нее можно найти больше информации.
Если вкратце: MLOps — это процесс построения, настройки и поддержки работоспособности инфраструктур, которые на выходе дадут обученную модель машинного обучения.
Востребованность этой методологии очевидным образом связана с распространением машинного обучения. Сейчас ML-платформы и нейросети используются для самых разных отраслей, от подбора персонала до создания ИИ, способного писать тексты и рисовать картины.
Количество данных, на которых учится MLOps, растёт очень быстро, и с ними необходимо работать: очищать, оркестрировать, преобразовать. При этом специалисты по машинному обучению должны заниматься своими задачами, и у них нет времени на рутину. Вот тут как раз на сцене и появляется MLOps.
Чем занимается MLOps?
Возникает резонный вопрос, чем же MLOps отличается от своего Data-побратима?
Для того чтобы найти ответ, достаточно взглянуть на эту картинку, иллюстрирующую бесконечный MLOps-процесс:
Каждый из этих процессов по-своему сложен. Кроме того, что нужно извлечь данные и поработать с ними, нужно потом на этих данных ещё и обучить модель. Но не абы какую, а хорошую, ту, которая после доставки в среду выполнения будет приносить какую-то бизнес-ценность.
Ценность работы специалиста по MLOps в том, чтобы все эти процессы работали, данные были качественные и модель обучалась на этих данных. Корреляция тут простая: плохие данные плохо обучат модель, а она даст некачественный результат в среде выполнения. Поэтому ещё нужно следить за качеством самой модели. И мониторить, как функционирует вся цепочка и инфраструктура — от извлечения данных для обучения модели до доставки готовой модели на production.
Примерно так выглядит более-менее полный список тех, с кем взаимодействует MLOps.
DataOps и/или MLOps как объект интереса. Со всех сторон
Вот графики интереса к методологиям DevOps, DataOps, MLOps.
График интереса к DevOps, данные Google. Рост с 2014 года, стабилизация интереса примерно в 2019. Примерно тогда же акцент смещается в сторону работы с данными и ML-моделями.
График интереса к DataOps, MLOps. Примерно с августа 2019 в сети стали всё чаще говорить про эти методологии.
Какие технологии нужно изучить и что почитать по теме?
Из стандартных решений, вроде Ansible и Terraform в DevOps, можно выделить Kubeflow. Это своеобразный Kubernetes-дистрибутив с открытым исходным кодом, который работает по принципу on premise и содержит много ML-инструментов. Другой продукт, но уже не построенный на контейнерах, который стоит выделить, — это MLFlow. Он представляет собой готовую Open source платформу для управления жизненным циклом моделей машинного обучения.
Чтобы глубже понимать концепции, которые заложены в методологии, стоит посмотреть Эндрю Ына, одного из основателей Coursera; прошлым летом у него вышло видео про то, как видят MLOps-процесс Data Science специалисты. Почти вся информация по вопросу собрана в гитхабе awesome-mlops, который курирует Лариса Висенгериева, главный эксперт сайта ml-ops.org и кандидат наук по дисциплине «качество данных». Ещё можно почитать блог ML-специалиста Синь Чэня, там есть обстоятельный лонгрид на тему ML- и DataOps.
Мы предполагаем, что в ближайшие 2-3 года интерес к этим специализациям только усилится. Поэтому советуем коллегам из команд по эксплуатации обдумать развитие своих компетенции в этом направлении. Особенно если есть интерес в работе с данными и машинном обучении.
SLASH_CyberPunk
Вы извините, но у вас DataOps - это обычный Data Engineer. А сам DataOps про другое...
Как и MLOps, MLOps не может отвечать за качество данных для модели, модель писал DS и данные он тоже использовал, а данные, подготавливал все тот же DE...