специалист по работе с данными который разрабатывает алгоритмы машинного обучения
Data Engineer и Data Scientist: какая вообще разница?
Профессии Data Scientist и Data Engineer часто путают. У каждой компании своя специфика работы с данными, разные цели их анализа и разное представление, кто из специалистов какой частью работы должен заниматься, поэтому и требования каждый предъявляет свои.
Разбираемся, в чём разница между этими специалистами, какие задачи бизнеса они решают, какими навыками обладают и сколько зарабатывают.
Материал получился большим, поэтому разделили его на две публикации. В первой части рассказываем об основных отличиях Data Scientist и Data Engineer и с какими инструментами они работают.
Руководитель факультета « Аналитика и Data Science » в Нетологии
Как различаются роли дата-инженеров и дата-сайентистов
Инженер данных — это специалист, который, с одной стороны, разрабатывает, тестирует и поддерживает инфраструктуру работы с данными: базы данных, хранилища и системы массовой обработки. С другой стороны, дата-инженер очищает и «причёсывает» данные для использования аналитиками и дата-сайентистами, то есть создаёт конвейеры обработки данных.
Дата-сайентист создаёт и обучает предиктивные (и не только) модели с помощью алгоритмов машинного обучения и нейросетей, помогая бизнесу находить скрытые закономерности, прогнозировать развитие событий и оптимизировать ключевые бизнес-процессы.
Главное различие между Data Scientist и Data Engineer состоит в том, что обычно у них разные цели. Оба работают для того, чтобы данные были доступными и качественными. Если дата-сайентист находит ответы на свои вопросы и проверяет гипотезы в экосистеме данных (например, на базе Hadoop), то дата-инженер создаёт пайплайн обслуживания алгоритма машинного обучения, написанного дата-сайентистом, в кластере Spark внутри той же экосистемы.
Инженер данных приносит ценность бизнесу, работая в команде. Он выступает важным звеном между различными участниками: от разработчиков до бизнес-потребителей отчетности. Также помогает повысить продуктивность аналитиков — от маркетинговых и продуктовых до BI.
Дата-сайентист принимает активное участие в стратегии компании и извлечении инсайтов, принятии решений, внедрении алгоритмов автоматизации, моделирования и генерации ценности из данных.
Работа с данными подчиняется принципу GIGO (garbage in — garbage out): если аналитики и дата-сайентисты имеют дело с неподготовленными и потенциально некорректными данными, то результаты даже с помощью самых изощрённых алгоритмов анализа будут неверны.
Инженеры данных решают эту проблему, выстраивая пайплайны по обработке, очистке и трансформации данных и позволяя дата-сайентисту работать уже с качественными данными.
На рынке много инструментов для работы с данными на каждом этапе: от их появления до вывода на дашборд для совета директоров. И важно, чтобы решение об их использовании принималось дата-инженером, — не потому, что это модно, а потому что он действительно поможет в работе остальным участникам процесса.
Условно: если компании нужно подружить BI и ETL — загрузку данных и обновления отчётов, вот типичный legacy-фундамент, с которым придётся иметь дело Data Engineer (хорошо, если в команде кроме него будет ещё и архитектор).
Обязанности Data Engineer
Существует ещё одна специализация внутри траектории Data Engineer — ML Engineer. Если коротко, то такие инженеры специализируются на доведении моделей машинного обучения до промышленного внедрения и использования. Зачастую модель, которая поступила от дата-сайентиста, является частью исследования и может не заработать в боевых условиях.
Дата-инженер с нуля до PRO 💪
Обязанности Data Scientist
И Data Engineer, и Data Scientist объединяет ощутимый вклад в развитие культуры работы с данными, с помощью которой компания может получать дополнительную прибыль или сокращать издержки.
С какими языками и инструментами работают инженеры данных и дата-сайентисты
Ожидания от специалистов по обработке данных изменились. Раньше дата-инженеры собирали большие SQL-запросы, вручную писали MapReduce и обрабатывали данные с помощью таких инструментов, как Informatica ETL, Pentaho ETL, Talend.
В 2020 году специалисту не обойтись без знания Python и современных инструментов проведения вычислений (например, Airflow), понимания принципов работы с облачными платформами — использования их для экономии на «железе», при соблюдении принципов безопасности.
SAP, Oracle, MySQL, Redis — это традиционные для инженера данных инструменты в больших компаниях. Они хороши, но стоимость лицензий настолько высока, что учиться работать с ними имеет смысл только в промышленных проектах. При этом, есть альтернатива в виде Postgres — он бесплатный и подходит не только для обучения.
Исторически часто встречается запрос на Java и Scala, хотя по мере развития технологий и подходов эти языки отходят на второй план.
Тем не менее, хардкорная BigData: Hadoop, Spark и остальной зоопарк — это уже не обязательное условие для инженера данных, а разновидность инструментов для решения задач, которые не решить традиционным ETL.
В тренде — сервисы для использования инструментов без знания языка, на котором они написаны (например, Hadoop без знания Java), а также предоставление готовых сервисов для обработки потоковых данных — распознавание голоса или образов на видео.
Популярны промышленные решения от SAS и SPSS, при этом Tableau, Rapidminer, Stata и Julia также широко используются дата-сайентистами для локальных задач.
Возможность самим строить пайплайны появилась у аналитиков и дата-сайентистов всего пару лет назад. Например, уже можно относительно несложными скриптами направлять данные в хранилище на основе PostgreSQL.
Обычно использование конвейеров и интегрированных структур данных остаётся в ведении дата-инженеров. Но сегодня как никогда силён тренд на Т-образных специалистов — с широкими компетенциями в смежных областях, ведь инструменты постоянно упрощаются.
Data Scientist
Зачем Data Engineer и Data Scientist работать вместе
Работая в тесном сотрудничестве с дата-инженерами, дата-сайентисты могут сосредоточиться на исследовательской части и создавать готовые к работе алгоритмы машинного обучения. А инженеры — сфокусироваться на масштабируемости, повторном использовании данных, а также гарантировать, что пайплайны ввода и вывода данных в каждом отдельно взятом проекте соответствуют глобальной архитектуре.
Такое разделение обязанностей обеспечивает согласованность действий между группами специалистов, работающими над разными проектами машинного обучения.
Сотрудничество помогает эффективно создавать новые продукты. Скорость и качество достигаются, благодаря балансу между созданием сервиса для всех (глобальное хранилище или интеграция дашбордов) и реализацией каждой конкретной потребности или проекта (узкоспециализированный пайплайн, подключение внешних источников).
Тесная работа с дата-сайентистами и аналитиками помогает инженерам развивать аналитические и исследовательские навыки для написания более качественного кода. Улучшается обмен знаниями между пользователями хранилищ и озёр данных, что делает проекты более гибкими и обеспечивает более устойчивые долгосрочные результаты.
В компаниях, которые ставят своей целью развитие культуры работы с данными и выстраивание бизнес-процессов на их основе, Data Scientist и Data Engineer дополняют друг друга и создают полноценную систему анализа данных.
В следующем материале расскажем о том, какое образование должно быть у Data Engineer и Data Scientists, какие навыки им нужно развивать и сколько зарабатывают специалисты.
Кто такой Data Engineer и как им стать
Будущее за Data Scientist: что нужно знать о профессии и причём тут единороги
Руководитель факультета « Аналитика и Data Science » в Нетологии
Специалист по машинному обучению: кто такой, чем занимается и сколько получает
Разбираемся, нужно ли творцам искусственного интеллекта знать математику и Python.
Специалист по машинному обучению (ML, machine learning) — это программист, который с помощью специальных наборов данных и алгоритмов обучает искусственный интеллект.
Посмотрим, например, как приложение «Яндекс.Навигатор» выбирает маршрут до пункта назначения. У него есть ваши GPS-координаты и карта, но при этом он знает и о пробках, авариях, дорожном ремонте. Всё это благодаря графу дорог — алгоритм быстро анализирует возможные пути и находит самый быстрый. А программисты следят, чтобы машинный интеллект не ошибался.
Но ситуация на дорогах постоянно меняется: вчера здесь был поворот, а сегодня висит «кирпич» и водители вынуждены объезжать это место. Добавлять на карту все изменения вручную, особенно в реальном времени, слишком трудозатратно и дорого, требуется много людей. Но алгоритму совсем не обязательно знать про запрет — ему достаточно увидеть, что машины стали двигаться по-другому, чтобы перенаправить всех водителей на другие маршруты.
Научить компьютер принимать такие решения — задача специалистов по ML. Без этого мы не смогли бы обработать море информации, которую люди генерируют каждый день, и сделать нашу жизнь комфортнее.
Пишет про digital и машинное обучение для корпоративных блогов. Топ-автор в категории «Искусственный интеллект» на Medium. Kaggle-эксперт.
Чем занимается специалист по машинному обучению
Задачи специалиста по МL отличаются в разных компаниях и проектах, но чаще всего он делает вот что:
Собирать данные вручную сложно: если это, например. изображения, требуются сотни тысяч фото с разных ракурсов и разными условиями освещённости. «ВКонтакте» недавно запустил новую функцию — сеть показывает фото пользователей их друзьям и спрашивает: «Это Вася Иванов?» Чтобы отметить друга на фото, требуется меньше секунды. Не поленитесь и сделайте это. Так вы поможете нейросети научиться распознавать лица, а заодно почувствуете себя специалистом по ML — хоть немножко 🙂
Алгоритмы для построения модели программируют под конкретные задачи. Иногда они довольно простые — например, алгоритм для предсказания предпочтений туристов из разных городов занимает всего 20 строчек кода.
Но бывают и очень сложные — такие как гигантская нейросеть DeepCoder. Она копирует и миксует готовые фрагменты кода, создавая на выходе новые программы. Эта технология называется программным синтезом.
Получается, что сама нейросеть, состоящая из миллионов строк кода, может заимствовать его из множества других программ. Алгоритм порождает другие алгоритмы — чем не цифровая жизнь?
Кому подойдёт профессия специалиста по ML
Стать специалистом по машинному обучению за три дня не получится. Но вы можете попробовать профессию и попытаться предсказать курс доллара с помощью машинного обучения на бесплатном марафоне «Напишите первую модель машинного обучения за 3 дня».
Какие навыки нужны специалистам по МL
Предположим, нам нужно построить автоматическую систему рекомендаций для соцсети. Что должно лежать в основе рекомендаций? Хороший вариант — посмотреть, что лайкают друзья: людей часто объединяют интересы. Но чтобы система работала ещё лучше, придётся учитывать время года или суток, события в стране и в мире. Например, «ВКонтакте» утром чаще рекомендует новости, а вечером — мемасики про котиков и другой развлекательный контент. Чтобы всё это продумать и учесть сотни различных факторов, нужно быть готовым к кропотливой и даже монотонной работе.
Как определить, хороший контент в соцсети или плохой? Можно посадить сотни модераторов и разработать сложную систему правил, а можно просто добавить кнопку эмоциональной реакции — например, лайк. Если у поста много лайков, значит, людям он нравится, следовательно, материал хороший и нейросеть будет показывать его как можно большему количеству людей. Возможно, эта система не идеальна, но она позволяет решить проблему относительно эффективно и с минимальной затратой ресурсов.
Перспективы развития профессии
Сегодня МL помогает людям практически в любой области — от выбора сериалов на Netflix до заботы о здоровье. Востребованность специалистов по ML с каждым годом растёт. Например, hh.ru отмечает, что с 2015 по 2019 год количество вакансий в сфере машинного обучения выросло в семь раз.
Больше всего таких специалистов требуется в сфере информационных технологий, разработке программного обеспечения, финансовом секторе, бизнес-среде, маркетинге и розничной торговле.
На какую зарплату могут рассчитывать Junior, Middle и Senior
Яндекс, «Тинькофф» и другие компании нуждаются в крутых профессионалах в области ML. По наличию опыта такие специалисты делятся на три группы: Junior, Middle и Senior.
Junior (младший)
Нужно уметь работать с библиотеками для обработки данных — Pandas, NumPy, Matplotlib, и понимать системы управления базами данных — MySQL/PostgreSQL.
В регионах такой специалист может рассчитывать на зарплату от 40 тысяч рублей. В Москве джуны получают значительно больше — от 80 тысяч.
Middle (средний)
Уверенный специалист с опытом от 2 до 5 лет. Он способен перевести задачи бизнеса на язык математики, реализовать с нуля и оценить производительность модели машинного обучения, проанализировать и проверить данные — соответствуют ли они заданным критериям.
Среди требований к мидлу — навыки работы с современными аналитическими пакетами на R/Python и промышленными хранилищами данных (Teradata, DB2), а также понимание BigData. Приветствуется владение статистическими инструментами — SPSS, MATLAB, SAS Data Miner.
В регионах средняя зарплата — 60–80 тысяч, в Москве — не меньше 100 тысяч рублей.
Senior (старший)
Опытный специалист. Работодатели ожидают, что у сеньора за плечами 5–7 лет работы над проектами в сфере data mining, data analysis, машинного обучения или математического моделирования. В списке компетенций: уверенный Python, SQL/CQL, глубокое понимание архитектуры нейросетей, знание Spark Streaming (используется с Apache Spark), Cassandra (система управления базами данных), фреймворков TensorFlow, CV, PyTorch или других — в зависимости от стека компании.
Иногда выделяют ML Team Lead (тимлид, лидер команды). Тимлидами становятся сеньоры, возглавляющие подразделения Machine Learning. Здесь важны лидерские качества, тайм-менеджмент и умение работать в команде.
Сеньоры и тимлиды в регионах зарабатывают 100–120 тысяч, в Москве — от 200 и до 400–500 тысяч. Это хороший стимул освоить профессию. А учитывая, что потребность в машинном обучении с годами будет только расти, зарплаты опытных специалистов по ML точно не станут ниже.
Где учиться
Изучать машинное обучение можно в университете, на курсах или самостоятельно.
Университет даёт студентам хорошую базу, особенно в математике и статистике. Вы получите диплом государственного образца — это может быть плюсом при трудоустройстве. Но поступить на специальность Data Science обычно непросто и дорого. Например, двухлетняя магистратура по наукам о данных в «Высшей школе экономики» обойдётся в 1 155 000 рублей.
Курсы позволяют получить структурированную информацию в сжатые сроки. Такой вариант образования гораздо дешевле университетской программы. Кроме того, на курсах готовят выпускников к практической деятельности, дают поработать над реальными проектами. Стоимость стартует от 50 тысяч рублей и доходит до 150 тысяч.
Самостоятельное обучение подходит тем, у кого уже есть технический бэкграунд. В интернете много бесплатных книг и курсов, и некоторые из них весьма хороши. Но есть сложность: придётся самостоятельно планировать обучение и развитие, получать знания и навыки, которые понадобятся на работе. Без старшего товарища ориентироваться в океане информации и проверять рецепты из интернета непросто.
Вывод
Специалисты по машинному обучению работают над сложными, увлекательными проектами, которые хорошо оплачиваются. Созданные ими решения делают нашу жизнь проще, интереснее и безопаснее. Так что если вам хочется быть на переднем крае технологий и заниматься самыми современными проектами, без которых немыслимо не только будущее, а уже и настоящее, — возможно, это идеальная карьера для вас.
Самому освоить профессию специалиста по машинному обучению трудно. Но можно записаться на курс «Профессия Data Scientist: машинное обучение», где опытные специалисты по ML собрали сбалансированную программу, учли типичные ошибки новичков и делятся лучшими практиками. За год с небольшим вы научитесь разбираться в программировании и моделях МL и поработаете с реальными проектами в машинном обучении.
Специалист по машинному обучению
Специалистом по машинному обучению является программист, который ведет деятельность в области создания и контроля искусственного интеллекта.
Содержание:
История профессии
Разработчиком программы на базе способных к самообучению алгоритмов стал Артур Самуэль. В 1952 году он представил программу для игры в шашки. Спустя 5 лет мир увидела модель нейросети, содержащая алгоритмы машинного обучения, наиболее приближенные к современным.
Сегодня профессия специалист по машинному обучению продолжает стремительно набирать популярность. Высокий спрос вызван активной разработкой систем для последующего их применения в ряде технологий будущего.
Особенности профессии
Данная профессия подразумевает умение грамотно разрабатывать и тестировать определенные алгоритмы, способствующие самообучению и последующему совершенствованию искусственного интеллекта, оперативно устранять недочеты.
ИИ сможет успешно решать ряд весьма сложных задач: распознавание лиц и речи, управление транспортным средством, постановка диагноза с учетом симптомов и пр.
Среди преимуществ профессии стоит отметить следующее:
Недостатки:
Обязанности
Специалист по машинному обучению ― это профессия, что предусматривает такие должностные обязанности:
Важные качества
Необходимые качества, которыми должен обладать специалист:
Навыки и знания
Специалист по машинному обучению ― это профессия, что предусматривает следующее:
Перспективы и карьера
В услугах специалистов нуждаются:
Начинающий специалист (Junior) может претендовать на повышение до Middle. Следующий уровень ― Senior. Такой профессионал работает в команде, на счету которой много завершенных проектов. Team Lead – высококвалифицированный специалист, который возглавляет подразделение.
Обучение
Профессия специалист по машинному обучению предусматривает наличие высшего образования в области IT. Для работы с ИИ быть хорошим программистом недостаточно. Потребуется освоить ряд наук ― от матанализа до биологии и физики.
В частности, стоить обладать знаниями в области человеческой психологии, ведь машина должна выдавать реакции понятные для людей. Рекомендуется окончить комплексные курсы по машинному обучению, остановив свой выбор на одной из онлайн-школ.
Как стать специалистом по машинному обучению
Возможности искусственного интеллекта продолжают расширяться, избавляя людей от рутинных задач, будь то выбор контента в соцсети или забота о здоровье. Совершенствованием цифровых технологий занимается специалист по машинному обучению. За последние несколько лет существенно выросло количество вакансий для ML-инженеров, а их заработная плата стала одной из самых высоких в IT.
Data Warehouse Analyst
Machine Learning. Basic
Специализация Machine Learning
Machine Learning. Advanced
NoSQL
Machine Learning. Professional
Microservice Architecture
MS SQL Server Developer
Data Engineer
Математика для Data Science
Базы данных
Reverse-Engineering
Кто такой специалист по машинному обучению
Специалист по машинному обучению (ML, machine learning) – это эксперт в области цифровых технологий, который составляет алгоритмы, чтобы искусственный интеллект мог проводить анализ различных массивов данных. Он создает нейросети для анализа и решения любых задач: от подбора комбинаций в шахматах до постановки диагноза человеку на основе имеющихся симптомов.
Спрос на специалистов по машинному обучению постоянно растет. В их услугах нуждаются компании в сфере IT, фирмы по разработке робототехники, разработчики продуктов для сферы развлечений, профильные коммерческие организации.
К наиболее известным результатам работы ML-инженеров относится система рекомендации контента Pinterest, таргетированная реклама Facebook, продуманная новостная лента Twitter. Услугами machine learning engineer активно пользуются Google, Яндекс, Сбербанк, один из крупнейших производителей и поставщиков аппаратного и программного обеспечения IBM, китайская компания Baidu с одноименной поисковой сетью и другие.
Чем занимается специалист по машинному обучению
ML-инженер использует специальные алгоритмы для решения практических задач с целью автоматизировать труд человека. У него есть две главные задачи – подготовка данных и построение модели для их обработки.
К обязанностям специалиста по машинному обучению относится:
Что должен знать специалист по машинному обучению
Для выполнения поставленных задач ML-менеджеру нужно на высоком уровне знать Python и популярные библиотеки, в том числе Matpotlib, которая нужна для визуализации данных двумерной графикой. Прохождение онлайн курса по Python позволит в кратчайшие сроки освоить этот язык программирования.
Помимо hard («жестких»), нужны soft («мягкие») навыки. К ним относятся универсальные компетенции, включая аналитический склад мышления, внимательность к деталям, хорошая память, аккуратность, желание обучаться новому.
Чтобы оставаться востребованным специалистом, нужно выбрать предметную область, постоянно её изучать и быть в курсе последних изменений. Например, если планируете работать в области медицины, постарайтесь вникнуть в задачи медицинских работников, узнать, как автоматизировать их труд.
Сколько зарабатывает специалист по машинному обучению
Учитывая темпы роста цифровых технологий, количество необходимых знаний и навыков, профессия ML-инженер по праву является одной из самых высокооплачиваемых в IT. Средняя зарплата специалиста по машинному обучению в России составляет 165 000 рублей, в Украине – 40 000 гривен.
Если брать классические уровни квалификации в сфере информационных технологий, то в России Junior зарабатывают от 70 000 до 120 000 рублей, Middle – от 120 000 до 200 000, а Senior – от 200 000 до 300 000 руб. в месяц. В крупных международных компаниях профессионал может рассчитывать на ежемесячный оклад в размере 350 000 рублей.
В Украине зарплата machine learning engineer на позиции Junior составляет от 25 000 до 40 000 гривен, Middle – от 40 000 до 80 000, а Senior – от 80 000 до 100 000 грн в месяц. Американские компании часто предлагают работу по удаленке со средним окладом в 3 000 долларов (83 000 гривен) в месяц.
Как освоить профессию специалист по машинному обучению
Для построения успешной карьеры нужны системные фундаментальные знания в направлениях науки и техники, крепкая математическая база. Войти в эту специальность гораздо легче дата-аналитикам и дата-сайентистам. Она приветствует разработчиков на Python, только придется уделить время тщательному изучению основных ML-библиотек.
Если хотите получить высшее образование, нужно выбирать технический университет. В России востребованы студенты из МТУСИ (Московского технического университета связи и информатики) и МФТИ (Московского физико-технического института). В Украине востребованы студенты из ХНУРЕ (Харьковского национального университета радиоэлектроники) и ОНПУ (Одесского национального политехнического университета).
Если нет денежных средств, времени или желания получать высшее техническое образование, обратите внимание на онлайн обучение machine learning. Такие программы дают возможность получить структурированную информацию в среднем за 6-12 месяцев. Преподаватели дают необходимую теоретическую базу, после чего студенты выполняют практические задания.
Самостоятельное обучение подходит для людей с техническим бэкграундом. На специализированных площадках есть бесплатные книги, видео и статьи. Но придется самостоятельно искать материалы и структурировать информацию. Такой способ больше подходит для получения знаний в каждом конкретном случае: нужно решить проблему, ищите материалы, углубляетесь в изучение темы и получаете ответ на вопрос.
Если хотите пройти программу обучения machine learning от известных онлайн университетов, рекомендуем рассмотреть лучшие курсы по машинному обучению: