newsmode
search
Меню
arrow_back Назад

What does a Data Scientist really do?

auto_awesomeКраткое саммари

Юджин Ян развенчивает распространённые мифы о профессии data scientist: что для неё обязательны PhD, олимпиадная математика и глубокие технические навыки, а основная работа — это машинное обучение и Kaggle. По его опыту, ML занимает менее 20% рабочего времени, а сам стереотип возникает из-за «эвристики доступности»: люди судят о профессии по громким новостям вроде DeepMind AlphaStar или премии Тьюринга. Автор делит data scientists на тип A (анализ) и тип B (построение продакшн-продуктов) и подробно расписывает реальные этапы работы Type B: постановка задачи, сбор и подготовка данных, построение пайплайнов и фреймворков валидации, эксперименты и вывод data-продукта в продакшн с мониторингом. Опросив директоров по данным, CTO и руководителей DS-команд, он пришёл к выводу, что главное качество лучших специалистов — умение «использовать данные для создания измеримой ценности», а не технические навыки сами по себе. Как этому научиться — тема следующей статьи.

Чем на самом деле занимается Data Scientist?

[ career datascience ] · 8 мин чтения

Как data scientist, я время от времени получаю вопросы от других людей, связанные с data science. Это может происходить на работе, на митапах, которые я организую и посещаю, или в виде вопросов на моём сайте и в LinkedIn. Через эти взаимодействия я понял, что вокруг data science существует значительное непонимание. Заблуждения касаются как навыков, необходимых для практики data science, так и того, чем data scientists на самом деле занимаются.

Восприятие того, что требуется и что делается

Многие считают, что глубокие технические и программистские способности, математические навыки олимпиадного уровня и PhD — это минимальные требования, и что наличие таких навыков и образования гарантирует успех в этой области. Это слегка нереалистично и вводит в заблуждение, а также не помогает смягчить проблему дефицита талантов в data science, как, например, описано в The New York Times и Bloomberg.

Аналогично, исходя из моего общения с людьми и комментариев в интернете, многие воспринимают, что основная работа data scientist — это machine learning или исследование новейших архитектур нейронных сетей, по сути Kaggle в качестве полноценной работы. Однако machine learning — это лишь часть того, что на самом деле делают data scientists (лично у меня это занимает < 20% повседневной работы).

Откуда берутся эти представления?

Одна из гипотез — статистическая ошибка доступности. Среднестатистический человек, вероятно, знает о data scientists из того, что видел/слышал в новостях и статьях, или, возможно, прошёл курс-другой на Coursera.

Каков, скорее всего, бэкграунд этих data scientists? Если это из статьи Forbes о недавней Премии Тьюринга за вклад в AI, вы увидите трёх очень выдающихся джентльменов с впечатляющим списком публикаций, которые познакомили мир с нейронными сетями, backpropagation, CNN и RNN.

Или, возможно, вы читали недавний пост DeepMind о том, как нейронные сети и reinforcement learning достигли уровня экспертов-людей, и обнаружили, что команда состояла в основном из PhD. Если это из курса, то ведущий, скорее всего, имеет PhD и проводит глубокие математические доказательства методов machine learning. Таким образом, исходя из того, что можно вспомнить или что доступно в памяти, у многих складывается искажённое представление о том, каким бэкграундом должен обладать data scientist.

То же самое касается и того, чем на самом деле занимаются data scientists. Большинство громких заголовков о data science связаны с применением machine learning для решения (на данный момент) нерешённых задач — от исследовательских (компьютерные игры) до сугубо прикладных (беспилотные автомобили). Кроме того, поскольку большинство курсов по data science посвящены machine learning, неудивительно, что статистическая ошибка доступности склоняет людей думать, что machine learning — это альфа и омега.

Такие представления (в основном) неверны

Во-первых, да, есть исследователи в лабораториях, которые тратят 80% своего времени на обучение десятков одинаковых нейронных архитектур в надежде на сходимость некоторых из них, публикуют прорывные исследовательские статьи и создают крутые приложения, использующие самые передовые технологии. Тем не менее, они составляют, вероятно, < 1% всего сообщества data science.

Для большинства data scientists machine learning, безусловно, является критически важной частью работы, но это лишь её часть. Кроме того, представление о том, что для эффективной работы в data science необходимы глубокие технические и математические навыки, а также PhD, наивно.

За годы моего опыта — сначала как data scientist, затем как руководитель направления data science — у меня была возможность нанимать и оценивать многих data scientists и наблюдать из первых рук, что нужно для эффективной работы в этой области. Кроме того, я связывался и интервьюировал многих экспертов: Chief Data Officers, Chief Data Scientists, CTO и руководителей подразделений data science — они тоже не согласны с этим ошибочным общественным восприятием.

