H
HireSeeker
яндекс

Ведущий разработчик Inference-server в отдел ML-инфраструктуры

яндекс · 22 янв.

Зарплата не указана

Наша команда разрабатывает сервисы, которые позволяют быстро поднять подсчёт нейронных моделей и использовать их в продакшне. Это может быть лёгкая сетка на CPU или большой трансформер на миллиарды параметров, который нужно считать на сотнях тысяч RPS за 30 мс в Q99. Помимо этого, нужно, чтобы новые сервисы поднимались легко, в них сразу было многоуровневое кеширование, мониторинги, доставка и дообучение моделей и многое другое.

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

Наша команда — это служба из 10 человек, которая сейчас масштабируется для достижения смелых целей. Часть наших коллег занимаются базовой технологией и отвечают за внедрение сервиса на всю компанию — делают так, чтобы сервис работал эффективно и удобно для разных видов команд. Другая часть занимается сервисами инференса в рекламе, где огромные нагрузки (сотни тысяч RPS), много железа (сотни тысяч ядер, сотни 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