Save Job
Posted 6d ago

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

@ ByteDance
Singapore, Singapore, Singapore
OnsiteFull Time
Responsibilities:optimizing systems, building services, integrating hardware
Requirements Summary:Bachelor's in Computer Science or related, 3+ years building scalable systems, experience with Linux and C/C++/golang, GPU architecture and CUDA/cuDNN, deep model inference/training and optimization tools.
Technical Tools Mentioned:Linux, C, C++, golang, GPU, CUDA, cuDNN, TVM, MLIR, XLA, Tensorflow, Pytorch, MxNet
Save
Mark Applied
Hide Job
Report & Hide
Job Description

About The Team
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

Minimum Qualifications
- 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;
- Familiar with mainstream machine learning frameworks (e.g., Tensorflow, Pytorch, MxNet);