Обязанности:
Мы в поиске 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 (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-е место по объему производства алюминия в мире), официальное трудоустройство (белая ЗП, отпуск, больничный); Оформление, оплата отпусков и больничных в соответствии с ТК РФ.