Title: Member of Technical Staff (AI Inference Engineer)
Company: Perplexity
Location: London
Мы ищем инженера по выводу моделей ИИ (AI Inference Engineer) в нашу растущую команду. Мы создаем и управляем движком вывода для каждого запроса Perplexity и развертываем десятки архитектур моделей в масштабе с жесткими ограничениями по задержке и стоимости. Наш стек: Rust, Python, CUDA и CuTe DSL.
ОБЯЗАННОСТИ:
- Поддержка новых моделей. Поддержка моделей трансформеров для поиска, генерации текста и мультимодальных моделей в нашей инфраструктуре вывода, от загрузки весов, планирования запросов и управления KV-кэшем до поддержки в API Gateway.
- Миграция GPU-ядер в CuTe DSL. Портирование наших собственных CUDA-ядер в CuTe DSL от NVIDIA, чтобы они работали на GB200 сегодня и были переносимы на стойки Vera Rubin завтра.
- Собственный серверный рантайм на Rust. Разработка нашего внутреннего сервера вывода на основе Rust для решения всех проблем Python и поддержания темпа быстрорастущего трафика.
- Оптимизация производительности. Профилирование и устранение узких мест от сетевого входа до непрерывного батчинга и чередования GPU-ядер.
- Надежность и наблюдаемость. Создание дашбордов, оповещений и автоматизированного исправления, чтобы мы могли выявлять регрессии раньше пользователей. Реагирование на инциденты в продакшене и обучение на них.
КОГО МЫ ИЩЕМ:
- Глубокий опыт в программировании GPU и работе над производительностью (CUDA, Triton, CUTLASS или аналогичные). Любой другой глубокий опыт системного программирования является плюсом.
- Вы понимаете современные архитектуры LLM и можете надежно внедрять их в производственную среду.
- Вы создавали и эксплуатировали распределенные системы в продакшене под реальной нагрузкой — в идеале, критичные к производительности.
- Комфортное взаимодействие с различными языками и уровнями: Rust для серверного рантайма, Python для кода моделей, CUDA/CuteDSL для ядер.
- Вы полностью отвечаете за проблемы. Вы можете прочитать исследовательскую статью в понедельник, написать ядро в среду и отладить производственный инцидент в пятницу.
- Самостоятельность. Вы преуспеваете в быстро меняющихся условиях, где путь вперед не проложен для вас.
ПРИВЕТСТВУЕТСЯ:
- Компиляторы ML и внутренние компоненты фреймворков: внутренние компоненты PyTorch, torch.compile, пользовательские операторы.
- Распределенное взаимодействие GPU: NCCL, NVLink, InfiniBand, библиотеки RDMA, модель/тензорный параллелизм.
- Вывод с низкой точностью: квантование INT8/FP8/FP4, обслуживание со смешанной точностью.
- Инструменты профилирования и отладки: Nsight Compute/Systems, CUDA-GDB, анализ PTX/SASS.
- Оркестрация контейнеров: Kubernetes, планирование GPU, автомасштабирование рабочих нагрузок вывода.
КВАЛИФИКАЦИЯ:
- 3+ года профессионального опыта в разработке программного обеспечения со значительной работой над выводом ML или высокопроизводительными системами.
- Знакомство хотя бы с одним фреймворком глубокого обучения (PyTorch, JAX, TensorFlow).
- Понимание архитектур GPU (иерархия памяти, планирование ворпов, тензорные ядра).
- Понимание общих архитектур LLM и методов оптимизации вывода (например, квантование, спекулятивное декодирование, разделение prefill-decode).
Окончательные суммы предложения определяются множеством факторов, включая опыт и экспертизу.
Equity: В дополнение к базовой заработной плате, доля в компании может быть частью общего компенсационного пакета.