Вакансия: MLOps инженер/ML Platform Engineer
Описание вакансии
Мы в поиске Senior специалиста на позицию ML Platform Engineer (MLOps) в разработку Data Science платформы в РУСАЛ. Требуемый опыт работы: от 5 лет.
ML Platform (MOps) engineer будет заниматься разработкой и эксплуатацией DSML (Data Sciene and Machine Learning) платформы. Наша DSML платформа не просто позволяет создавать и эксплуатировать модели, она позволяет превращать инсайты и экспертизу Data Scientist-а в работающий код, легко передавать ее между Data Scientist-ами и сохранять ее в компании. Платформа работает как on-premise так и в cloud и не имеет здесь аналогов. РУСАЛ DSML платформа разрабатывается на базе решения с открытым кодом SinaraML (https://github.com/4-DS). SinaraML не только максимально упрощает жизнь Data Scinetist-а, избавляет его от инженерной рутины, но и позволяет ему самостоятельно разворачивать и начинать использовать платформу.
Наша команда это команда универсалов, где каждый участник включен во все аспекты разработки, экcплуатации и поддержки платформы.
Welcome в нашу команду ML Platform Engineers инженеров:
Если Вы готовы отвечать за эксплуатацию разработанного Вами решения, быть постоянно в рабочее время On Call
Хотите заниматься полным циклом разработки платформ для Machine Learning и Artificial Intelligence начиная с проектирования уровня hardware
Готовы как брать на себя полноту ответственности за всю систему, так и делить ее с командой
Готовы быть адвокатом Data Scientist-ов и обеспечивать поддержку пользователям этих платформ
Если вы в какой-то степени ГИК в своей профессии, постоянно учитесь и Вас не пугает, что нужно планировать бэклог из задач в совершенно новых областях
Если у вас широкое мировоззрение, вы любите Python, Linux, Open Source, Cloud технологии и еще много чего
Вы одинаково любите разработку и эксплуатацию систем и чувствуете себя скорее system engineer-ом, чем software dev-ом или devOps-ом
Если вы способны быстро переключаться между четко выстроенными процессами эксплуатации и гибкими технологиями разработки
Если вам не нравится over-engineering при выборе технологий и разработке, любите делать сложное простым и лаконичным
Если вы умеете балансировать, в зависимости от потребности, между качеством и производительностью Вашей работы, между краткосрочными и долгосрочными целями
Задачи:
- Разрабатывать и эксплуатировать инфраструктуру вычислительных мощностей ML платформы: вычислительное облако + облако данных. Эксплуатировать VMWare сервера (CPU, GPU, RAM, Disks) платформы, cеть. Экcплуатацией cобственно cерверного/сетевого hardware и VMWare ESXI серверов мы не занимаемся;
- Разрабатывать и эксплуатировать набор взаимосвязанных K8s кластеров для вычислительного облака ML платформы:
a) K8s кластер вычислительного облака для интерактивной разработки на базе Jupyter Lab;
b) K8s кластер для бэкграунд задач: для запуска ML pipelines по расписанию, для Model Serving;
c) K8s кластер для анализа больших данных на базе Apache Spark.
- Разрабатывать и эксплуатировать масштабируемое облако данных платформы на базе Apache Ozone, HDFS, S3;
- Разрабатывать и эксплуатировать инструменты для мониторинга и диагностики работы моделей, на базе Spark, Kafka. Экcплуатацией cобственно Kafka кластеров мы не занимаемся. Участие в разработке и применении типовых DataFlow продуктов для мониторинга моделей (Model Services);
- Разрабатывать эксплуатировать и поддерживать экземпляры RUSAL DSML платформы на базе SinaraML на языке Python, которая включает следующую функциональность:
a) Инструменты разработки ML pipelines;
b) Инструменты версионирования и прослеживаемости данных;
c) Инструменты управления Data Science экспериментами (воспроизводимость и передаваемость кода);
d) Инструменты масштабирования вычислительных ресурсов для интерактивной разработки и бэкграунд задач;
e) Инструменты Model Serving;
f) Инструменты визуализации, публикации интерактивных отчетов и взаимодействия с бизнесом.
- Разрабатывать эксплуатировать и поддерживать типовые среды разработки моделей для Сlassic ML, Copmuter Vision, Natural Language Processing;
- Разрабатывать эксплуатировать и поддерживать инструменты безопасности:
a) Интеграция вычислительного облака и облака данных с Active Directory для аутентификации и авторизации с использованием PAM, Kerberos и др.;
b) Модели доступа данных, сетевые инструменты безопасности
- Интегрировать компоненты платформы между собой и c корпоративной инфраструктурой включая GitLab, Nexus, Kafka и др.;
- Обеспечение бесперебойной работы платформы;
- Создание и поддержка процессов провижнинга пользователей, продуктов, подрядчиков на платформу;
- Развивать и продвигать в компании сloud-native архитектуру и другие современные инструменты и подходы к разработке;
- Вести разработку на языке Python. Читать, отлаживать и вносить изменения в код на других языках: Java, C/C++, JavaScript и т.д.
Требования: - Опыт администрирования linux, работающих сервисов на базе Open Source;
- Опыт настройки, отладки, мониторинга и оптимизации производительности систем, начиная с уровня hardware, продолжая уровнем сети, виртуализации, оркестрации и заканчивая конечными сервисами;
- Опыт разработки современных распределенных software system, основы Web, микро сервисная архитектура и т.д.;
- Опыт развертывания и эксплуатации разработанных software system;
- Опыт работы с DevOps инструментами, Git, CI/CD и т.д.;
- Опыт разработки в команде по SCRUM Kanban методологиям;
- Умение сочетать гибкие принципы Agile, с дисциплиной для эксплуатации, обеспечение SLA;
- Опыт разработки на языках: python, bash; опыт отладки кода на java, а также желательно С/С++, JavaScript, scala и др.;
- Опыт развертывания, эксплуатации и применения K8s инфраструктуры (кластеров);
- Опыт настройки и экcплуатации сетевых сервисов, nginx или других балансировщиков;
- Опыт работы со spark и распределенными хранилищами S3/HDFS;
- Опыт безопасной разработки: аутентификация, авторизация, шифрование и т.д.;
- Быть сторонником принципов DevOps/SRE, Cloud Native архитектуры;
- Понимание MLOps практик: ML pipeline, Model Serving, Experiment Management, версионирования данных, моделей, экспериментов, воспроизводимость;
- Готовность, разрабатывая код, отвечать за его эксплуатацию в продуктовой среде;
- Готовность, как инженер и разработчик, отстаивать интересы Data Scientist-ов;
- Уметь следовать и культивировать в компании стандарты вокруг разработки, готовность документировать результаты своего труда.
Плюсом будет:
- Опыт работы с Cloud платформами типа Amazon, Azure, Google, Yandex;
- Опыт настройки CI на базе Gitlab;
- Опыт работы с hadoop;
- Опыт эксплуатации сервисных шин (MQ, Kafka);
- Опыт работы с Windows Servers, Active Directory, Kubernetes.
Условия: - Возможность присоединиться к команде, работающей над цифровизацией реального сектора экономики;
- Полностью удаленный режим работы;
- Возможность участвовать в интересных и сложных проектах с ведущими специалистами индустрии;
- Пятидневная рабочая неделя (5/2) с 9:00 до 18:00;
- Работа в крупной международной компании (69 тыс. сотрудников, 1-е место по объему производства алюминия в мире), официальное трудоустройство (белая ЗП, отпуск, больничный);
- Оформление, оплата отпусков и больничных в соответствии с ТК РФ.