Обзор должности
Мы ищем старшего инженера-разработчика бэкенда в команду инженерии платформы машинного обучения. На этой должности вы будете отвечать за разработку и расширение основной инфраструктуры, поддерживающей продукты компании в области ИИ/МО. Вы будете тесно сотрудничать с дата-сайентистами и инженерами машинного обучения для проектирования и внедрения передовой инфраструктуры ИИ/МО, уделяя особое внимание развертыванию и продакшенизации моделей в мультиоблачных и гибридных средах. Контракт предлагает возможность постоянно бросать себе вызов, расширять свои навыки и брать на себя ответственность за свою работу.
Чем вы будете заниматься
- Технические вклад: Проектировать, разрабатывать, тестировать и выпускать программное обеспечение и инфраструктуру, поддерживающие рабочие процессы ИИ/МО и экспериментирования.
- Развертывание и продакшенизация моделей: Проектировать, разрабатывать и развертывать ML-модели в продакшене в средах AWS, GCP, Azure и on-prem.
- Масштабируемые конвейеры: Создавать масштабируемые ML-конвейеры с высокой пропускной способностью, поддерживающие многопроцессорное и распределенное обучение/инференс.
- Инфраструктура и развертывание: Реализовывать надежные стратегии развертывания с использованием Docker, Kubernetes, Terraform и рабочих процессов CI/CD. Развертывать службы в средах AWS и Kubernetes и участвовать в дежурствах по вызову.
- Оптимизация: Оптимизировать обслуживание моделей для LLM и приложений генеративного ИИ, обеспечивая низкую задержку и высокую доступность. Применять методы оптимизации инференса моделей, ускорения на GPU и параллельной обработки.
- Сотрудничество: Тесно сотрудничать с дата-сайентистами, командами MLOps, платформенной инженерии и продакт-менеджерами для операционализации моделей и стать ценным членом автономной, кросс-функциональной команды.
- Мониторинг и лучшие практики: Обеспечивать мониторинг, наблюдаемость и настройку производительности развернутых моделей в масштабе. Внедрять лучшие практики в области версионирования моделей, воспроизводимости и соответствия требованиям (включая безопасность и управление данными).
- Обзор кода и документация: Расширять нашу базу знаний, участвуя в обзорах кода, написании и рецензировании документации.
- Архитектура и улучшение процессов: Участвовать в принятии архитектурных решений, оценке инструментов и улучшении процессов развертывания и обслуживания ML.
- Профессиональное развитие: Оставаться в курсе новейших технологий и проактивно определять возможности для роста.
Квалификация
Обязательно:
- Опыт работы более 5 лет в быстро меняющейся технической среде, требующей решения проблем, в качестве инженера-разработчика или инженера машинного обучения, с упором на развертывание и продакшенизацию моделей.
- Свободное владение Python (обязательно); опыт работы с Java является плюсом.
- Демонстрируемое понимание основ разработки программного обеспечения, связанных с безопасностью, масштабируемостью, асинхронным программированием и транзакциями.
- Знание и подтвержденный опыт разработки с использованием Terraform для AWS и развертывания инфраструктуры как кода (IaC).
- Подтвержденный опыт работы с LLM, моделями GenAI и распределенным обслуживанием моделей.
- Глубокое понимание мультиоблачных сред (AWS, GCP, Azure) и гибридных развертываний.
- Опыт работы с контейнеризацией (Docker) и оркестрацией (Kubernetes) для ML-нагрузок.
- Глубокое знание оптимизации инференса моделей, ускорения на GPU и параллельной обработки.
- Знакомство с такими инструментами, как TensorFlow Serving, TorchServe, Triton Inference Server, ONNX Runtime или аналогичными.
- Опыт проектирования систем с высокой пропускной способностью, API REST/gRPC для обслуживания моделей и стратегий масштабирования.
- Твердое понимание концепций MLOps, включая CI/CD, мониторинг, обнаружение дрейфа и рабочие процессы переобучения.
- Опыт работы с реляционными и/или NoSQL базами данных, понимание нормализации/денормализации, ограничений, транзакций, репликации и шардинга.
- Внимание к деталям, трудолюбие, способность работать над несколькими проектами одновременно и сильные коммуникативные навыки.