At this year’s Embedded Vision Summit, Qualcomm announced a new Machine Learning Software Development Kit (SDK) for its Snapdragon 820 processor line. The SDK, called the Qualcomm Snapdragon Neural Processing Engine, is designed to enable deep learning on mobile devices. We sat down with Gary Brotman, director of product management and the SDK’s impresario. Brotman spoke with enthusiasm about Qualcomm’s new offering, which he expects will help make deep learning training on mobile devices a reality.
Zeroth Machine Intelligence Platform
The Machine Learning SDK has come out of Qualcomm’s Zeroth initiative, which is an effort by the company to create a comprehensive artificial intelligence (AI) technology platform optimized for Snapdragon systems on a chip (SoCs). Zeroth is a big tent encompassing many different technology assets from Qualcomm. As an example, the company announced that the platform would enable automakers to create convolutional neural networks (CNNs) for advanced driver assistance systems (ADAS) and in-vehicle entertainment, running them on the embedded Snapdragon 820A platform in the vehicle. The Zeroth vision is to accelerate the execution and design of deep neural networks (DNNs) using the different processors that are built into Snapdragon.
How Does It Work?
Snapdragon is a line of processors designed and marketed by Qualcomm for mobile devices. The Snapdragon consists of a central processing unit (CPU) (which may include multiple CPU cores), a graphics processing unit (GPU), a wireless modem, and other software and hardware to support a smartphone’s global positioning system (GPS), camera, gesture recognition, and video. Snapdragon processors are embedded in many devices, including Android and Windows phones, netbooks, cars, Internet of Things (IoT) devices of various types, and wearable devices.
The Snapdragon Neural Processing Engine is a set of software development tools that leverages this mélange of processor types to create faster and more comprehensive neural net based applications. The SDK includes application programming interfaces (APIs) in the form of libraries to interface with particular programming languages, debuggers, and other utilities. The Neural Processing Engine also includes sample code, technical notes, and other supporting documentation.
Why Does This Matter?
This new SDK will allow device manufacturers to run their own neural network models on Snapdragon 820 based devices such as smartphones, security cameras, automobiles, and drones, all without a connection to the cloud. Among the common deep learning use cases that can be developed using the SDK are scene detection, text recognition, object tracking and avoidance, gesturing, face recognition, and natural language processing (NLP). Although the cloud has historically played, and will continue to play, a large role in training of neural nets, relying on a connection to the internet for inference and classification is not going to work in all cases. Some of the important times when the neural net needs to be trained in the field include object and obstacle tracking, vehicle localization, area mapping, and object avoidance. The Snapdragon Neural Processing Engine SDK should prove useful in all in these cases, and others as well.
According to Tractica’s research, need drives software purchases and software purchases drive hardware purchases. In most cases, the revenue from hardware will be many times the amount spent on software, so the investment Qualcomm is making in Zeroth and the Snapdragon Neural Processing Engine SDK has a very large potential payback. In our recently published Deep Learning for Enterprise Applications report, we forecast that spending on hardware as a result of deep learning projects will grow from $436 million in 2015 to $41.5 billion by 2024 while software spending will only grow to $10 billion. Qualcomm is poised to grab a significant piece of that spending.