Привет, Хабр! Приглашаем на бесплатный Demo-урок «Современные большие данные, анализ и оптимизация производительности распределенных приложений». А также в этой статье решили рассказать, как складывается ситуация на рынке специалистов Data Science и конкретно в Big Data и что вас ждет на курсе по промышленному машинному обучению.
В крупных компаниях Data science в терминах fit-predict отходит в прошлое
Первое, что стоит отметить, что джуниоров сейчас избыток, а среди компаний выделяется тренд на то, чтобы искать Middle/ Senior специалиста, давать ему какое-то время на изучение своей инфраструктуры и сразу поручать ему боевые задачи.
При этом пока еще значительная часть начинающих специалистов считает, что Дата сайнтисту достаточно готовой реализации модели — обучить ее на каких-то данных и отдать ее Дата инженеру, ну а там дальше как-нибудь разберутся. Но сейчас все движется к тому, что сами процессы обучения и валидации настолько отстроены и понятны, что даже неспециалист может сделать fit-predict. Получается, что люди, которые умеют заниматься лишь этим, в отстроенных конвейерах не очень нужны.
Кроме того, существует проблема подготовки специалистов, которые обладали бы знаниями в инженерной области хотя бы на уровне bird view. В классических курсах немного информации по этой части, в том числе и потому, что тяжело сходу развернуть необходимую инфраструктуру, а задачки на Kaggle этого не требуют. Когда же вы приходите в большую компанию, вас встречает кластер на десятки петабайт, где надо писать распределенные алгоритмы на фреймворках, которые отличаются от стандартного набора Дата сайнтиста. С одной стороны многих это пугает, а с другой — те, кто разбирается в этом хотя бы на базовом уровне, получают преимущество при найме.
Альтернативная специальность для Дата сайнтистов и Software инженеров
Курс «Промышленный ML на больших данных» предлагает симбиоз навыков Дата сайнтиста и Дата инженера. Как правило, такие специалисты требуются в крупные компании с масштабным цифровым продуктом, где нужно работать с потоковыми данными.
Соответственно, освоить этот профиль могут как специалисты из области машинного обучения, так и те, кто обладают бэкграундом в software инжиниринге. Причем вторым будет несколько проще, т.к. базовый ML изучать проще, чем полный стек инженерных технологий.
Навыки, необходимые для работы с Big Data и распределенными данными
Если кратко, то вам понадобится знать особенности обработки распределенных данных, освоить фреймворк Spark и научиться всем составляющим продакшена.
Мы все это (и немного больше) упаковали в онлайн-курс «Промышленный ML на больших данных».
Программа рассчитана на 5 месяцев и состоит из 9 модулей:
Модуль 1 посвящен начальным знаниям, которые необходимы для освоения дальнейшей программы. Быстрое повторение ML: какие бывают модели, метрики и виды обучения, как мы учим модели, все меряем, валидируем и делаем из полученного выводы.
Сюда же мы включили занятие по Scala. Хотя с большими данными с помощью фреймворка Spark можно общаться и на Python, мы все же предлагаем познакомиться и со Scala, чтобы вы могли контактировать со Spark через его нативное API. В завершение модуля вас ждет домашняя работа на Scala.
В модуле 2 вы познакомитесь с техническими основами распределенной обработки данных. Узнаете про хранилище, как развивались параллельные алгоритмы, какие есть менеджеры ресурсов в таких распределенных системах. Начнете работать со Spark и выполните на нем домашнее задание.
В модуле 3 начинаем погружаться в распределенный ML. Показываем, как учатся модельки в распределенной парадигме на Spark, как подбирать гиперпараметры. Т.е. мы переводим релевантный для Дата сайнтиста опыт локальных вычислений на распределенную парадигму.
Модуль 4 посвящен потоковой обработке. В первую очередь, с этим полезно познакомиться тем, кто занимался соревновательным анализом данных или работал в ограниченных ресурсах. Эти навыки больше относятся к работе в больших компаниях, где есть какой-то непрерывный поток входящих данных, которые надо обрабатывать, складывать, хранить, применять к ним на ходу ML.
Задача модуля 5 — научить вас формировать долгосрочные и краткосрочные цели для ML-проекта. Вы будете понимать, как достигать этих целей и оценивать результаты. Пара занятий выделена специально под то, как проводить А/B тестирование.
Модуль 6 отвечает на вопросы, как и зачем обучать модели. Вы узнаете, как раскатывать модели в своей инфраструктуре: оборачивать, версионировать, воспроизводить, сервить и т.д. Все это для больших данных и распределенной парадигмы.
Модуль 7 отводится под Python. Вы освоите различные практики: как писать на нем в продакшн и как это все оборачивать, как вставлять модель на сервинг, делать для нее API, запаковывать в контейнеры и раскатывать на примере облачных систем вроде Amazon.
Модуль 8 мы выделили под продвинутые темы. Здесь разберем, как запускать в продакшн нейросети, обучение с подкреплением, а закончим модуль градиентным бустингом, где вы научитесь запускать его распределенно на кластере.
Модуль 9 посвящен проектной работе. Тут вам доступны два варианта действий:
Можно взять свой рабочий кейс, над которым вы сейчас трудитесь. Тогда вы будете выполнять поставленную задачу end to end: начиная с данных, которые потоком приходят или в виде датасета отгружаются, и заканчивая результатом, которые дают ваши модели в виде сервиса, выгрузки и т.д.
Можно сделать учебный проект: рекомендательную систему на базе данных OTUS.
Специальность, которую дает эта программа, не только максимально прикладная, но и с каждым годом будет становиться все перспективнее. Это связано и с тем, что все больше цифровых продуктов делают акцент на обработку данных и все чаще от специалистов требуется не только обучить модель, но и правильно подготовить ее в продакшн.
Если область промышленного ML вам интересна, сделать первые шаги в этом направлении вы сможете уже 19 октября на демо-уроке «Вывод ML моделей в промышленную среду на примере онлайн-рекомендаций», который проведет Дмитрий Бугайченко — управляющий директор в Сбербанке. Так как занятие рассчитано на специалистов с опытом в работе с данными, для регистрации понадобится пройти вступительное тестирование.
Сам курс «Промышленный ML на больших данных» стартует 30 октября. Познакомиться с преподавательским составом и программой можно здесь.
До встречи на занятиях!