As with many new complex technologies, machine learning is following an adoption life cycle
whereby ‘early adopters’ have utilized this technology for the last few years. So to speak, they
are ahead of the curve. But starting in 2021, the adoption shift will go toward the ‘early
majority’ (Figure 1). Until now, NXP’s eIQ® machine learning (ML) software development environment
has successfully supported the early adopters, but as we cross ‘The Chasm’, machine learning
support must become more comprehensive and easier-to-use. I’ll explain.
What Is an Early Adopter?
Early adopters for machine learning go back more than just a few years–there have been people (and
companies) working on this technology for decades. However, the move to machine learning at the
edge is a relatively recent activity and the requirements are different. The tools are different.
System resources are more constrained. The applications are more responsive. The early adopters
have had to figure out the entire process–from model training to deployment of the inference
engine that runs the model, as well as all other aspects of the system integration (i.e. the video
pipeline from capture to output of the inference).
In the development process, once a model is trained, optimized and quantized, the next phase
consists of deploying that model on the device, allowing it to perform its inferencing function.
NXP provided eIQ to support this process, combining all the software pieces, application examples,
user guides, etc. to allow the advanced developer to deploy a variety of open source inference
engines on our devices. Today, eIQ has inferencing support for TensorFlow Lite, Arm NN, ONNX
runtime and Glow neural network compiler. To use eIQ today, the developer follows a process we
call ‘bring your own model’, or BYOM. Build your trained models using public or private
cloud-based tools, then simply bring your models into the eIQ software environment and plug it
into the appropriate inference engine.
Machine Learning for All
The 2019 Embedded Markets Study by EE Times indicated that 55% of developers said their current or
future work requires machine learning (I believe this number has gone up since then). To cross the
chasm and enable machine learning for the majority of developers, machine learning support must
become more comprehensive and easier-to-use. More comprehensive support means that NXP must
provide an end-to-end workflow, allowing developers to bring in their training data, select the
right model for their application, perform model training, optimization and quantization and
finally perform on-target profiling and subsequently move to production.
Easier-to-use is a matter of perspective, but for majority adoption this means that NXP must
provide a simplified yet optimized user interface. Theoretically, this would enable a machine
learning development environment that could essentially hide the details, and with the click of a
few options, import the user’s training data and deploy the model on the target device.
Crossing the Chasm with Au-Zone Technologies
To make this a reality and cross that adopter chasm, NXP has made an investment in Canada-based
Au-Zone Technologies, establishing an exclusive, strategic partnership to expand eIQ with
easy-to-use ML tools and expand its offering of silicon-optimized inference engines for Edge ML.
Au-Zone’s DeepView™ ML Tool Suite will augment eIQ with an intuitive, graphical user interface
(GUI) and workflow, enabling developers of all experience levels (e.g. embedded developer, data
scientist, ML expert) to import datasets and/or models, rapidly train and deploy NN models and ML
workloads across the NXP Edge processing portfolio (Figure 2).
The DeepView tool suite includes a dataset workspace that will provide developers with a means to
capture and annotate images for model training and validation. Start by drawing a box around an
object(s) of interest and describe the item (search the Internet for the paid and free versions of
tools to perform this) and from there you can start building machine learning datasets and train
models. The workspace also supports dataset augmentation allowing developers to quickly adjust the
image parameters to improve model training by reducing over-fitting and increasing robustness to
dynamic real-world environments. For example, dataset augmentation functions include image
rotation, blurring, color conversions, etc. Remember, the NN model only ‘sees’ numbers, so any
variation on an input image will look different. The more variations you can provide on the
original training data, the more accurate your model will be.
The DeepViewML trainer allows developers to select hyperparameters and click train. In most cases,
you won’t be training your model from scratch, so this DeepViewML trainer supports transfer
learning (i.e. modifying the last layers of the model). A model optimizer is also part of the
DeepView ML tool suite; it will help you fine-tune your model for the desired target platform and
inference engine. The optimizer provides automatic graph-level optimizations such as pruning,
fusing and folding layers to reduce complexity and improve performance with no loss of precision.
Furthermore, optimizations that have accuracy tradeoffs are configurable by the developer. These
include quantization, layer replacement and weight rounding. You’ll be able to validate lossy
optimizations and compare them using the validator tool to fully understand the impact (i.e. size
versus accuracy).
Through this strategic partnership, we’ll also be adding Au-Zone’s DeepView run-time inference
engine to the eIQ family; this will complement the open source inference technologies already
deployed. A key feature of this DeepView engine is that it will optimize the system memory usage
and data movement uniquely for each NXP SoC architecture. Users will then have an additional
choice of inference engines - the profiling tool will quickly allow users to do performance and
memory size comparisons on the various inference runtime options.
If you haven’t already joined the
machine learning
movement, hopefully you’ll be crossing the chasm soon and taking advantage of the comprehensive
eIQ machine learning
(ML) software development environment, complete with the DeepViewML Tool Suite and DeepView
run-time inference engine, available in Q1, 2021.