THINGS OF IOT

Close
Posted On Jul 04

Senior Engineer - Machine Learning

Qualcomm India Private Limited

Location : Hyderabad, Telangana

Headquarters : United States

Hiring Mode : Full Time

Hiring Role : Developer

Experience : Senior Level

Job Description

Qualcomm is a company of inventors that unlocked 5G ushering in an age of rapid acceleration in connectivity and new possibilities that will transform industries, create jobs, and enrich lives. But this is just the beginning. It takes inventive minds with diverse skills, backgrounds, and cultures to transform 5Gs potential into world-changing technologies and products. This is the Invention Age - and this is where you come in.

General Summary

This individual creates advanced machine learning techniques that enable a broad set of technology verticals or designs and extends training or runtime frameworks or model efficiency software tools with new features and optimizations. This individual may also model, architect, and develop advanced machine learning hardware (co-designed with machine learning software) for inference or training solutions. These enable the discovery and improvement of state-of-the-art machine learning solutions that has general applicability at functional platform level towards audio, camera, graphics, video, sensors, wireless, and other functionality over various operating systems running on ARM processors and other embedded hardware like DSP/NSP processors, GPU processors that are embedded into mobile, edge, auto, and IOT products, or on data center based systems such as GPUs or dedicated AI hardware. Other responsibilities include developing optimized software to enable AI models efficiently deployed on hardware, such as machine learning kernels, compiler tools, or model efficiency tools, to make sure of specific hardware features, and/or working closely with hardware teams for joint design and development. In this regard, the individual may need to work with and/or optimize machine learning software frameworks like Tensor Flow or PyTorch to efficiently run machine learning algorithms on hardware.
The responsibilities of this role include:
  • Working under some supervision.
  • Providing some supervision/guidance to others.
  • Taking responsibility for own work and making decisions with limited impact; impact of decisions is readily apparent; errors made typically only impact timeline (i.e., require additional time to correct).
  • Using verbal and written communication skills to convey information that may be somewhat complex to others who may have limited knowledge of the subject in question. May require basic negotiation and influence, cooperation, tact, and diplomacy, etc.
  • Having a moderate amount of influence over key organizational decisions (e.g., is consulted by senior leadership to provide input on key decisions).
  • Completing most tasks with multiple steps which can be performed in various orders; some planning and prioritization must occur to complete the tasks effectively; mistakes may result in some rework.
  • Exercising creativity to draft original documents, imagery, or work products within established guidelines.
  • Using deductive and inductive problem solving; multiple approaches may be taken/necessary to solve the problem; often information is missing or conflicting; advanced data analysis and interpretation skills are required.
  • May be solicited during strategic planning period.
  • Financial accountability (e.g., does not involve budgeting responsibility).
Principle Duties and Responsibilities
  • Participates in and shares own perspective within domain of machine learning subject matter expertise in design or project reviews, and project meetings.
  • Takes responsibility for small projects or owns part of a larger project and completes tasks in a timely manner according to project requirements; seeks assistance when needed to solve problems and helps other team members; collaborates with cross-functional peers on tasks when needed.
  • Completes complex tasks and solves issues related to the engineering and management of machine learning data with minimal guidance from more experienced engineers.
  • Develops, adapts, or prototypes complex machine learning algorithms, models, or frameworks aligned with and motivated by product proposals or roadmaps with minimal guidance from more experienced engineers.
  • Conducts complex experiments to train and evaluate machine learning models and/or software independently.
  • Creates and executes complex methods to optimize new or existing machine learning algorithms, models, kernels, and execution frameworks; suggests possible solutions to issues and documents lessons learned.
  • Assists with the integration of machine learning algorithms into a platform or product for production; helps resolve issues during implementation.
  • Seeks essential knowledge of machine learning industry trends, competitors' products, and advances within area of expertise from publicly available information and research; shares this information with others on the team.

Job Overview

