Jobs · Consulting · California

Software Development Engineer, AI/ML, AWS Neuron, Model Inference

Amazon Web Services (AWS) · Cupertino, CA · 1 wk ago
ConsultingFull-time

Key job responsibilities

  • Design, develop, and optimize machine learning models and frameworks for deployment on custom ML hardware accelerators.
  • Participate in all stages of the ML system development lifecycle including distributed computing based architecture design, implementation, performance profiling, hardware-specific optimizations, testing and production deployment.
  • Build infrastructure to systematically analyze and onboard multiple models with diverse architecture.
  • Design and implement high-performance kernels and features for ML operations, leveraging the Neuron architecture and programming models.
  • Analyze and optimize system-level performance across multiple generations of Neuron hardware.
  • Conduct detailed performance analysis using profiling tools to identify and resolve bottlenecks.
  • Implement optimizations such as fusion, sharding, tiling, and scheduling.
  • Conduct comprehensive testing, including unit and end-to-end model testing with continuous deployment and releases through pipelines.
  • Work directly with customers to enable and optimize their ML models on AWS accelerators.
  • Collaborate across teams to develop innovative optimization techniques.

About the team

The Inference Enablement and Acceleration team fosters a builder’s culture where experimentation is encouraged, and impact is measurable. We emphasize collaboration, technical ownership, and continuous learning. Our team is dedicated to supporting new members. We have a broad mix of experience levels and tenures, and we’re building an environment that celebrates knowledge-sharing and mentorship. Our senior members enjoy one-on-one mentoring and thorough, but kind, code reviews. We care about your career growth and strive to assign projects that help our team members develop your engineering expertise so you feel empowered to take on more complex tasks in the future.

Basic Qualifications

  • Bachelor's degree in computer science or equivalent
  • 5+ years of non-internship professional software development experience
  • 5+ years of non-internship design or architecture (design patterns, reliability and scaling) of new and existing systems experience
  • Fundamentals of Machine learning and LLMs, their architecture, training and inference lifecycles along with work experience on some optimizations for improving the model execution.
  • Software development experience in C++, Python (experience in at least one language is required).
  • Strong understanding of system performance, memory management, and parallel computing principles.
  • Proficiency in debugging, profiling, and implementing best software engineering practices in large-scale systems.

Preferred Qualifications

  • Familiarity with PyTorch, JIT compilation, and AOT tracing.
  • Familiarity with CUDA kernels or equivalent ML or low-level kernels
  • Candidates with performant kernel development such as CUTLASS, FlashInfer etc., would be well suited.
  • Familiar with syntax and tile-level semantics similar to Triton.
  • Experience with online/offline inference serving with vLLM, SGLang, TensorRT or similar platforms in production environments.
  • Deep understanding of computer architecture, operation systems level software and working knowledge of parallel computing.

Similar jobs