jobapplier

Software Engineer in Machine Learning Infra - Recommendation Architecture (ByteDance Singapore)

ByteDance

Skills

Required

  • building scalable systems
  • Linux environment
  • C/C++/golang
  • GPU hardware architecture
  • GPU software stack
  • CUDA
  • cuDNN
  • GPU performance analysis
  • model inference/training
  • debugging
  • tuning
  • model optimization tools
  • TVM

Preferred

  • machine learning models
  • machine learning frameworks
  • Tensorflow
  • Pytorch
  • MxNet
  • computer and network software

About ByteDance

Our Recommendation Architecture Team is responsible for building up and optimizing the architecture for our recommendation system to provide the most stable and best experience for our users.

The team is responsible for system stability and high availability, online services and offline data flow performance optimization, solving system bottlenecks, reducing cost overhead, building data and service mid-platform, realizing flexible and scalable high-performance storage and computing systems.

Responsibilities

  • Serving and training infra optimization of machine learning models
  • Build and maintain high performance online services for TikTok recommendation system

Build globalized large-scale recommendation system

  • Research, design, and develop computer and network software or specialised utility programs
  • Analyse user needs and develop software solutions, applying principles and techniques of computer science, engineering, and mathematical analysis
  • Update software, enhances existing software capabilities, and develops and direct software testing and validation procedures
  • Work with computer hardware engineers to integrate hardware and software systems and develop specifications and performance requirements

Requirements

  • Bachelor's degree or above, majoring in Computer Science, or related fields, with 3+ years of experience building scalable systems.
  • Experience at least one or two programming languages in Linux environment such as C/C++/golang;
  • Understand GPU hardware architecture, understand GPU software stack (CUDA, cuDNN), and have experience in GPU performance analysis;
  • Have experience in deep model inference/training, debugging, tuning, and familiar with model optimization tools such as TVM, MLIR, XLA;

Preferred

  • Familiar with mainstream machine learning frameworks (e.g., Tensorflow, Pytorch, MxNet);