Ambarella logo

Software Engineer II

Ambarella
Full-time
On-site
Smyrna, Georgia, United States

AI Vision Processors For Edge Applications

Our solutions make cameras smarter by extracting valuable data from high-resolution video streams.

Job Description

We are seeking a highly skilled and motivated embedded software Engineer to join our team and optimize various AI models for CVflow.

The ideal candidate will possess expertise in neural networks, hardware architecture, and embedded programming. You will be responsible to build and deploy state of the art deep learning models onto the Ambarella SoC.

Responsibilities:

  • PyTorch and AI Expertise:
    • Train model for quantization and pruning. Understand how backpropagation of training.
    • Able to verify models for accuracy.
    • Able to modify pytorch code to model Ambarella SoC.
    • Create scripts and utilities for data preprocessing, model training, validation and inference.
    • Stay up-to date with new and emerging model architectures and integrate them into the model garden.
  • Performance Analysis and Optimization:
    • Profile and analyze the performance of PyTorch on target hardware.
    • Identify and address performance bottlenecks. Verify performance for speed and memory bandwidth.
    • Develop and implement optimization techniques to improve training and inference speed.
  • Model Garden:
    • Work closely with developers and users of model garden to help troubleshoot issues related to using the models.
    • Develop comprehensive tutorials and examples to use model garden effectively. 

Qualifications:

  • Required:
    • BS in Computer Science, Electrical Engineering, or a related field.
    • Developing or using deep learning frameworks (e.g., Tensorflow, PyTorch).
    • Knowledge of ML lifecycle – data preprocessing, training, deployment and inference,
    • deep learning and its applications to computer vision (e.g., classification, object detection, and segmentation);
    • Experience with specific hardware architectures (e.g., NVIDIA GPUs, custom ASICs).
    • Strong C/C++ and Python programming skills.
    • Modern software development methodologies: source control, code review, unit testing, and peer reviews.
    • Team player with strong communication skills.
  • Preferred:
    • MS in Computer Science or related fields.
    • Familiarity with compression techniques like QAT, pruning (nice to have)
    • Containerization techniques like docker
    • Deep understanding of hardware architectures, including GPUs, ASICs, and other accelerators.
Apply now
Share this job