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

  • Повышать эффективность утилизации GPU: формировать гипотезы, исследовать и внедрять наиболее эффективные решения, разрабатывать рекомендации и лучшие практики.
  • Находить и устранять узкие места производительности с помощью профилировщиков; оптимизировать доступ к памяти, ядра, latency и throughput.
  • Создавать и улучшать инструменты диагностики проблем, влияющих на эффективность, стабильность и скорость GPU-вычислений для обучения и инференса.
  • Исследовать современные подходы к организации инфраструктуры обучения и инференса, оценивать их и внедрять в проекты.
  • Взаимодействовать с разработчиками, ML-инженерами и системными архитекторами; оценивать аппаратные решения, разрабатывать планы тестирования и бенчмарки, анализировать регрессии производительности.

Требования:

  • Знание Python и опыт системного программирования, разработки библиотек или фреймворков.
  • Опыт работы с PyTorch и распределённым обучением через torch.distributed.
  • Опыт параллелизации: data, tensor, pipeline и expert parallelism для распределённого инференса или обучения.
  • Интерес к LLM и MLOps, понимание задач эксплуатации больших моделей в продакшене.
  • Опыт работы с GPU NVIDIA и CUDA, понимание архитектуры GPU, разработки или оптимизации CUDA-алгоритмов; опыт работы с Nsight, nvprof или аналогами.
  • Навыки оптимизации производительности GPU-приложений, анализа профилей и метрик, чтения и оптимизации сложного кода.
  • Умение работать в команде и делиться знаниями.

Будет плюсом: уверенное владение C/C++ или аналогичными низкоуровневыми языками; опыт работы с библиотеками RL-обучения LLM (veRL, slime, NeMo-RL, SkyRL и другими), библиотеками инференса (vLLM, SGLang, TRTLLM), а также с продакшен-нагрузками, low-latency- или real-time-системами.

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