San Francisco, CA30+ days ago
The Impact you will haveAs a research engineer on the Scaling Team at Databricks, you will:Drive performance improvements through advanced optimization techniques including kernel fusion, mixed precision, memory layout optimization, tiling strategies, and tensorization for training-specific patternsDesign, implement, and optimize high-performance GPU kernels for training workloads (e.g., attention mechanisms, custom layers, gradient computation, activation functions) targeting NVIDIA architecturesDesign 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 operationsProfile, 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. What We Look forBS/MS/PhD in Computer Science or related field with hands-on experience writing and tuning CUDA kernels for ML training applications, or 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) and proficiency with CUDA debugging/profiling tools (Nsight, NVProf)Deep understanding of parallelism techniques and memory optimization strategies for large-scale model training, with proven ability to debug and optimize distributed workloadsStrong software engineering skills in Python and PyTorch, with experience supporting production training workflows and knowledge of LLM training dynamics including hyperparameter tuning and optimization strategies.