Perplexity обслуживает сотни миллионов запросов в месяц, и каждый из них разветвляется на несколько запросов к ИИ-инференсу, выполняющихся в реальном времени. За этим стоит большой парк GPU, распределённый по нескольким облачным провайдерам. Сегодня наши инженеры по инференсу и исследователи создают модели, одновременно управляя сетями, обеспечивая ёмкость и эксплуатируя базовые кластеры GPU — обязанности, которыми мы хотим поручить специализированной платформенной команде. Ваша задача — взять на себя ответственность за эту инфраструктуру и скрыть её сложность за единой платформой с самообслуживанием для запуска рабочих нагрузок обучения и инференса.
Создавать платформу вычислений с самообслуживанием. Проектировать и владеть системами, которые позволяют инженерам по инференсу и исследователям запускать задачи обучения и управлять сервисами инференса без необходимости управлять выделением GPU, конфигурацией кластера или инфраструктурой, специфичной для провайдера.
Эксплуатировать парк GPU. Отвечать за выделение ресурсов, управление жизненным циклом, надёжность и интеграцию ёмкости между провайдерами, предоставляя командам единый способ использования вычислительных ресурсов независимо от места их запуска.
Решать проблему дефицита GPU. Создавать логику планирования и размещения, которая находит доступную ёмкость у разных провайдеров, эффективно упаковывает её и размещает нужную рабочую нагрузку на подходящем оборудовании с учётом реальных ограничений.
Поддерживать два очень разных типа рабочих нагрузок. Обеспечивать стабильную работу длительных распределённых задач обучения, одновременно гарантируя доступность и низкую задержку производственных сервисов инференса на одном и том же парке.
Отвечать за Kubernetes для оркестрации GPU. Писать операторы и CRD, управлять множеством кластеров у разных провайдеров, чтобы платформа вела себя одинаково везде, где мы её запускаем.
Сделать сбои рутинными. Создавать отказоустойчивость, автоскейлинг и средства наблюдаемости, которые поддерживают загрузку парка и позволяют рабочим нагрузкам переживать потерю узлов, сбои провайдера и изменения ёмкости без вмешательства человека.
Задавать техническое направление между командами. Сотрудничать с инженерами по инференсу и облачной инфраструктуре, превращая операционные ограничения в согласованную архитектуру платформы и дорожную карту развития.
Мы ожидаем, что у вас есть глубокие знания в большинстве из следующих областей:
Глубокий опыт работы с Kubernetes — кастомные операторы, CRD и федерация мультикластеров, а не просто запуск kubectl apply.
Вы управляли кластерами GPU в масштабе: оборудование NVIDIA, CUDA и сети, которые обеспечивают их высокую скорость (InfiniBand или RoCE).
Вы оркестрировали вычисления в нескольких облаках (CoreWeave, AWS, GCP или аналогичных) и понимаете, насколько они отличаются друг от друга.
Сильные фундаментальные знания распределённых систем: планирование, распределение ресурсов и отказоустойчивость под нагрузкой.
Вы пишете инфраструктурный и системный код на Go, Rust или C++.
Вы поддерживали как длительные задачи обучения, так и высокодоступные сервисы инференса, и понимаете, почему они требуют противоположных подходов к инфраструктуре.
Вы берёте ответственность за задачи от начала до конца и хорошо работаете, когда путь вперёд не задан заранее.
Стэки для сервинга инференса: vLLM, SGLang или TensorRT-LLM.
Slurm или другие планировщики HPC.
Работа с ядрами GPU в CUDA или Triton — не обязательно, но приветствуется.
Высокоскоростные межсоединения: InfiniBand, RoCE или RDMA в продакшене.
Средства наблюдаемости для ML-нагрузок: Prometheus, Grafana или Weights & Biases.
Если вас вдохновляет эта роль, мы рекомендуем подать заявку, даже если ваш опыт не полностью соответствует всем перечисленным квалификациям.
Будьте осторожны: если работодатель просит войти через Google, iCloud или Госуслуги, прислать код или пароль, запустить ПО или перевести деньги — это мошенники.