Колонки

«У дата-сайентистов довольно много рутины». Как выглядит рабочий день такого специалиста и что нужно, чтобы им стать?

Колонки
Александр Лоскутов
Александр Лоскутов

Аналитик данных «СИБУР Холдинга»

Полина Константинова

Цифровая трансформация наконец добралась и до промышленного сектора. А значит, времена, когда предприятиям требовались только слесари, инженеры, начальники участков и операторы станков, уже прошли. HR-служба обнаруживает у себя заявки на поиски таких сотрудников, как дата-сайентист, продуктовый дизайнер и скрам-мастер.

Rusbase вместе с командой цифровизации СИБУРа разбирается, что это за новые специалисты, которые появляются на рынке труда и модернизируют промышленность. В этом выпуске о своей профессии расскажет Александр Лоскутов, аналитик данных «СИБУР Холдинга».

«У дата-сайентистов довольно много рутины». Как выглядит рабочий день такого специалиста и что нужно, чтобы им стать?

Профессия: дата-сайентист.

Суть работы: анализ данных, выявление в них неочевидных закономерностей и правил, которые обычному человеку сложно найти вручную и грамотно сформулировать.


Всем привет! Меня зовут Саша, и я дата-сайентист (вы же сказали протяжным хором «Привет, Саша»?). Сейчас я расскажу, как я до этого докатился и что это вообще такое.

Если вы хотите поделиться опытом работы в крупной компании или маленьком стартапе, рассказать о перипетиях своей карьеры и раскрыть секреты профессии, пишите на careerist@rb.ru. Лучшие рассказы опубликуем на Rusbase.

Дата-сайентист — это тот же аналитик данных, мы чаще называем себя именно так. Дата-сайентист, конечно, звучит круче, но нас так зовут в простонародье. Это я к тому, чтобы вы не удивлялись, если я дальше буду редко упоминать дата-сайентистов и часто аналитиков. Пусть будут синонимами.

Тем, с кем постоянно общаюсь (семья, друзья), я уже объяснил, что это такое. К тому же у большинства моих друзей есть математический бэкграунд, и моя профессия им понятна. Для всех остальных я тот самый «тыжпрограммист» или «тыжайтишник», который в свободное время помогает знакомым настраивать компы и вай-фай. 

Кто такой дата-сайентист?

Проще всего объяснить на примерах. Возьмем рынок полипропилена. Есть цены на продукцию, которые формируются на основе каких-то факторов, например, стоимости сырья, курса валют, макроэкономических показателей различных стран или ситуации вокруг заводов-производителей полипропилена. Все это влияет на динамику цены полипропилена, но как именно — непонятно. 

Все знают только примерную зависимость, вроде того, что если стоимость нефти растет, то и полипропилен может подорожать, а может и не подорожать, если сыграют еще какие-то факторы. В общем, диванная аналитика на кофейной гуще. Пока не придет дата-сайентист.

Он использует статистику и алгоритмы машинного обучения, чтобы выявить зависимость стоимости полипропилена. Условно говоря, он может рассчитать, что удорожание барреля нефти на $10 приводит к росту цен на тонну полипропилена на $5. Такая информация нужна для того, чтобы спрогнозировать развитие событий и принять бизнес-решение. 

Например, в результате расчетов можно рекомендовать заводу заранее закупать побольше сырья, если цена на него низкая, чтобы сэкономить, когда его стоимость поползет вверх. Или предсказать цены на разных рынках, чтобы выбрать, где продать товар выгоднее с учетом остальных факторов, влияющих на прибыль. Вариантов использования прогнозов множество.

Другой пример. Допустим, есть завод, собирающий двигатели. Важной деталью двигателя является блок цилиндров, которые иногда получаются бракованными, допустим, примерно 5% из общей массы. Правда, выясняется это только во время тестирования двигателя в сборе, и в этом случае из-за бракованного блока весь двигатель отправляется на свалку. 

Аналитик пытается предсказать с помощью модели машинного обучения, бракованный блок цилиндров или нет. Но сама по себе такая модель не решает задачи бизнеса. Поэтому аналитик старается с помощью этой модели ответить на вопрос: какие блоки мы будем выкидывать, а какие допускать до тестирования, чтобы минимизировать издержки (выкидывание блоков, которые мы считаем бракованными + поломка двигателей во время теста из-за все же допущенных до тестирования блоков). Таким образом получается не просто модель в вакууме, а уже конкретное бизнес-решение.

Работая с данными, мы пытаемся систематизировать опыт других людей. Например, решая, как держать заданные параметры и нужный режим работы оборудования, технологи опираются на техническую документацию и собственный опыт. Но часто есть возможность предложить более оптимальное решение, которое человек мог не заметить или не знать. 

