Наша команда разрабатывает сервисы, которые позволяют быстро поднять подсчёт нейронных моделей и использовать их в продакшне. Это может быть лёгкая сетка на CPU или большой трансформер на миллиарды параметров, который нужно считать на сотнях тысяч RPS за 30 мс в Q99. Помимо этого, нужно, чтобы новые сервисы поднимались легко, в них сразу было многоуровневое кеширование, мониторинги, доставка и дообучение моделей и многое другое. **Мы должны делать так, чтобы:** * ML-инженеры любого уровня и в любой части Яндекса могли использовать наш сервис в своём проекте буквально одним нажатием кнопки; * ресёрч новых моделей и доставка их в эксперимент и продакшн были максимально простыми и быстрыми; * запросы выполнялись быстро, а CPU/GPU использовались с наибольшей утилизацией.

Обязанности:

Помощь с внедрением решения по всей компании
В Яндексе не меньше 20 команд, занимающихся эксплуатацией ML-моделей. Чтобы сделать решение удобным для всех и дать всем возможность быстро проводить эксперименты, необходимо постоянно взаимодействовать с заказчиками и реализовывать необходимую для них функциональность, например новые бэкенды для применения нейросетей, или консультировать по поднятию новых инсталляций. Развитие коробочного решения для инференса
Сейчас у нас готова core-часть сервиса, но, чтобы сделать решение по-настоящему удобным, предстоит реализовать множество идей и наработок, таких как динамическая балансировка, многоуровневый in-memory-, disk-, remote-кеш, динамические конфиги, предстоит развивать инструменты для поднятия сервиса в облаке. Сравнение с общемировыми аналогами
Для создания хорошего конкурентного решения нам надо всегда смотреть по сторонам и перенимать лучшие практики и идеи. Для этого мы анализируем аналогичные решения: как для кода инференса (Triton Inference Server, KServe), так и для поднятия сервиса в системах деплоя (Seldon Core, Kubeflow). А также нам необходимо следить за трендами инференса и наперёд подготавливать инфраструктуру для новых размеров и типов моделей. Интеграция сервисов инференса с ML-платформой
Единая ML-платформа позволяет обучать и сравнивать запуски модели, но хочется, чтобы весь цикл жизни модели — и деплой, и эксплуатация — был доступен из неё. Для этого предстоит продумать сценарии использования инференса через ML-платформу и реализовать интеграцию с ней.

Ключевые навыки:

  • Имеете опыт в программировании не менее пяти лет
  • Уверенно владеете C++ или готовы быстро разобраться в нём
  • Были техническим лидером сервиса, составляли роадмап
  • Владеете Concurrency на C++ или Linux
  • При принятии решения в первую очередь думаете о пользе для бизнеса

Дополнительные требования:

  • Разрабатывали и проектировали высоконагруженные сервисы на C++
  • Знакомы с устройством нейронных моделей, в свободном режиме следите за новинками в области
  • Проектировали, разворачивали и эксплуатировали сервисы для ML Inference на CPU/GPU
  • Уверенно знаете системы Unix и Linux: устройство процессов, файловой системы, системных вызовов и другое
  • Имеете представление о Triton, TRT LLM