Чем занимается специалист в области науки о данных (data scientist)? Ведущий data scientist компании Amperity Ник Резник делится на портале Enterprisers Project своими мыслями о том, что делает его работу динамичной.

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

Я начал свой путь в области науки о данных в компании Custora, которая создавала ПО для предиктивного маркетинга для предприятий электронной коммерции. После того как Custora была приобретена компанией Amperity, я присоединился к ее команде специалистов по науке о данных. Amperity практикует частично удаленную модель работы, что позволяет мне работать из любого места, где есть надежный Wi-Fi.

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

Создание конвейеров МО — это большая работа: я работал над проектами, которые занимали от двух месяцев до двух лет от начала до конца. Тем не менее, каждый проект следовал схожей схеме — от идеи до создания прототипа и реализации.

Ритмы проектов в области науки о данных

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

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

Три фазы проекта в области науки о данных

Любой проект обычно состоит из трех основных фаз (цифровой показатель здесь пропорционален уровню зрелости проекта, а также указывает на количество клиентов, участвующих в разработке):

1. Фаза 0-1

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

2. Фаза 1-5

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

3. Фаза 5-100

На этом этапе мы берем перспективный MО-конвейер и готовим его к глобальному выпуску в нашем ПО. Это требует обширного модульного и интеграционного тестирования, мониторинга стабильности прогнозирования и документирования. Мы также оцениваем и модифицируем разработку для оптимизации себестоимости реализованной продукции (COGS) и эксплуатационной надежности. В этот период мы взаимодействуем с командами, не связанными с инженерными разработками, включая маркетинг продукции и продажи, чтобы ознакомить остальных сотрудников организации с нашими новыми возможностями.

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

Особые требования

Каждый data scientist в нашей команде охватывает невероятно много направлений — сбор данных и контроль качества, разведочный анализ данных, функциональное проектирование, разработка алгоритмов, оценка моделей и их развертывание. В этом смысле мы часто говорим, что ищем в нашу команду «единорогов» — прикладных data scientists, обладающих необходимыми навыками и интересом, чтобы преуспеть и привнести инновации в компоненты всей этой работы.

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