Autobrains is a leading AI company in the automated driving space, backed by leading strategic and financial investors. Autobrains’ AI technology enables it to close the left gaps towards safe and affordable autonomous driving. The company has over 150 employees and is currently in a hyper-growth stage to support its commercial and strategic activities.
Autobrains seeks a highly skilled and experienced engineer specializing in Software optimizing, converting, and integrating convolutional neural networks to different chips/hardware.
The successful candidate will be responsible for developing and implementing software solutions that optimize neural networks for various hardware platforms, ensuring optimal performance and efficiency.
Responsibilities
- Collaborate with machine learning engineers to understand the requirements of the neural network models and the hardware platforms they will run on and provide recommendations for hardware and software optimization
- Software conversion to SOC:
- Creating fused net for SOC
- Accelerating CNN conversion to hardware
- Runtime optimization, given SOC limitations
- Keep up-to-date with the latest developments in hardware and software for neural network optimization, and implement new techniques as appropriate.
Requirements
- Bachelor's or Master's degree in Computer Science, Electrical Engineering, or a related field.
- At least 5+ years of software development experience
- Working with optimizing neural networks for hardware platforms.
- Strong understanding of deep learning algorithms and neural network architectures.
- Proficiency in Python
- Experience with software tools and libraries such as TensorRT, TensorFlow, PyTorch, and Onnx.
- Proficiency in C/CPP - Advantage
- Experience with Hardware accelerators - Advantage
- Experience with fixed-point arithmetic - Advantage
- Experience in deploying ML/DL models into production systems or cloud platforms - Advantage
- Knowledge of containerization tools like Docker and deployment frameworks like Flask, TensorFlow Serving, or Kubernetes - Advantage
Attributes
- Software Development: Strong software development skills, including experience with software engineering principles, design patterns, and best practices. Understanding of modular and scalable software architecture is crucial for developing ML/DL systems
- Problem-solving skills: Ability to identify problems, evaluate alternatives, and implement effective solutions.
- Adaptability: Openness to learning new techniques, adapting to changing requirements, and embracing new technologies.
- Attention to detail: Ability to ensure accuracy and thoroughness in all aspects of research, including data collection, analysis, and presentation of results.
- Initiative: Proactive in taking on new challenges, seeking out opportunities to improve processes, and driving results.
- Strong analytical and problem-solving skills, with the ability to work independently or as part of a team.
- Excellent communication and interpersonal skills, with the ability to collaborate effectively with software and machine learning engineers.