ML-инженер занимается процессами разработки, обучения и последующего сопровождения моделей машинного обучения в рабочем окружении. Эта относительно новая профессия привлекает многих своими высокими зарплатами, но подходит она только тем, кто обладает талантом к логическому и структурированному мышлению. Часто в нее приходят из числа специалистов по анализу данных.
Почему стоит обучать машину
Машинное обучение (или ML – от английского machine learning) – это область, которая тесно связана с наукой о данных (Big Data) и искусственным интеллектом (ИИ). Особенностью его является применение математических моделей данных, которые позволяют программному обеспечению самостоятельно обучаться – выявлять закономерности и устанавливать связи без (или с минимальным) участием человека.
Сегодняшняя область машинного обучения включает в себя 3 основные направления:
- обработка текстовых данных и устной речи (для применения в чат-ботах, голосовых ассистентах и прочее);
- компьютерное зрение (самый простой пример – системы видеонаблюдения);
- машинное обучение и обработка данных для коммерческих задач.
Применение машинного обучения явно заметно во многих сферах и отраслях:
- в сфере автоиндустрии (автономные автомобили, оптимизация маршрутов);
- в банковской сфере (прогнозирование динамики вкладов, защита от фрода);
- в электронной торговле (чат-боты, покупательские помощники);
- в индустрии развлечений (рекомендации Pinterest, подстраивающиеся под предпочтения пользователя, ленты фильмов в онлайн-кинотеатрах, новостные ленты в социальных сетях);
- в здравоохранении (диагностика заболеваний, выбор наиболее эффективного пути лечения);
- в промышленности (определение дефектов);
- в аграрной отрасли (системы "умного" полива на фермах).
Указанный список это лишь часть примеров применения машинного обучения. Его преимущества, такие как более точное прогнозирование по сравнению с человеком и автоматизация процесса принятия решений, все чаще используются в научных исследованиях и для решения повседневных бизнес-задач.
Обязанности ML инженера
Любой компьютер может обрабатывать данные, но их анализ возможен только при ручном указании всех зависимостей. В машинном обучении программное обеспечение самостоятельно выявляет закономерности и строит корреляции. Роль ML инженера - разработать алгоритм для обучения и оценки этого ПО. В своей работе он:
- подает на вход машине данные – собирает и обрабатывает информацию из различных источников (тексты, изображения, таблицы, видеозаписи и т.п.).
- Создает датасет – приводит информацию в унифицированный формат;
- Предсказывает, какие конкретные данные из совокупности информации будут необходимы для анализа, "очищает" контент – устраняет ошибки, которые могут исказить точность итогового результата;
- Кодирует и обучает ML Model – алгоритм, который позволяет компьютеру (точнее программному обеспечению) обучаться на основе отношений между различными наборами данных, делать прогнозы и принимать решения без участия человека (например, рекомендовать товары в интернет-магазине)
Под обучением подразумевается решение множества похожих задач. Например, системе нужно показать множество изображений всех известных видов фикусов, чтобы в конечном итоге она без ошибок опознала конкретный каучуковый вид.
Главная задача ML Engineer'а не заключается только в разработке алгоритма для компьютерного мышления. Его услуги обычно востребованы в крупных компаниях, которые используют или планируют использовать алгоритмы искусственного интеллекта в своих проектах.
Работая над конкретным проектом, специалист по ML должен связать техническое решение с бизнесом – разработать алгоритм и модель, соответствующую целям клиента. Для этого ему нужно:
Определить задачу и перевести ее на технический язык. Например, задача может заключаться в увеличении продаж интернет-магазина путем предложения товаров, дополняющих текущий заказ.
Техническое выполнение указанной продуктовой задачи предполагает разработку механизма рекомендаций, который самостоятельно будет выбирать товары, способные привлечь внимание покупателя.
Система должна быть обеспечена соответствующими к обучению наборами данных, которые нужно оценить и преобразовать в учебные материалы. Если говорить о примере из пункта 1, то это данные о перечне продуктов в профиле специфического пользователя, которые разные пользователи часто покупают в одной корзине, или описание различных пользователей, которые приобретают разные товары.
Необходимо установить правила для анализа данных и определения повторений, на что должен сосредоточиться алгоритм.
Система должна быть обучена на имеющихся данных, чтобы задать ей задачи, проверить ее эффективность и соответствие ожидаемым бизнес-результатам.
Алгоритмы следует оптимизировать и комбинировать до тех пор, пока они не начнут корректно выполнять предполагаемые задачи.
Обученную модель следует интегрировать в продакшен, соединив ее с продуктом и оценив ее работу с реальными данными. В нашем примере результатом будет персональная лента для каждого посетителя интернет-магазина.
Модель ML необходимо улучшить, ускорив ее работу, повысив эффективность и точность.
ML Engineer также отвечает за функционирование готовой модели. Алгоритм не должен давать сбои и "вылетать", он должен адаптироваться под изменения данных. В основном, специалист по машинному обучению (ML Engineer) отвечает за все этапы обработки данных - начиная с обработки характеристик для выбора и создания модели, заканчивая ее внедрением в продакшен и настройкой автоматического регулярного запуска.
Путь к профессии ML Engineer
ML Engineer – это уважаемая профессия, которая имеет высокую стоимость на рынке. Однако работодатели выдвигают достаточно большое количество требований к потенциальным кандидатам, которые следует принимать во внимание учащимся и студентам, мечтающим посвятить свою карьеру работе с искусственным интеллектом. Давайте попробуем их суммировать.
Специализированное образование
Для работы в качестве ML Engineer'а требуется получение степени магистра в области математики или информатики в техническом вузе. Желательно, чтобы этот вуз был в числе лидирующих в данной области. В дополнение к математике и программированию, вам потребуется знание и ряда других наук, таких как физика, нейрофизиология, биология и даже психология, поскольку машина должна иметь способность реагировать таким образом, который понятен человеку.
В ведущих западных компаниях предпочитают нанимать выпускников факультета Computer Science - факультета, полностью посвященного программированию, входящего в ассоциацию зарубежных вузов Ivy League. Также подойдут и связанные специальности, такие как прикладная математика.
Поступление в Гарвард может быть дорого и затруднительно, однако в университетах России, таких как МФТИ, ИТМО, МГУ, ННГУ, СТАНКИН, МИРЭА, МТУСИ, Бауманка, и Политехническом институте Петра Великого, а также во многих других университетах, обучение программированию и математике не уступает Гарварду. Более того, здесь уже существуют программы подготовки специалистов в области машинного обучения.
Навыки и опыт
Начало карьеры без опыта может быть затруднительным. Для успешного старта важно иметь представление о сфере Data Science. Зачастую, для того чтобы получить работу, требуется опыт работы Data Scientist или разработчиком на Python.
Существуют различные способы получения опыта:
- Первый метод - это поиск стажировок. Компании, занимающиеся машинным обучением (особенно стартапы), часто открыты для новых талантов. Вы можете прислать им свою заявку, даже если информации о стажировках на сайте нет. Возможно, ваша инициатива поможет получить первый опыт, а также первую работу.
- Другие варианты включают участие в конкурсах по программированию или хакатонах (слово образовано из «хакер» и «марафон» и означает форумы для разработчиков в определенной области), создание собственного проекта на GitHub, организацию кружка по машинному обучению для школьников (мы настоятельно рекомендуем школьникам, интересующимся этой областью, посещать такие кружки).
- Также можно получить первый опыт на специализированных курсах.
Образовательные курсы
Желательно, чтобы формат курсов включал в себя присутствие преподавателя, домашние задания, установленные сроки и контроль выполнения работ.
Существует множество курсов высокого качества, структурированных по различным направлениям, которые можно найти на таких образовательных платформах, как Geek Brains, Skillbox, Нетология и др.
Профессиональные компетенции
Специалист в области машинного обучения обладает широким набором навыков и инструментов. Основные из них - это знание математики и навыки программирования. В процессе работы он активно использует:
- математические дисциплины (линейная алгебра, математический анализ, статистика, теория вероятностей);
- ключевые алгоритмы ML (линейная и логистическая регрессии, деревья решений, Байесовский классификатор, бустинг);
- структуры данных (стеки, очереди, многомерные массивы, деревья, графы);
- языки программирования, в частности, Python. Кроме того, в машинном обучении часто применяются C++, JavaScript, Java, C#, Julia, Shell, R, TypeScript;
- методологии машинного обучения и добычи данных;
- фреймворки для обучения нейросетей, такие как Apache Spark, TensorFlow, Keras, PyTorch;
- архитектуру компьютера (память, кэш, пропускная способность, блокировки, распределенная обработка);
- инструменты для визуализации данных (Matplotlib, Power BI);
- английский язык.
Ключевые личные качества
Инженер по машинному обучению, кроме всего прочего, должен обладать бизнес-ориентированным мышлением. Его задача не только в создании нового алгоритма. Он должен убедить клиента в возможностях (или их отсутствии) применения машинного обучения для его бизнеса.
Важно осознавать всю картину, которая складывается у заказчика, понимать назначение и результаты, а также способы их интеграции в бизнес процессы.
Специалист ML должен обладать такими качествами:
- Глубокая аналитическая мышление.
- Терпение. Необходимо его усиленно культивировать и развивать, поскольку придется работать над «сырыми» выборками и оптимальными параметрами.
- Любопытство.
- Творческое мышление. Без него сложно представить гиперплоскость в пространстве.
- Бизнес-ориентированность – необходимо видеть общую картину клиента, понимать ее назначение и результаты, а также способы их интеграции в бизнес.
- Коммуникабельность. Необходимо уметь объяснять сложные технические детали для непрофильной аудитории.
- Способность и желание работать в команде.
- Устойчивость к стрессу.
- Целеустремленность.
- Сосредоточенность, упорство в решении поставленных задач.
Место работы
Услуги ML инженера активно востребованы, в основном, крупными компаниями, которые используют или планируют использовать алгоритмы искусственного интеллекта в своих проектах. Такой специалист имеет возможность работать в ведущих российских компаниях, как "Яндекс", "Газпром", "Сбербанк", "Мейл.ру", "Ростех". Возможно сотрудничество и с мировыми лидерами, такими как Google, Microsoft, IBM. Также, для ML инженера доступна работа в государственных структурах.
Следует отметить, что технические задачи ML инженера меняются в зависимости от глубины его погружения в тему.
Да, специалист, обладающий основами ML, но не имеющий практического опыта, вполне справится с проверкой гипотез и обработкой данных. Однако, он не окажет значительного влияния на финальный продукт. Специалист, работающий в области машинного обучения около двух лет, сможет создавать модели, влияющие на принятие решений в компании. От сеньора с опытом, кроме создания и внедрения моделей, требуются управленческие навыки.
Преимущества и недостатки
Преимущества:
- Применение технологий ML в различных сферах делает инженера ML востребованным специалистом.
- Одна из наиболее высоко оплачиваемых специальностей.
- Ежедневно предстоит решать новые интересные задачи.
- Возможность карьерного роста за границей.
Недостатки:
- Большая эмоциональная нагрузка.
- Высокий уровень рутины.
- Сложно войти в профессию без опыта.
- Результаты работы могут быть непредсказуемы.
Заработная плата
Джуниоры зарабатывают до 80 тыс. рублей, мидлы – до 200 тыс. рублей, а сеньоры – до 400 тыс. рублей.
Заработная плата специалиста по машинному обучению (ML-специалиста) на ноябрь 2023 года
Данные о зарплатах предоставлены сайтом hh. ru.
Москва 250000—250000
Комментарии