Senior Genai Research Engineer - Optimization and Kernels

Databricks Databricks · Data AI · San Francisco, CA · Engineering - Pipeline

Databricks is seeking a Senior GenAI Research Engineer focused on optimization and kernels for AI model training. The role involves advancing the scientific frontier through new techniques, optimizing GPU kernels, and implementing distributed training frameworks for large language models. Requires strong understanding of GPU architecture, CUDA, and distributed training strategies, with proficiency in Python and PyTorch.

What you'd actually do

  1. Drive performance improvements through advanced optimization techniques including kernel fusion, mixed precision, memory layout optimization, tiling strategies, and tensorization for training-specific patterns
  2. Design, implement, and optimize high-performance GPU kernels for training workloads (e.g., attention mechanisms, custom layers, gradient computation, activation functions) targeting NVIDIA architectures
  3. Design and implement distributed training frameworks for large language models, including parallelism strategies (data, tensor, pipeline, ZeRO-based) and optimized communication patterns for gradient synchronization and collective operations
  4. Profile, debug, and optimize end-to-end training workflows to identify and resolve performance bottlenecks, applying memory optimization techniques like activation checkpointing, gradient sharding, and mixed precision training.

Skills

Required

  • BS/MS/PhD in Computer Science or related field
  • hands-on experience writing and tuning CUDA kernels for ML training applications
  • hands-on experience in distributed training frameworks (PyTorch DDP, DeepSpeed, Megatron-LM, FSDP)
  • Strong understanding of NVIDIA GPU architecture (memory hierarchy, tensor cores, warp scheduling, SM occupancy)
  • proficiency with CUDA debugging/profiling tools (Nsight, NVProf)
  • Deep understanding of parallelism techniques and memory optimization strategies for large-scale model training
  • proven ability to debug and optimize distributed workloads
  • Strong software engineering skills in Python and PyTorch
  • experience supporting production training workflows
  • knowledge of LLM training dynamics including hyperparameter tuning and optimization strategies

What the JD emphasized

  • hands-on experience writing and tuning CUDA kernels for ML training applications
  • hands-on experience in distributed training frameworks
  • Strong understanding of NVIDIA GPU architecture
  • proficiency with CUDA debugging/profiling tools
  • Deep understanding of parallelism techniques and memory optimization strategies for large-scale model training
  • proven ability to debug and optimize distributed workloads
  • Strong software engineering skills in Python and PyTorch
  • knowledge of LLM training dynamics

Other signals

  • deep learning
  • LLMs
  • GPU kernels
  • distributed training