Так чем же на самом деле занимаются Data Scientists?

Для контекста сошлюсь на часто используемое различие между data scientists типа A и типа B.

Тип A: A означает Analysis (анализ). Такие data scientists в основном занимаются осмыслением данных или работой с ними в довольно статичной форме. Они очень похожи на статистиков. Тип B: B означает Building (построение). Они разделяют некоторую статистическую базу с типом A, но также являются сильными программистами и могут быть обученными software engineers. Они в основном заинтересованы в работе с данными «в продакшене».

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

Путь к выводу data-продукта в продакшен может включать множество шагов, в том числе:

Понимание задачи и контекста, формулирование постановки задачи (framing)

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

Получение, исследование и подготовка данных (infra)

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

Построение фреймворков (например, валидации) и пайплайнов (например, подготовка данных и ML-эксперименты)

Построение корректного фреймворка валидации (например, можно ли использовать случайное перемешивание k-fold или нужно разбиение по времени). Построение пайплайнов обработки данных для их подготовки, иногда с использованием big data. Проведение статистического анализа для понимания связей между переменными в данных. Построение пайплайнов обработки признаков для преобразования подготовленных данных в формат, готовый для ML (например, все признаки должны быть числовыми). Построение ML-пайплайнов, позволяющих запускать параллельные эксперименты, фиксировать результаты, визуализировать их и т.д. Пайплайны следует строить так, чтобы они позволяли легко менять подходы к подготовке данных или feature engineering через config-файлы, а не хардкодом. То же касается пайплайнов ML-экспериментов — они должны работать для всех типов моделей, параметров и т.д.

Запуск экспериментов, мониторинг и анализ (testing)

Оценка нескольких широких подходов перед выбором модели (например, деревья, регрессия, SVM, нейронные сети). Решение о том, как моделировать данные (например, для прогнозирования — должно ли это быть в режиме batch, с ручным feature engineering, или принимать последовательные данные). Запуск экспериментов с различными гиперпараметрами для понимания того, как модель учится на данных. Запуск экспериментов с другими «трюками» (например, аугментация данных, взвешивание данных, разные целевые функции и т.д.). Анализ производительности модели (например, learning curves, анализ ошибок). Оценка на предмет underfitting/overfitting. Запуск онлайн-экспериментов и т.д.

Вывод data-продукта в продакшен (data products)

Обеспечение масштабируемости и надёжности пайплайнов данных и machine learning. Построение персонализированных data-продуктов. Создание API для моделей machine learning. Определение того, как планировать запуск ваших пайплайнов. Мониторинг и поддержка data-продуктов и моделей с течением времени. Мониторинг входных данных и результатов валидации модели. Коммуникация результатов с организацией. Убеждение лиц, принимающих решения, в правильности результатов. Планирование отката для некорректных моделей. Этика использования данных.

Как вы могли заметить, machine learning составляет (небольшую) часть того, что на самом деле делают data scientists. Хотя не каждый шаг необходим в каждом проекте, и не каждый data scientist выполняет каждый шаг, большинство аспектов де-факто присутствуют во многих data science проектах/продуктах.

Так какие же способности нужны Data Scientists?

С учётом вышесказанного становится ясно, что одного только глубокого понимания machine learning недостаточно для процесса data science. Дополнительные глубокие технические, математические и программистские навыки полезны, но не охватывают полной картины.

Что же тогда нужно? В своих поисках ответа на этот вопрос я опросил многих экспертов и лидеров data science с такими вопросами, как:

«Что, по вашему мнению, делает data scientist рок-звездой?» «Что делают лучшие data scientists в вашей команде? Какие они?» «Как вы измеряете успех в data science?»

Общий ответ на эти вопросы был таков: лучшие data scientists работают с данными, чтобы «приносить измеримую ценность».

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

Как же практиковаться в «использовании данных для создания измеримой ценности»?

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

Если вы нашли это полезным, пожалуйста, цитируйте этот текст как:

Yan, Ziyou. (Apr 2019). What does a Data Scientist really do?. eugeneyan.com. https://eugeneyan.com/writing/what-does-a-data-scientist-really-do/.

или

@article{yan2019scientist, title = {What does a Data Scientist really do?}, author = {Yan, Ziyou}, journal = {eugeneyan.com}, year = {2019}, month = {Apr}, url = {https://eugeneyan.com/writing/what-does-a-data-scientist-really-do/} }



К 11 800+ читателям, получающим обновления о machine learning, RecSys, LLM и инженерии.