Специалист по данным против инженера машинного обучения

66

Каковы различия, если таковые имеются, между «ученым данных» и «инженером машинного обучения»?

За прошедший год или около того «инженер машинного обучения» стал часто появляться на вакансиях. Это особенно заметно в Сан-Франциско, где, возможно, и возник термин «ученый данных». В какой-то момент «ученый данных» обогнал «статистика», и мне интересно, медленно ли сейчас происходит то же самое с «ученым данных».

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

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

Райан Зотти
источник
2
Data scientistзвучит как обозначение с небольшой ясностью о том, какой будет реальная работа, в то время machine learning engineerкак более конкретный. В первом случае ваша компания поставит перед вами цель, и вам нужно выяснить, какой подход (машинное обучение, обработка изображений, нейронная сеть, нечеткая логика и т. Д.) Вы бы использовали. Во втором случае ваша компания уже сузилась до того, какой подход следует использовать.
gurvinder372
Связанный: наука о данных против исследования операций . Кроме того, ученый - это нечто иное, чем инженер . К сожалению, промышленность, похоже, не заботится об этом.
Дискретная ящерица
1
Как заметил кто-то другой, инженер ML - это просто тот, кто запускает модели ML в производство. От него не ожидают глубокого понимания фактических прогностических моделей и лежащей в их основе математики, однако они обязаны освоить программные средства, которые делают эти модели пригодными для использования. Предполагается, что Data Scientist глубоко разбирается в статистике / математике и ML / AI и часто является человеком, который создает инструменты, используемые инженерами ML. Таким образом, инженер ML в основном ближе к специализированному инженеру программного обеспечения, а DS ближе к вычислительной статистике.
Digio

Ответы:

55

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

Заранее лучше сравнивать яблоки с яблоками, говоря об одном предмете - данных. Машинное обучение и его поджанр (глубокое обучение и т. Д.) Являются лишь одним аспектом Мира данных, вместе со статистическими теориями, сбором данных (DAQ), обработкой (которая может быть основана не на машинном обучении), интерпретация результатов и т. д.

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

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

Подумайте о прокси: чем отличается ученый-ядерщик от инженера-атомщика?

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

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

Возвращаясь к миру данных, приведу еще один пример: парни, которые разработали Convolutional Neural Networks (Yann LeCun) - это Data Scientist, парень, который развернул модель для распознавания лиц на изображениях, - инженер машинного обучения. Парень, ответственный за весь процесс, от сбора данных до регистрации образа .JPG, является инженером данных.

Так что, по сути, 90% Data Scientist сегодня - это на самом деле инженеры данных или инженеры машинного обучения, а 90% позиций, открытых как Data Scientist, действительно нуждаются в инженерах. Простая проверка: в интервью вас спросят, сколько моделей ML вы развернули в производстве, а не сколько статей о новых методах, которые вы опубликовали.

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

Винченцо Лаворини
источник
Я никогда не думал о ядерщиков и инженеров, я думаю, что это полный ответ. Это соответствует моему опыту, когда я делаю анализ, это похоже на то белое лабораторное пальто (юпитер и красивые графики). Когда я «пачкаю свои руки» работой по проектированию (контейнеры etl и webapp), я постоянно нахожу странные крайние случаи, ошибки и неприятный запах кода.
Тони
Разве Янн ЛеКун не ученый? А Data Scientist - это кто-то, кто использует готовые компьютерные алгоритмы и методы (изобретенные такими учеными, как Yann LeCun) для научного анализа данных? Так же, как другие ученые используют компьютеры в своей работе? Итак, собираете данные, очищаете их, объединяете различные методы анализа (построение графиков, сопоставление с образцом, модели ML и т. Д.), Чтобы узнать скрытые истины в данных?
Дидье А.
YLC, на самом деле ученый, но он специализируется на данных. CS стал слишком широкой областью, из которой вышли все эти новые определения (например, DS). И поэтому использование CS становится не очень дискриминационным. Как и апеллятивный «Физик» пару сотен лет назад: сегодня это слово фактически не определяет чью-либо работу, если вы не укажете ее лучше (например, Частица П., Твердое состояние П. и т. Д.). Но в любом случае, Ученый (CS, DS, любой -S) - это не тот, кто ограничивает себя в использовании чужих открытий. Вместо этого его работа состоит в том, чтобы понять и, таким образом, сделать открытия.
Винченцо Лаворини
Не могли бы вы ответить на этот вопрос относительно Data Engineerпрофориентации.
льзовательская
Как наука о «феноменологическом понимании»?
Убадуб
10

Термины туманные, потому что они новые

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

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

Есть три общих подразделения области

По моему опыту, есть три основных раздела «пространства работы» науки о данных.

Во-первых, это разработка математических и вычислительных методов, которые делают возможной науку о данных. Это охватывает такие вещи, как статистические исследования новых методов машинного обучения, внедрение этих методов и создание вычислительной инфраструктуры для использования этих методов в реальном мире. Это отделение, наиболее удаленное от клиента, и наименьшее подразделение. Большая часть этой работы выполняется учеными или исследователями в крупных компаниях (Google, Facebook и т. Д.). Это для таких вещей, как разработка Google TensorFlow, нейронных сетей IBM SPSS или любой другой базы данных больших графов.

