Наш клиент создаёт платформу, которая позволяет обучать AI-модели (включая LLM) на простаивающих GPU в дата-центрах.
Наша задача — построить распределённую систему, которая принимает зашифрованные данные клиентов, запускает обучение в разных дата-центрах и возвращает результаты с максимальной производительностью и устойчивостью.
Ищем инженера, который поможет спроектировать и реализовать core-компоненты распределённого ML-пайплайна.
Обязанности
- Разработка пайплайна обучения моделей (LLM, классические ML, мультимодальные модели).
- Интеграция PyTorch/TensorFlow/JAX с нашей compute-платформой.
- Настройка и оптимизация распределённого обучения (Data Parallel, Model Parallel, FSDP/ZeRO, DDP).
- Разработка и оптимизация контейнеров для задач обучения (Docker + Kubernetes + GPU).
- Создание и поддержка пайплайна: загрузка данных → подготовка → обучение → выгрузка артефактов.
- Работа с GPU-профилированием и оптимизацией (CUDA/NCCL).
- Взаимодействие с backend-инженерами для определения API job орchestration.
- Настройка мониторинга: метрики, логи, профайлинг обучения.
- Исследование и тестирование новых фреймворков и подходов для ускорения LLM-обучения.
Требования
- Глубокие знания Python, опыт коммерческой разработки.
- Отличный опыт работы с PyTorch (желательно — также TensorFlow или JAX).
- Опыт настройки распределённого обучения:
- PyTorch Distributed / DDP.
- DeepSpeed / FSDP / ZeRO.
- HuggingFace Accelerate.
- Понимание CUDA, NCCL, работы GPU и их ограничений.
- Умение писать высокопроизводительный код для тренировки моделей.
- Опыт работы с Docker, желательно — Kubernetes.
- Понимание архитектуры ML-процессинга: датасеты, загрузчики, чекпоинты, ресюмы, метрики.
- Умение разбираться в performance bottlenecks (CPU/GPU, IO, сеть).
- Знание инструментов для мониторинга: TensorBoard, Weights & Biases, Prometheus.
Будет плюсом
- Опыт fine-tuning и обучения моделей LLM.
- Работа с DeepSpeed/Megatron-LM, Alpaca, HF Transformers.
- Навыки оптимизации inference (Triton, ONNX, TensorRT).
- Опыт разработки кластерных систем.
- Базовые знания Go или Rust для взаимодействия с низкоуровневым runtime.
Условия
- Возможность влиять на архитектуру compute-платформы с самого начала.
- Работа с десятками/сотнями GPU в разных дата-центрах.
- Свобода в выборе технологий для оптимального ML-пайплайна.
- Сложные технические задачи, быстрое принятие решений, отсутствие бюрократии.
- Роль, которая напрямую влияет на рост бизнеса.