Join a new and growing team at Qualcomm focused on advancing state-of-the-art in Machine Learning. The team uses Qualcomm chips’ extensive heterogeneous computing capabilities and engineers them to allow the running of trained neural networks on device without a need for connection to the cloud. Our inference engine is designed to help developers run neural network models trained in a variety of frameworks on Snapdragon platforms at blazing speeds while still sipping the smallest amount of power. See your work directly impact billions of mobile devices around the world. In this position, you will be responsible for the development and commercialization of ML solutions like Snapdragon Neural Processing Engine (SNPE)/Android Neural Network framework on Qualcomm SoCs. You would be porting ML solutions to various platforms involving different compiler toolchains and enable the product to work on upcoming chipsets, optimize the performance for benchmarking on multiple hardware accelerators (like CPU/GPU/DSP). You will have expert knowledge of debugging, improving and maintaining cross platform compilation, linkage, build system and deployment aspects of large software C/C++ dependency stacks using best practices. You will also have to keep up with the fast pace development happening in the industry and academia to continuously enhance our solution from software engineering as well as machine learning standpoint.

Minimum Qualifications

1. Live and breathe quality software development with excellent analytical and debugging skills.

2. Strong understanding of Deep Learning fundamentals

3. Strong development skills in C++, Python

4. Experience with at least one machine learning framework like TensorFlow, Caffe, Pytorch, etc.

5. Experience with embedded systems development or equivalent. Understanding of software development and debugging in embedded environments. 6. Well versed in version control tools like git 7. Excellent communication skills (verbal, presentation, written) 8. Ability to collaborate across a globally diverse team and multiple interests.

Preferred Qualifications

1. Familiarity with neural network operators and model formats including PyTorch, ONNX, Caffe, Caffe2, and Tensorflow.

2. Experience with machine learning accelerators or GPU development, optimizing algorithms for hardware acceleration cores using OpenCL, DSPs and/or ML specific cores

3. Experience with ML application development

4. Good understanding about Processor architecture, system design fundamentals

5. Background in mathematical operations: linear algebra, fast math libraries 6. Experience working with heterogeneous or parallel computing systems and knowledge of associated languages like OpenCL, CUDA, etc is a plus.

Educational Requirements

Bachelor's/Master’s in Computer Science, Computer Engineering, or Electrical Engineering.

Physical Requirements

  • Frequently transports between offices, buildings and campuses up to ½ mile.
  • Frequently transports and install equipment up to 5 lbs.
  • Performs required tasks at various heights (e.g. standing or sitting).
  • Monitors and utilizes computers and test equipment for more than 6 hours a day.
  • Continuous communication which includes the comprehension of information with colleagues, customers and vendors both in person and remotely.

Minimum Qualifications

Education:

Bachelors - Computer Science, Bachelors - Engineering, Bachelors - Information Systems

Work Experiences:

2+ years Software Engineering, Hardware Engineering, Systems Engineering, or related work experience.

Certifications:

Skills:

Preferred Qualifications

Education:

Masters - Computer Science, Masters - Engineering, Masters - Information Systems

Work Experiences:

2+ years experience using statistics and probability (e.g., conditional probability, Bayes rule) ,1+ years of experience with low level interactions between operating systems (e.g., Linux, Android, QNX) and Hardware ,2+ years experience with one or more programming language suitable for machine learning (e.g., Python, R, C, C++). ,2+ years of experience working in a large matrixed organization. ,1+ years of work experience in a role requiring interaction with senior leadership (e.g., Director level and above). ,2+ years experience with Machine Learning frameworks (e.g.,Tensor Flow, Caffe, Caffe 2, Pytorch, Keras) ,2+ years experience in embedded system development and optimization with application to a specific problem domain in ML (e.g., NLP, multi-media).

Certifications:

Skills:

AI Frameworks, Calculus, Data Manipulation, Deep Learning, Machine Learning, Performance Optimization, Python, Statistics

Applicants : If you need an accommodation, during the application/hiring process, you may request an accommodation by sending email to accommodation support

To all Staffing and Recruiting Agencies : Our Careers Site is only for individuals seeking a job at Qualcomm. Staffing and recruiting agencies and individuals being represented by an agency are not authorized to use this site or to submit profiles, applications or resumes, and any such submissions will be considered unsolicited. Qualcomm does not accept unsolicited resumes or applications from agencies. Please do not forward resumes to our jobs alias, Qualcomm employees or any other company location. Qualcomm is not responsible for any fees related to unsolicited resumes/applications.

If you would like more information about this role, please contact Qualcomm Careers .

Qualcomm