Назад к вакансиям

GPU Performance Engineer

ЯндексГибрид
PythonLLMPyTorchMLOpsGPUPerformance OptimizationCUDASystem Programming

Описание

Обязанности

  • Повышение эффективности утилизации GPU
  • Формирование гипотез и исследование способов повышения эффективности утилизации GPU
  • Участие в реализации и внедрении наиболее профитных решений
  • Формирование рекомендаций и лучших практик по повышению производительности, чтобы выжимать максимум из GPU-инфраструктуры
  • Поиск узких мест (bottlenecks) в производительности и их устранение с помощью профилировщиков
  • Оптимизация доступа к памяти (memory access), ядер (kernels), времени ожидания (latency) и пропускной способности (throughput)
  • Создание и улучшение инструментов для быстрого выявления и устранения инфраструктурных проблем, которые влияют на эффективность утилизации, стабильность и скорость GPU-вычислений (как для обучения, так и для инференса)
  • Изучение новейших подходов к организации инфраструктуры для обучения и инференса
  • Оценка эффективности новейших подходов и внедрение их в реальные проекты
  • Тесное взаимодействие с разработчиками, ML-инженерами и системными архитекторами
  • Участие в оценке аппаратных решений и предложение улучшений для будущих поколений GPU
  • Разработка планов тестирования
  • Формирование бенчмарков
  • Проведение анализа регрессий производительности

Требования

  • Знание 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-системами

Условия

  • Формат работы: удалённо или гибрид