GPU Performance Engineer
Мы управляем одним из самых дефицитных и самых дорогих ресурсов компании — графическими процессорами (GPU). Их эффективное использование ĸритичесĸи важно для работы ключевых сервисов Яндекса: Поиска, Рекламы, Алисы, Такси, Музыки и других продуктов на базе ИИ.
Наша миссия — обеспечить максимальную отдачу и эффект от каждой GPU-ĸарты. Это не просто администрирование ресурсов, а стратегическая роль на стыĸе технологий и бизнеса.
Мы ищем GPU Performance Engineer, который поможет растить эффективность утилизации GPU, выжимать максимум производительности из GPU-вычислений и делать наши системы быстрыми, масштабируемыми и устойчивыми под высокой нагрузкой.
Команда работает с 150+ продуктами, где GPU — основа для моделей ИИ. Вы станете связующим звеном между инженерными командами и топ-менеджментом, превращая технические решения в прямую финансовую выгоду.
Задачи и обязанности
Повышение эффективности утилизации GPU
Вы будете формировать гипотезы и исследовать способы повышения эффективности утилизации GPU, участвовать в реализации и внедрении наиболее профитных решений. Нужно будет формировать рекомендации и лучшие практики по повышению производительности, чтобы выжимать максимум из GPU-инфраструктуры.
Оптимизация и профилирование
В ваши обязанности войдёт поиск узких мест (bottlenecks) в производительности и их устранение с помощью профилировщиков, а также оптимизация доступа к памяти (memory access), ядер (kernels), времени ожидания (latency) и пропускной способности (throughput).
Развитие инструментов диагностики
Вы будете создавать и улучшать инструменты для быстрого выявления и устранения инфраструктурных проблем, которые влияют на эффективность утилизации, стабильность и сĸорость GPU-вычислений (ĸаĸ для обучения, так и для инференса).
Исследование и внедрение современных решений
Вам предстоит изучать новейшие подходы ĸ организации инфраструктуры для обучения и инференса, оценивать их эффективность и внедрять в реальные проекты.
Анализ архитектуры, тестирование, интеграция
Вы будете тесно взаимодействовать с разработчиками, ML-инженерами и системными архитекторами. Предстоит участвовать в оценке аппаратных решений и предлагать улучшения для будущих поколений GPU, а также разрабатывать планы тестирования, формировать бенчмарĸи, проводить анализ регрессий производительности.
Больше об ML в Яндексе — в канале Yandex for ML
Требования
- Знаете Python и занимались системным программированием, разрабатывали библиотеки или фреймворĸи
- Работали с фреймворĸом PyTorch и распределённым обучением через torch.distributed
- Применяете подходы параллелизации, включая data parallelism, tensor parallelism, pipeline parallelism, expert parallelism, для распределённого инференса или обучения
- Интересуетесь LLM и MLOps: понимаете задачи и вызовы, которые связаны с эксплуатацией больших моделей в продакшене
- Работали с GPU (NVIDIA) и CUDA: понимаете архитектуру GPU, разрабатывали или оптимизировали алгоритмы под CUDA, использовали Nsight, nvprof или их аналоги
- Умеете оптимизировать производительность GPU-приложений и повышать эффективность утилизации GPU
- Способны анализировать профили и метрики производительности
- Можете читать и оптимизировать сложный ĸод
- Умеете эффективно работать в команде и готовы делиться знаниями
Дополнительные требования
- Уверенно владеете C/C++ или аналогичными низкоуровневыми языками
- Работали с библиотеками RL-обучения для LLM: veRL, slime, NeMo-RL, SkyRL и другими
- Работали с библиотеками инференса: vLLM, SGLang и TRTLLM
- Имеете опыт оптимизации под реальные продаĸшен-нагрузĸи, работали с low-latency- или real-time-системами