Machine Learning Engineer - Optimization
Description
【About the Role】
As a Machine Learning Engineer specializing in Optimization, you will improve the performance of critical components and end-to-end workflows within our machine learning systems.
You will work across GPUs, CPUs, and other accelerators to identify bottlenecks and optimize system throughput, latency, and resource utilization. This may involve improving individual algorithms and kernels as well as understanding how computation, data movement, storage, and multiple system components interact.
You will work closely with machine learning engineers, data scientists, and distributed systems engineers to understand how algorithms are executed in production and develop practical optimizations that improve the performance of the overall product.
【Responsibilities】
- Analyze and optimize performance-critical machine learning algorithms and system components through systematic profiling and bottleneck analysis.
- Improve the throughput, latency, and resource efficiency of compute-intensive and I/O-intensive workflows by considering computation, data movement and communication across CPUs, GPUs, and other accelerators.
- Apply parallel and concurrent programming techniques to improve the performance and utilization of machine learning systems.
- Collaborate with cross-functional engineering teams to integrate optimized components into production systems while preserving correctness, reliability, and maintainability.
- Validate and communicate performance improvements through benchmarking, profiling, regression testing, and clear technical documentation.
【Key Qualifications】
- Strong programming and software engineering fundamentals, with proficiency in Python, C++, C, or other relevant programming languages.
- Experience with GPU programming or accelerator-based computing using CUDA, Triton, or similar technologies.
- Strong understanding of parallel and concurrent programming across CPU and GPU environments, including multithreading, multiprocessing, and asynchronous execution.
- Experience profiling and optimizing software systems, with an understanding of bottlenecks involving computation, memory, I/O, synchronization, and data transfer.
- Experience developing or optimizing machine learning systems using PyTorch, NumPy and Pandas with Git-based development workflows and CI/CD practices.
- Strong analytical, problem-solving, and collaboration skills, with the ability to measure, explain, and validate performance improvements.
【Preferred, but Not Required】
- Experience profiling performance-sensitive, data-intensive, or high-performance computing workloads using tools such as Nsight Systems/Compute, PyTorch Profiler, or similar technologies.
- Experience optimizing deep learning workflows through custom CUDA or Triton kernels.
- Experience optimizing I/O-intensive workloads involving storage, networking, data loading, serialization, or transfers between accelerators.
- Experience designing repeatable benchmarking and performance-regression testing processes.
- Familiarity with distributed execution, multi-GPU environments, and performance optimization across multiple accelerators or machines.
- Understanding of the machine learning lifecycle, including model training, inference, and prediction-service workflows.
You do not need to match every preferred qualification. We value strong performance-engineering fundamentals and the ability to turn profiling results into practical improvements. We are hiring for both mid-level and senior-level engineering positions, and the scope and expectations of the role will be considered based on your experience and seniority during the interview process.
