SENIOR SOFTWARE ENGINEER (MACHINE LEARNING)
Work location:
949 Sherwood Ave., Suite 200, Los Altos, CA 94022
Responsible for developing automated compiling platform with machine learning techniques:
1. Research, design, and develop a platform for automated model parsing, mapping optimization, instruction compiling and performance evaluation: (a) Develop inference engine that connects machine learning framework such as Tensorflow, Pytorch, or MxNet with customized platform (i.e. FPGA/ASIC). (b) Utilize existing compiler frameworks (i.e. XLA, Glow, nGraph, TVM, MLIR etc.) to parse a computation graph. (c) Design a search framework to search optimized operators’ mapping, sharding, tiling and memory allocation. Analyze and compare different search algorithms and search strategies. (d) Understand the characteristics of a customized hardware and develop backend that deploys computation loads to the processing units. Implement the instruction compiler to generate instructions for operator processing engines according to the ISA(Instruction set architecture). (e) Develop benchmarking and profiling tools to optimize computation loads and analyze performance bottlenecks for widely used machine learning models. Optimize searching strategy by comparing the performance between automated generated computation graph and manually designed computation graph.
2. Perform verification and validation tests: (a) Develop and run automated tests covering basic to complex features or integration functionalities. (b) Test widely used models (e.g. Resnet50, Bert, Yolov3) in our platform. Analyze testing results with profiling tools and optimize the compiling strategy to meet target performance. (c) Validate the correctness of designed operators’ transform by verify the data inferenced separately from the original model and the transformed model.
3. Provide other technical supports & documentation related: (a) Collaborate with other software engineers for problems related to automated computation graph compiling. (b) Write documents for technical specifications, programming reference manual and function specifications. (c) Write design documents for automated compiling platform.
REQUIREMENTS:
1. Master’s degree in Computer Science, Computer Engineering or related plus 3 months’ experience as a Software Engineer, Machine Learning Engineer, Intern in Software Engineering, or related.
2. Please email resume to: join@moffett.ai
SEND RESUMe