Второе подразделение использует базовые инструменты для создания пакетов, специфичных для приложения, для выполнения любого анализа данных. Людей нанимают использовать Python или R или что-то еще для построения возможности анализа на некотором наборе данных. По моему опыту, большая часть этой работы включает в себя «стирку данных», превращение необработанных данных в любой форме в нечто полезное. Другой большой кусок этой работы - создание базы данных; выяснить, как хранить данные таким образом, чтобы к ним можно было получить доступ в любой момент времени, в котором они вам нужны. Эта работа требует не столько использования инструментов, сколько использования существующих баз данных, статистики и библиотек графического анализа для получения некоторых результатов.

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

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

Заключение

Пока вам придется самим выяснить, что влечет за собой каждая работа. Моя нынешняя работа наняла меня в качестве «аналитика», чтобы заниматься машинным обучением. Но когда мы приступили к работе, стало очевидно, что база данных компании была недостаточной, и теперь, вероятно, 90% моего времени уходит на работу с базами данных. Мое знакомство с машинным обучением теперь заключается в быстром прохождении материала через любой пакет scikit-learn, который кажется наиболее подходящим, и отправке CSV-файлов аналитикам третьего подразделения для презентации PowerPoint для клиента.

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

kingledion
источник
9

[Полностью личное мнение]

Когда термин «Data Scientist» обогнал «Statistician», это скорее звучит круто, чем какое-либо существенное различие. Точно так же термин «глубокое обучение». Это просто нейронные сети (что является еще одним алгоритмом машинного обучения) с парой дополнительных слоев. Никто не может объяснить, когда конкретную нейронную сеть можно назвать DL, а не ML, потому что само определение является нечетким. Итак, термин «ученый данных».

Однако по мере того, как компании внедряют мышление DevOps в науку о данных, термин ML Engineer эволюционировал.

Что такое мышление DevOps для науки о данных?

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

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

Итак, инженеры ML должны знать нюансы системного проектирования, ML и статистики (очевидно).

Неопределенное обобщение будет «Инженер данных + ученый данных = Инженер ML».

Сказав это, обозначения в этом пространстве становятся расплывчатыми день ото дня, и термин «статистик» становится все более и более актуальным (ирония!).

Dawny33
источник
2
Машинное обучение - это гораздо больше, чем просто нейронные сети (в качестве примера рассмотрим все виды классификаторов на основе деревьев), поэтому не стоит понимать, что «Глубокое обучение - это просто машинное обучение с парой дополнительных слоев».
С. Коласса - Восстановить Монику
@StephanKolassa Да. Согласен. Не нужно было обобщать это слишком много :) Спасибо за указание на это.
Dawny33
1
(+1) но я не думаю, что «статистика» становится более актуальной - это ирония, просто ... ожидаемый переход? Где сейчас «оперативные исследователи»? ;)
usεr11852 говорит восстановить Monic
7

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

Я видел, как ученые данных делают

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

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

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

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

  • Подход,
  • Инструменты,
  • и грубая модель (что доставить)

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

gurvinder372
источник
5

Инженеры машинного обучения и Data Scientist одинаковы, но не все Data Scientist ориентированы на инженеров Около 5 лет назад почти все Data Scientist были сосредоточены на разработке, например, им приходилось писать производственный код. Однако сейчас существует множество ролей Data Scientist, которые по большей части играют в ноутбуках Jupyter, разбираются в данных, рисуют симпатичные графики, объясняют их клиентам, менеджерам, аналитикам ... Они не занимаются разработкой. И я считаю, что термин «инженеры машинного обучения» подошел, чтобы подчеркнуть, что это инженерная позиция.

Akavall
источник
2

TL; DR: Это зависит от того, кто спрашивает.

Ответ на этот вопрос во многом зависит от ожиданий, знаний и опыта того, кто спрашивает. Аналогичный вопрос с таким же неясным ответом:

В чем разница между разработчиком программного обеспечения, инженером-программистом и программистом?

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

Мне нравится эта цитата Винсента Гранвилла , акцент мой:

Ранее в моей карьере (около 1990 года) я работал над технологией дистанционного зондирования изображений, в том числе для определения закономерностей (или форм, или особенностей, например озер) на спутниковых изображениях и для сегментации изображений: в то время мое исследование было обозначено как вычислительное статистика, но люди, делающие то же самое в отделе компьютерных наук по соседству в моем родном университете, называют свои исследования искусственным интеллектом. Сегодня это называется наукой о данных или искусственным интеллектом, а поддомены - это обработка сигналов, компьютерное зрение или IoT.

lfalin
источник
1

Машинное обучение более конкретно, и в этой области вам необходимо освоить следующее:

  • Особенности против ярлыков
  • Тестовые данные и тренировочные данные
  • Нормализация функций
  • Общие структуры данных (массивы массивов)
  • Выбор функций
Даниил
источник
0

Я не согласен ни с одним из приведенных ответов. Тем не менее, я думаю, что есть роль Data Scientist, которая скрывается практически во всех ответах здесь. Большинство из этих ответов говорят что-то вроде: «Ну, инженер просто пишет и развертывает модель ...». Подожди секунду - в этих двух шагах МНОГО работы!

Мое основное определение Data Scientist - это тот, кто применяет научный метод для работы с данными. Поэтому я постоянно думаю о гипотезах, разработке тестов, сборе данных и выполнении этих тестов, проверке результатов перекрестной проверки, пробовании новых подходов, преобразовании моих данных и т. Д., И т. Д. "в профессиональной обстановке.

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

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

I_Play_With_Data
источник