Например, иногда производство может работать небольшой период времени в режимах, отличающихся от привычного. Долговременный эффект от таких изменений сложно выявить, но с помощью анализа данных есть возможность понять, были они более или менее оптимальными с точки зрения издержек на длинной дистанции. Человеку этот эффект отследить практически невозможно, так как необходимо иметь модель работы производства для прогнозирования результатов.

Как он это делает?

Задачи аналитику ставит владелец продукта или проектный менеджер. Например, разработать и внедрить какую-то модель на производстве. Владелец продукта оценивает сложность задачи и собирает необходимую для решения команду: дата-сайентист, фронтенд- и бэкенд-разработчики, дизайнер и так далее. Специалистов каждой специальности может быть несколько, а может и ни одного, в зависимости от задачи и предполагаемого решения. 

Расскажу, как мы в СИБУРе строим модель. Допустим, мы хотим предсказать факт брака детали по данным с датчиков на производстве.

  1. Первый этап — сбор данных. Аналитик готовит данные для анализа: выгружает из различных источников, обрабатывает пропуски в данных (значения, которые должны быть, но отсутствуют). На выходе получается таблица.
  2. Второй этап — предварительный анализ. Бывает полезно нарисовать разные графики и внимательно их изучить. В шутку некоторые аналитики называют это методом «пристального взгляда». Это может дать интересные соображения, помочь выявить странности и много чего еще, что поможет в решении задачи.
  3. Третий этап — построение признакового описания. Поясню, что это. У нас уже есть таблица с данными от датчиков, но в большинстве случаев этого мало. Необходимо самостоятельно рассчитать некоторые величины, которые могут помочь классифицировать деталь как бракованную. 

Например, может быть недостаточно измерить температуру в разных точках детали датчиками. Есть смысл рассчитать среднее арифметическое по всем этим датчикам, а также максимальную, минимальную температуру, разброс температур и много чего еще. 

Таким образом, рассчитывая и добавляя новые величины, мы расширяем признаковое описание нашей детали. Именно это описание (набор чисел для каждой детали) мы используем для построения модели. В нашем примере моделью будет являться некоторый алгоритм, который пытается восстановить зависимость между признаковым описанием детали и ответом (есть брак или нет).

Множество моделей уже реализованы, и их нужно лишь обучить, то есть дать признаки и ответы, чтобы заранее определенным способом модель подобрала параметры алгоритма.

В итоге модель обычно представляет из себя код, который может прочитать данные (например, из таблицы Excel или из базы данных), построить предсказания и записать результат (опять-таки в таблицу или базу данных).

Но в таком виде модель еще нельзя считать законченной. Модель должна быть внедрена и работать у заказчика.

Если говорить о конкретных проектах, в которых я принимал участие в СИБУРе, то первой была задача разработки модели для производства изобутилена, которая должна была предсказывать коксование. На решетках реактора образуются углеродные отложения, которые могут решетки повредить. 

Помимо самой модели, необходимо было сделать визуализацию предсказаний, которая должна обновляться в реальном времени после каждого пересчета предсказаний, а также реализовать регулярную загрузку актуальных данных в базу для расчета предсказаний. Этой задачей я занимался один, при этом периодически пользовался помощью коллег в некоторых вопросах, связанных с производственной системой хранения данных.

Еще одной, гораздо более объемной задачей, над которой я продолжаю работать до сих пор, является разработка программы-советчика для производства дегидрирования пропана. Модель должна учитывать большое число параметров очень сложного процесса производства, а итоговое решение должно позволять технологам планировать работу установки на несколько лет вперед. 

В этом проекте я выступаю уже больше как архитектор и разработчик фреймворка, отвечающего за все вычисления. В то время как мой коллега, тоже аналитик данных, но с профильным химическим образованием, больше решает задачи моделирования, в том числе с использованием химии и физики, хотя это разделение обязанностей весьма условно. Также в этом проекте участвуют фронтенд-разработчики, так как визуальная часть нашего решения достаточно сложна.

Как стать дата-сайентистом? 

Я расскажу свою историю, а вы поднимайте руки, если узнали себя. В детстве у меня были классические мечты о том, кем я стану, когда вырасту. Точно не помню, наверное, пожарным. Потом хотел пойти по стопам отца, который руководил строительством башен и вышек для связи. 

С детства я увлекался математикой, с младших классов участвовал в олимпиадах. После окончания школы решил пойти в МФТИ (Московский физико-технический институт). Там есть Факультет инноваций и высоких технологий (ФИВТ) с экономическим направлением. 

