Member of Technical Staff (ai Inference Engineer)

Perplexity Perplexity · AI Frontier · London, United Kingdom · AI

AI Inference Engineer responsible for building and running the inference engine for Perplexity's models, focusing on performance, reliability, and cost-efficiency across various model architectures and GPU hardware. The role involves migrating CUDA kernels to CuTe DSL, developing a Rust-based serving runtime, and optimizing performance from network ingress to GPU kernels.

What you'd actually do

  1. Support transformer-based retrieval, text-generation, and multimodal models in our inference infrastructure, from weight loading, request scheduling and KV-cache management to support in API Gateway.
  2. Port our in-house CUDA kernels to NVIDIA's CuTe DSL so they run on GB200 today and are portable to Vera Rubin racks tomorrow.
  3. Develop our internal Rust-based inference server to solve all Python pains and keep up with rapidly growing traffic.
  4. Profile and fix bottlenecks from network ingress through continuous batching and GPU kernels interleaving.
  5. Build dashboards, alerts, and automated remediation so we catch regressions before users do. Respond to and learn from production incidents.

Skills

Required

  • GPU programming
  • Performance optimization
  • CUDA
  • Rust
  • Python
  • LLM architectures
  • Distributed systems
  • Systems programming

Nice to have

  • ML compilers
  • PyTorch internals
  • torch.compile
  • Custom operators
  • Distributed GPU communication
  • NCCL
  • NVLink
  • InfiniBand
  • RDMA libraries
  • Model parallelism
  • Tensor parallelism
  • Low-precision inference
  • INT8 quantization
  • FP8 quantization
  • FP4 quantization
  • Mixed-precision serving
  • Profiling tools
  • Debugging tools
  • Nsight Compute/Systems
  • CUDA-GDB
  • PTX/SASS analysis
  • Container orchestration
  • Kubernetes
  • GPU scheduling
  • Autoscaling inference workloads
  • JAX
  • TensorFlow
  • GPU architectures
  • Quantization
  • Speculative decoding
  • Prefill-decode disaggregation

What the JD emphasized

  • Deep experience with GPU programming and performance work (CUDA, Triton, CUTLASS, or similar)
  • You understand modern LLM architectures and are able to bring them up reliably in a production environment
  • You've built and operated production distributed systems under real load - ideally performance-critical ones
  • Comfortable working across languages and layers: Rust for the serving runtime, Python for model code, CUDA/CuteDSL for kernels
  • You own problems end-to-end
  • 3+ years of professional software engineering experience with meaningful work on ML inference or high-performance systems

Other signals

  • Deploying dozens of model architectures at scale
  • Tight latency and cost budgets
  • Performance optimisation
  • Reliability and observability