редакции Выбор
Какая роль в компании у вашего Data Scientist
Елена Герасимова, руководитель факультета «Аналитика и Data Science» в Нетологии, адаптировала статью Александра Гончара «Fantastic Data Scientists: where to find them and how to become one» о том, как найти подходящего специалиста по анализу данных или стать одним из них.
Data Science — больше не модное слово. Известно, что 40% европейских стартапов, связанных с искусственным интеллектом, вообще не используют никаких алгоритмов, а популярный мем «Если что-то написано в PowerPoint — это ИИ, а если в Python — машинное обучение» заставляет сомневаться в технологиях. С другой стороны, официальные данные говорят о противоположной тенденции: все больше патентов, стартапов, приложений связаны с ИИ.
Как любая быстрорастущая область, наука о данных нуждается в стандартизации инструментов и инфраструктуры. Навыки разработчиков должны быть четко определены, чтобы отличать начинающего специалиста по анализу данных от эксперта и понимать, соответствуют ли эти навыки роли, которая необходима компании.
Эта статья о том, «что должен знать Data Scientist» и в каких направлениях он может развиваться. Будет полезна менеджерам, которые возглавляют команду Data Scientists или планируют собрать ее; специалистам по данным, которые хотят лучше понять свои сильные и слабые стороны и решить, в каком направлении расти; HR-специалистам, чтобы лучше понимать, кого и почему нужно нанимать (и увольнять).
Кто такие специалисты по анализу данных
Посмотрим, что обычно делает Data Scientist. Это очень усредненное описание обязанностей специалистов, работающих в отрасли, и оно не учитывает некоторые важные нюансы. Но если говорить в общих чертах, то можно выделить следующие роли Data Scientists в компаниях:
- работник широкого профиля (универсал);
- консультант;
- аналитик;
- алгоритмист;
- исследователь;
- инженер.
Какой вы Data Scientist
Легко понять, какую роль вы играете, если вспомнить, за что вам платят. Вы ценны как «мастер на все руки», который может сделать все с имеющимися данными — от прогноза продаж и сегментации клиентов до создания демонстрационных версий с распознаванием речи? Значит, вы отличный универсал и можете отвечать за науку о данных в нетехнологических компаниях, осуществлять преобразования и руководить собственной командой.
Вы специализируетесь в некоторых технических областях, к примеру, в обработке естественного языка, компьютерном зрении или в бизнес-сферах, таких как розничная торговля или медтехника, и постоянно развиваете и совершенствуете готовые решения? Скорее всего, вы успешный консультант. Обладая глубокой специализацией, вы сможете запускать новые продукты.
Если вы анализируете поставленные проблемы, предоставленные данные и принимаете решения относительно требований, ресурсов и рисков, связанных с проектом, ваша роль — аналитик, и развитие бизнеса может стать следующим шагом в вашей карьере.
Большую часть времени вы разрабатываете и обучаете новые модели, делаете их точнее и быстрее? Возможно, у вас даже есть GitHub с открытым исходным кодом реализации некоторых современных моделей из последней International Conference on Learning Representations (ICLR)? Поздравляем, скорее всего, вы алгоритмист и можете дорасти до позиции технического директора.
Вас не очень заботит точность модели, но интересуют новинки? Вы пытаетесь решить основные проблемы новыми способами, экспериментируете с обучением без учителя и обучением с подкреплением? Вам близка позиция исследователя. Возможно, вы уже работаете в исследовательском стартапе, университете или какой-то лаборатории FANG (Facebook-Amazon-Netflix-Google).
Разработка новых и точных алгоритмов — это круто, но кто-то должен сделать из них продукт и гарантировать, что весь процесс анализа данных: от сбора и маркировки до фактического вывода, всегда будет работать и моделироваться как разработчиками, так и клиентами. Если вы отвечаете за это, ваша роль — инженер, и перед вами много путей развития. Многие разработчики стали продакт-менеджерами, техническими руководителями и специалистами, занимающимися развитием бизнеса.
Роли аналитика и инженера находятся вне «рамок науки о данных». Из-за повсеместного распространения процессов, связанных с анализом данных, бизнес-аналитику приходится вникать в Data Science и изучать используемые инструменты, но это не делает его Data Science-специалистом.
То же самое касается инженеров данных, которые выполняют важные задачи с ETL-конвейерами, масштабированием, развертыванием и инфраструктурой решений, что больше связано с разработкой программного обеспечения, чем с наукой о данных как с дисциплиной. Поэтому продолжим разбираться только с универсалами, консультантами, исследователями и алгоритмистами.
Матрица компетенций Data Science
После долгих размышлений и дискуссий были выбраны 10 групп знаний: логика, вычисления, математика (алгебра, исчисление и связанные с ними вещи), теория вероятностей и статистика, оптимизация, предиктивное моделирование, алгоритмы машинного обучения, глубокое обучение, исследования и границы и навыки общения и презентации:
Начинающий 0-2 года | Специалист 2-5 лет | Эксперт 5+ лет | Логика | Простые доказательства, булева логика | Теория чисел, нечеткая логика | ZFC, машины Тьюринга, вычислимость | Информатика и компьютерные системы | Основы Python, O-нотация, структуры данных | Базы данных, ООП, научные вычисления с NumPy | Большие данные, проблемы NP, серверная часть Tensorflow / PyTorch | Математика | Матричное исчисление, интеграл и производные | SVD, PCA, определитель | Дифференциальн-ая геометрия, функциональный анализ, тензорная алгебра | Теория вероятностей и статистика | Закон больших чисел, вероятностные распределения | Байесовская статистика, статистические модели | Семейство экспоненциальных распределений, PyMC3 / Pyro | Оптимизация | Экстремумы функции, градиентный спуск | Вариации градиентного спуска, теория оптимизации | Невыпуклые и недифференцируем-ые функции, генетические алгоритмы | Общее предиктивное моделирование | Перекрестная проверка и чрезмерная аппроксимация | Как минимизировать потери и предварительное распределение данных | Теория статистического обучения | Алгоритмы машинного обучения | Базовое понимание логистической регрессии, SVM, деревья | Основы математической науки, дилемма смещения—дисперсии, бустинг | Метрическое обучение, обнаружение аномалий | Нейронные сети и глубокое обучение | Обратное распространение, глубина vs ширина | Регуляризация, CNNs, RNNs | Трансформер, YOLO, результаты последних исследований | Исследования и границы | Слышали о arxiv.org, об исследователях | Классические документы и (вероятно) обучение с подкреплением | Вы можете обсудить последние ICLR / NeurIPS | Общение и презентация | Основы визуализации и графики | Метрики бизнеса vs метрики машинного обучения | Архитектура решений, отношения между заинтересованными сторонами |
Кажется, что требований слишком много.
Действительно ли вы должны знать высшую математику, понимать основные теоретические принципы информатики, работать со всеми алгоритмами машинного обучения, разбираться в логике и в то же время делать хорошие презентации и грамотно преподносить свои результаты начальству? Делать все и сразу не нужно. Но если вы ищете опытного консультанта с десятилетним опытом работы с прогностическими моделями, ожидайте, что он не просто подключит и настроит библиотеки Python, но и будет хорошо понимать, что делает и с точки зрения бизнеса, и с точки зрения математики.
Если вы алгоритмист, годами работающий над созданием великолепных алгоритмов, то должны разбираться в особенностях различных сред и понимать, как упорядочить модели, чтобы они четко работали на этапе производства.
Даже если вы аналитик, вам все равно потребуются хорошие знания логики, статистики и основ алгоритмов машинного обучения, чтобы представлять, что можно использовать, а что нельзя. А навыки презентации или знание математики всегда пригодятся.
Диаграммы баланса навыков
Для визуализации этих ролей удобно использовать «диаграммы жизненного баланса» — в нашем случае они будут представлять баланс навыков для каждой роли. Например, универсал знает все на более или менее хорошем уровне, потому он универсал.
Консультант проявляет бОльшую склонность к моделированию, машинному обучению, исследованиям и коммуникациям и имеет меньше навыков для подготовки демонстрационной версии продукта. Ему не нужно владеть объемным массивом теоретических знаний, потому что он может обратиться к исследователям или алгоритмистам.
Аналитик концентрируется на коммуникации, логике, статистике, оптимизации и предиктивном моделировании. Разработка алгоритмов или программирование обычно не входят в поле его деятельности.
Алгоритмисты часто разрабатывают новые модели с нуля, поэтому им нужны хорошие навыки программирования, математические знания и опыт работы с машинным и глубоким обучением. Однако они могут «пожертвовать» логикой, статистикой и навыками общения, потому что им редко приходится представлять свои результаты.
Исследователям необходимы глубокие математические, статистические знания и навыки оптимизации, они также должны быть в курсе последних исследований и иметь хорошие коммуникативные навыки.
Наконец, инженеры могут «пожертвовать» многим, но должны обладать логикой, отличными навыками программирования и математическими знаниями, чтобы гарантировать, что определенные консультантом, изученные исследователем и разработанные алгоритмистом модели будут работать.
Интерактивные тесты
Чтобы проверить знания в вышеописанных областях, пройдите тестирование для начального, среднего или продвинутого уровня. Если вы или ваш кандидат — начинающий специалист, попробуйте первый. Если чувствуете себя более опытным, переходите к следующим. Не расстраивайтесь, если с чем-то не знакомы.
Отличный исследователь может не знать некоторых деталей реализации, но при этом обладать глубокими математическими знаниями. А если вы претендуете на роль аналитика или консультанта, то можете потерпеть неудачу в вопросах по оптимизации или математике, но хорошо проявите себя в алгоритмах. Надеемся, что тест поможет раскрыть ваши сильные стороны и обратить внимание на те, над которыми стоит поработать. Удачи!
Непросто найти «правильного» Data Scientist или стать им, потому что идеального специалиста для любых задач любой компании не существует. Если вы менеджер, постарайтесь определить, какого рода специалист по данным вам нужен на конкретный проект. Надеемся, что после прочтения этой статьи у вас будет более четкое понимание, кто может быть полезен компании.
Если вы специалист по анализу данных, не стесняйтесь проходить тесты, определяйте свои сильные и слабые стороны и обращайтесь в компании, где ваши навыки будут востребованы.