Я думал, что научусь там математике и экономике, а потом стану предпринимателем (тогда я считал, что это так и работает). Что именно я собирался предпринимать, неизвестно. Но когда на втором курсе у нас начались занятия по микро- и макроэкономике, мне показалось, что это какая-то ерунда и абсолютно не мое. А вот программирование, которое пошло сразу с первого курса, наоборот очень нравилось. С++, алгоритмы данных — вот это вот все.

В итоге на третьем курсе я выбрал кафедру анализа данных, которую курировал «Яндекс». В магистратуру я также пошел на эту кафедру и в начале пятого курса поступил в Школу анализа данных «Яндекса», при этом оставшись работать в этой компании. Там я занимался разработкой решений с применением машинного обучения для внешних заказчиков. 

«Яндекс» стал для меня стартовой площадкой, где я набирался опыта. Потом перешел в «Сбертех», где проработал полтора года и, по сути, занимался все тем же.

Однажды услышал, что СИБУР затеял цифровизацию: сюда пришли работать мои знакомые, которые рассказывали, что процесс действительно идет в реальности, а не только на бумаге. Понятно, что не все заводы с радостью воспринимают вмешательство в их привычные процессы. Многим непонятно, зачем это нужно, если и так все нормально работает. В итоге люди принимают действительно позитивные изменения и внедряют их.

Дата-сайентист — профессия, которая с каждым годом становится все востребованнее. Но если хочется достичь серьезных результатов и развиваться как специалист, нужно много учиться и работать.

Наверное, часть функций аналитиков со временем можно будет заменить алгоритмами, но их все равно будет недостаточно для решения сложных задач. А учитывая, что грамотных опытных специалистов в этой сфере не так много, крутые дата-сайентисты будут нужны и в будущем.

Прийти в профессию можно по-разному: напрямик, как я, или окольными путями. Но без профильного образования точно не обойтись. Сами по себе методы машинного обучения в том виде, в котором их обычно применяют — это не очень сложно, дело двух-трех курсов. Но для того чтобы их грамотно применять, иногда даже дорабатывать, должна быть математическая база. Ее сейчас можно получить в том же МФТИ, в МГУ, ВШЭ, НГУ или в других российских вузах. 

Помимо математики, важным навыком также является программирование. Просто обучить модель недостаточно, часто необходимо написать всю обвязку, которая обрабатывает данные на входе и отдает результат работы модели в нужном виде. А если сама по себе задача сложная, требует участия нескольких членов команды, а решение состоит из большого числа компонентов, то без владения навыками разработки сложно обойтись. 

Также знание алгоритмов, понимание структур данных и принципов работы систем позволяют писать код, который работает стабильнее, быстрее и требует меньше вычислительных ресурсов.

Чем еще нужно обладать?

Помимо образования, есть несколько качеств, которые, как мне кажется, пригодятся дата-сайентисту.

Математический склад ума. В процессе принятия решений человек должен руководствоваться в первую очередь логическими умозаключениями.

Нестандартное мышление. Часто бывает, что для того, чтобы все работало, достаточно добавить или заменить всего одну строчку в коде. И аналитику нужно додуматься, какую именно.

Усидчивость. У дата-сайентистов довольно много рутинной работы, например, загрузка и предварительная обработка данных, проверка гипотез — не самые интересные и приятные этапы рабочего процесса. Но без них остальная часть работы невозможна, поэтому специалист должен уметь себя заставить делать что-то не очень интересное. 

Дотошность. Мне, например, важно системно докопаться до сути вопроса, даже если на самом деле он не является важным. Например, после просмотра какого-нибудь фильма от Marvel я могу потратить много времени, систематизируя информацию об этой киновселенной: о супергероях, их истории, способностях и взаимоотношениях, о значимых событиях и так далее. В работе это качество необходимо, чтобы понимать нюансы применения различных алгоритмов и моделей, вплоть до деталей реализации.

Конечно, для дата-сайентистов очень важны внимание к деталям и настойчивость. Но это не значит, что одно только упорство или талант к математике сделают из вас профессионала.

Дата-сайентист — профессия для целеустремленных и увлекающихся. Для тех, кто не боится трудностей и не бросает дело на полпути. И если все перечисленное про вас, то почему вы до сих пор не с нами в команде?

Фото в материале: архив компании
Фото на обложке: Unsplash

Нашли опечатку? Выделите текст и нажмите Ctrl + Enter

Материалы по теме

  1. 1 Где в России говорят про большие данные и ИИ
  2. 2 «Мы выпускаем уникальное для России цифровое решение с открытым кодом». Как «Первый ОФД» поможет конкурентам заработать на данных
  3. 3 Кейс: как с помощью чат-бота создать датасет из более 10 тысяч изображений за пять недель
  4. 4 Программист, который умеет в data science, круче, чем дата-сайентист, который умеет в программирование

Актуальные материалы —
в Telegram-канале @Rusbase