улица Льва Толстого 16
О вакансии
Мы создаём инфраструктуру для обучения и дообучения больших языковых (LLM) и визуально-языковых (VLM) моделей, которые используются в Алисе, Поиске, Рекламе и других сервисах Яндекса. Современное обучение таких моделей — это сложная система, которая включает десятки тысяч серверов, миллионы вычислительных ядер и многоуровневые соединения между ними. Наша задача — сделать эту систему максимально эффективной, рационально используя вычислительные ресурсы и минимизируя риски сбоев.
Обучение моделей превратилось в задачу управления сложными распределёнными системами. Нужно обеспечивать отказоустойчивость, эффективную доставку данных и минимизировать задержки в коммуникациях. Чем сложнее система, тем больше точек отказа, а чем больше ресурсов нужно на обучение, тем выше накладные расходы на запуск. Наша команда работает на стыке ML-математики и «железной» инфраструктуры: мы должны понимать и особенности аппаратного обеспечения (GPU, сети, шины данных, диски, память), и нюансы самого процесса обучения: составные части, взаимодействие компонентов, узкие места.
Один из популярных подходов к обучению LLM — обучение с подкреплением, Reinforcement Learning, RL. С ростом популярности этого метода появляются всё более сложные подходы, увеличивается потребность в вычислительных ресурсах — и, как следствие, возникает необходимость строить специализированную инфраструктуру.
Какие задачи вас ждут:
- Оптимизация инфраструктуры RL-обученияВам предстоит улучшать ключевые компоненты: оптимизировать доставку и сохранение данных, оптимизировать коммуникации между блоками обучения, повышать эффективность работы внутри блоков.
-
Развитие инструментов диагностики
Вы будете создавать и совершенствовать инструменты, которые позволят быстро выявлять и устранять инфраструктурные проблемы.. -
Повышение отказоустойчивости инфраструктуры
Предстоит реализовывать подходы, которые сделают инфраструктуру обучения устойчивой к различным ошибкам и сбоям. -
Исследование и внедрение современных решений
Будете изучать новейшие подходы к организации инфраструктуры RL-обучения, оценивать их эффективность и внедрять в реальные проекты.
Мы ждем, что вы:
- Знаете Python и имеете опыт системного программирования, разработки библиотек или фреймворков
- Хорошо знакомы и работали на практике с фреймворком PyTorch и распределённым обучением через torch.distributed
- Владеете подходами параллелизации: понимаете data parallelism, tensor parallelism, pipeline parallelism, expert parallelism для распределённого инференса или обучения
- Интересуетесь LLM и MLOps: понимаете задачи и вызовы, которые связаны с эксплуатацией больших моделей в продакшне
- Умеете эффективно работать в команде и делиться знаниями
Будет плюсом, если вы:
- Участвовали в создании инфраструктуры обучения ML-моделей
- Внедряли и оптимизировали RL-решения
- Работали с библиотеками RL-обучения для LLM: veRL, slime, NeMo-RL, SkyRL и другими, а также с библиотеками инференса: vLLM, SGLang и TRTLLM
- Владеете C++ и имеете опыт низкоуровневого программирования и оптимизации
- Имеете опыт с GPU NVIDIA: понимаете архитектуру GPU, разрабатывали или оптимизировали алгоритмы с использованием CUDA или Triton