Research Engineer
Develops performance optimizations for ML models across graph, kernel, and system levels using PyTorch and Thunder compiler. Builds tools, collaborates with partners, and contributes to open-source while requiring strong PyTorch expertise and optimization experience.
About the job
What You'll Do
Develop performance-oriented model optimizations at multiple levels:
- Graph-level (e.g., operator fusion, kernel scheduling, memory planning)
- Kernel-level (CUDA, Triton, custom operators for specialized hardware)
- System-level (distributed training across GPUs/TPUs, inference serving at scale)
Advance the Thunder compiler by building optimization passes, graph transformations, and integration hooks to accelerate training and inference workloads. Work across the software stack to ensure optimizations are accessible to end users through clean APIs, automated tooling, and seamless integration with PyTorch Lightning. Design and implement profiling and debugging tools to analyze model execution, identify bottlenecks, and guide optimization strategies. Collaborate with hardware vendors and ecosystem partners to ensure Thunder runs efficiently across diverse backends (NVIDIA, AMD, TPU, specialized accelerators). Contribute to open-source projects by developing new features, improving documentation, and supporting community adoption. Engage with researchers and engineers in the community, providing guidance on performance tuning and advocating for Thunder as the go-to optimization layer in ML workflows. Work cross-functionally with Lightning's product and engineering teams to ensure compiler and optimization improvements align with the broader product vision.
What You’ll Need
- Strong expertise with deep learning frameworks such as PyTorch
- Hands-on experience with model optimization techniques, including graph-level optimizations, quantization, pruning, mixed precision, or memory-efficient training.
- Knowledge of distributed systems and parallelism strategies (data/model/pipeline parallelism, checkpointing, elastic scaling).
- Familiarity with software engineering practices: designing APIs, building robust tooling, testing, CI/CD for performance-sensitive systems.
- Excellent collaboration and communication skills, with the ability to partner across research, engineering, and external contributors.
- Bachelor’s degree in Computer Science, Engineering, or a related field.
Nice-to-Haves
- Experience with CUDA, Triton, or other GPU programming models for developing custom kernels.
- Deep understanding of deep learning compiler internals (IR design, operator fusion, scheduling, optimization passes) or proven work in performance-critical software.
- Proven track record contributing to open-source projects in ML, HPC, or compiler domains.
- Advanced degree (Master’s or PhD) in machine learning, compilers, or systems highly preferred.
Skills
PyTorch, Pytorch Lightning, CUDA, Triton, Model Optimization, Quantization, Pruning, Mixed Precision, Distributed Training, Gpus, Tpus, Compiler Optimization, Operator Fusion, Kernel Scheduling, CI/CD
Similar jobs
ML Engineering jobsBuild and deploy agentic systems that power AI-driven creative video workflows. The role requires 5+ years of experience, production ML or agentic pipeline development, context engineering, and expertise in evaluation and agent infrastructure.
Build and advance agentic machine-learning systems for multimodal creative tasks, with a focus on video understanding, reasoning, control, and tool use. The role requires strong production ML or agent-pipeline experience and deep knowledge of modern LLM techniques.
Build evaluation methods, RL environments, agent tooling, and scalable infrastructure that make subjective qualities such as design and taste measurable for frontier AI models. The role requires experience with evaluations, RL environments, ML or post-training, plus strong backend engineering skills.
Build and scale generative video and multimodal models, optimizing training and inference for efficiency, throughput, and ultra-low latency. The role requires deep learning systems expertise, strong PyTorch/CUDA experience, and the ability to move research models into production.
Build production-grade AI agents, evaluation infrastructure, and developer tooling that make AI-assisted engineering faster, safer, and reusable across teams. The role requires software engineering experience, platform or internal developer-product experience, and hands-on expertise with LLM integration and orchestration.