SensiML, a subsidiary of QuickLogic®, offers cutting-edge AutoML software tools empowering application developers to rapidly build smart IoT devices, transforming raw sensor data into autonomously generated, meaningful insight. The company’s flagship solution, SensiML Analytics Toolkit, provides an end-to-end development platform spanning data collection, labeling, algorithm optimization, firmware auto-generation, and device testing. The SensiML Toolkit supports a broad array of Arm® Cortex®-M class and higher microcontroller cores, Intel® x86-based CPUs, and heterogeneous core SoCs like Quicklogic’s S3 platform with FPGA optimizations. SensiML’s IoT AI development software enables developers to build intelligent endpoints quickly and easily (500% faster or more than hand-coded solutions) with minimal data science expertise.
Automated machine learning (AutoML), as the name suggests, is the automation of the process for constructing machine learning models. Its use is best illustrated by comparing it to the traditional means for constructing ML models. Without AutoML, the following tasks are left to the modeler to determine based on their understanding of the problem, desired model performance, and most critically their expertise in the proper application of signal processing and machine learning classifiers:
In contrast, AutoML employs high performance computing and use of search optimization algorithms to augment human know-how in performing the task of constructing an ideal ML model for a given application and train/test dataset. The advantages of AutoML include the ability to evaluate hundreds of thousands to millions of model permutations in the same timeframe as a human data science expert may be able to evaluate only a handful. And with directed search constraints, the combination of AutoML in the hands of a skilled user can focus searches on the most promising permutations rather than just execute brute-force grid searches. The upshot is that AutoML can be a powerful ally in algorithm development whether empowering an AI novice or extending the capabilities of a seasoned data science expert.
New AI algorithm automation tools like SensiML Analytics Toolkit allow developers with domain knowledge within their field of expertise, but little or no knowledge in the field of data science, to rapidly generate ML algorithms designed specifically for the microcontroller environment where they will run. SensiML’s toolkit solves this major challenge allowing teams lacking dedicated data science skills to focus on product development and their underlying business, not AI and statistical inference algorithms.
SensiML’s AutoML process uses cloud computing power as an augment or substitute for this human expertise in AI. Our search optimization algorithms can traverse thousands to millions of model permutations delivering results in minutes to hours of machine time for subsequent testing and deployment.
Depending on your perspective, the answer is both no and yes. By definition, machine learning is the principle of providing systems an ability to learn and improve from experience without being explicitly programmed. In place of explicit code or instructions, such devices are ‘taught’ through the use of labeled training data applied to classifier models whereby the data itself influences the parameters of the model to tune its behavior. So at this level, we can state that such algorithms aren’t actually programmed.
However, the tools or AI frameworks popularly used for constructing such underlying classifier models are often built on programming languages and have programming interfaces and APIs. Python, Tensorflow, Keras are a few such examples. So the first programming hurdle developers must overcome with most ML tools is the learning curve of gaining familiarity on these domain-specific programming environments for AI and machine learning. With SensiML, Python has always been a supported programmatic interface for those who have already overcome this learning curve and prefer to work in this manner. However SensiML also provides a parallel simple UI interface that can be used by ML novices and seasoned practitioners alike to rapidly construct models using AutoML methods without the need to program.
Additionally, in nearly all present hardware architectures, machine learning models once created still ultimately need to be translated into instruction set architectures that execute in a traditional explicit programming manner on processors. Given most AI frameworks were built from data center and server origins, the degree to which this translation from abstract ML classification to efficient ISA execution varies widely and is typically sub-optimal or not achievable for the smallest of processors found in IoT edge devices. Thus comes the next programming task often encountered, which is to modify general purpose C code output from AI frameworks for practical application on microcontrollers with smaller memory footprints, no GPUs (and sometimes not even FPUs!),limited clock frequencies, and one or a few cores. Rather than starting from cloud execution environments, SensiML Analytics Toolkit was built from the ground up as an edge AI tool optimized for efficient execution of ML algorithms on these smallest and most resource limited devices. So developers using SensiML can be confident the models they build can be efficiently run on edge devices without further code customization needed to fit on their embedded platforms.
General purpose AI frameworks were made to simplify the application of machine learning algorithms to datasets across a broad array of applications. Problems ranging from credit card fraud detection, to image classification or even predicting survivors of the Titanic disaster from passenger metadata have been tackled using such tools. Moreover, these tools are typically cloud-centric with adaptations to simplify their application for edge environments in some cases.
Conversely, SensiML is a purpose-built AutoML development tool for edge devices intended for schedule-driven IoT sensor product development projects where time, investment, and efficient code are mission critical. SensiML Analytics Toolkit has evolved over eight years originating as an Intel SW tool into an independent industry-leading multi-platform edge AI tool for building optimal models on resource constrained IoT edge devices. To do so, our toolkit provides means for users to rapidly traverse countless combinations of segmenters, features, classifiers, and associated hyperparameters. For those not versed in data science, this AutoML search process can be done with just simple constraints letting the tool do what it does best. For those accomplished in the practice of machine learning, the tool will often surprise with results not previously considered including solutions using classifiers thought too simple to perform against more complex deep learning approaches. Nonetheless, for power users, granular control using a Python interface is included to adjust as desired the output from the AutoML results for the AI framework style experience. That’s the power and the difference of SensiML’s take on AutoML and the workflow optimization of a toolkit intended to do purposeful and scalable algorithm development for real products versus science experiments.
Unlike most general purpose AI frameworks, SensiML Analytics Toolkit includes a client application to make the process of collecting, labeling, and cleansing supervised ML datasets vastly easier, manageable, and scalable from most methods currently in use by developers. In fact, most developers faced with dataset creation and management resort to their own means as the state of production quality tools for this task are pretty limited for AI algorithm development.
SensiML Data Capture Lab (DCL) provides a means to collect data directly from IoT sensor evaluation boards and prototype devices either through real-time streaming of raw sensor data or using offline storage to flash with subsequent batch mode retrieval. Data Capture Lab also supports bulk importing of existing sensor data using CSV text files.
Once collected within a SensiML Data Capture Lab project file, the DCL application provides version managed labeling of datasets by one or more users for a truly scalable and managed process of treating valuable sensor data intellectual property in a methodical workflow. Given labeled ML datasets can be as important a source of valuable IP as code which developers are accustomed to retaining in VCS tools, it makes sense to apply similar methodology to labeled ML data as SensiML Data Capture Lab uniquely enables.
Analytics Studio is the core AutoML application that runs in the cloud to build models based on your provided labeled datasets and return executable code for predictive models that can run on your target edge hardware platform. Designed as a UI based tool, SensiML Analytics Studio provides a standardized workflow for selecting labeled data and metadata of interest from a given input dataset, establishing model constraints and target performance objectives, configuring AutoML seed, segmentation, and feature parameters, and then executing the AutoML search optimizer. Once results are returned, bit-exact code emulation can be run for a chosen platform to assess performance and resource consumption prior to ever flashing the model for physical test. Test vectors can be provided to test model generalization beyond the train/test data used during cross-validation. Visualization of results in tabular, summary, or graphical form are supported and details of the resulting model can be explored and refined. With a desired candidate model selected, the final steps are to generate embedded code in either fully compiled executable binary form, object code, or with Standard or Enterprise editions full C source code can be generated.
The SensiML TestApp is an application that shows real-time event classifications output from the SensiML AI model (Knowledge Pack) running on your edge device. The SensiML TestApp can show custom class names and pictures with your live classification results. TestApp is available as both a Windows10 PC application, or for field use, as an Android smartphone or tablet application.
As an AutoML tool, SensiML can be utilized by a broad range of users interacting at different levels with the toolkit.
Data scientists and those with strong ML/AI skills can use the tool as a productivity aid to rapidly search and optimize for efficient model implementation for resource-constrained edge devices using a familiar Python client front-end.
Domain experts, embedded developers, and hardware engineers who may be less skilled in machine learning and AI can utilize the UI driven constraints approach to define parameters and input datasets for the AutoML processing of potential algorithms to try.
Academic researchers, startups, makers, or established product development teams can effectively use SensiML to quickly generate working sensor code that can learn from new projects or existing labeled datasets.
Analytics Studio notebook is an optional variant of Analytics Studio that is integrated with Python and the Juypter Notebook interactive execution environment. For those familiar with Python ML programming, we make the full capabilities of SensiML’s client API available in Analytics Studio Notebook as an implementation of the Python/Jupyter Notebook IDE.
SensiML Analytics Toolkit is offered as a quarterly SaaS service plan with service levels that fit the needs and project phases of developers, engineers, and data scientists building intelligence into their products.
Community Edition – A zero-cost entry to our software enabling the rapid creation of proof-of-concept prototypes and software evaluation. Community Edition comes with the same functionality as our Standard Edition license, except it is limited to single-user access, 2500 labeled segments, 1000 inferences without device reset, and either binary or library code output.
Basic Edition – Supports mainstream motion and gesture applications where full C source code is not a requirement, nor is multi-user support or the ability to support high bandwidth sensors > 10kHz. This value-priced tier of service is intended to enable small and mid-tier innovators with an affordable alternative to ramping up costly signal processing and data science expertise while providing a rapid means commercialize novel solutions for wearables, smarthome IoT products, and other similar projects.
Standard Edition – Our most popular tier of service comes complete with scalable multi-user access and productivity across larger, multi-disciplinary teams (test technicians capturing train/test samples; domain experts labeling datasets; software developers, engineers and data science specialists running AutoML pipelines and analyzing results; firmware engineers implementing resulting platform optimized code in their target hardware devices for integration, QA engineers performing test/validation of resulting algorithms). Standard edition supports all available time-series sensors up to 100kHz sample rates and provides full source code access to linked feature transform and classifier libraries.
Enterprise Edition – For large teams and those seeking our highest level of support, SensiML Enterprise Edition includes the full capabilities of Standard Edition with double the multi-user licenses (teams up to 20 users), a service level agreement for support, and direct access to the SensiML engineering team for training, support and early beta-level updates.
SensiML Free Trial and Starter Editions are being phased out and replaced with SensiML Community Edition that encompasses all the functionality combined within these two offerings as a zero-cost option for evaluation and proof-of-concept projects.
Existing Free Trial users may continue to use their account to explore sample datasets and convert to Community Edition when ready by contacting SensiML with an upgrade request. Existing Starter Edition users will be automatically converted and will see their account status change from Starter to Community Edition plan. No action is required and no impact to existing usage or projects will occur. Customers with concerns or questions may reach out to firstname.lastname@example.org or via the inquiry web form.
SensiML makes sample datasets available for evaluating the toolkit even prior to having your own data. We publish a growing collection of additional datasets on SensiML Data Depot. All tiers of SensiML from Community Edition through Enterprise edition can utilize these sample datasets.
The SensiML Data Capture Lab tool also greatly simplifies the collection and labeling of new datasets from sensor devices than would otherwise be possible using DIY data acquisition and custom data translation and cleansing scripts.
Community Edition is best suited for those users who are still exploring what edge AI can do for them and how they might apply it to their IoT application(s). By working through provided example applications, it is possible to familiarize yourself with what can be done and start formulating a defined project. We also have published a whitepaper that describes in more depth the benefits and potential for edge AI sensor algorithms.