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-concepts and software evaluation. Unlike other competing tools, our free tier is NOT trialware but rather is fully functional and available as long as required for your evaluation and prototyping purposes. Community Edition comes with the same functionality as our paid Proto Edition license, except it is geared to evaluation stage projects (single-user access, 1GB of data storage, 3 hours/month of AutoML compute time, 2500 labeled segments, 1000 inferences without device reset), and does not provide upgrade add-ons as with any of the paid plans including Proto Edition.
Proto Edition – SensiML Proto Edition is intended to best suit those undertaking their first SensiML application. With full modeling capability, unrestricted device firmware functionality, and access to online, email, and available direct premier support options, Proto plan provides all the features you need to build your first real-world commercial-ready smart IoT device using AutoML technology.
Advanced Edition – A more flexible version of our most popular tier of service, Advanced Edition provides an extremely affordable solution for extracting more intelligence and insight from your IoT devices for multi-project developers with ongoing needs for AutoML modeling and embedded smart sensing code generation. Advanced Edition is tailored to provide maximum value and productivity for experienced small and mid-sized company development teams. With the flexibility to features, users, capabilities, and premier support, Advanced Edition can be customized to meet your team’s precise needs.
Premium Edition – For large teams and those seeking our highest level of support, SensiML Premium Edition includes the full capabilities of SensiML Analytics Toolkit and comes with cost-effective bundled inclusion of add-on features and scalability suited for enterprise development projects. Premium Edition comes with support for 10 users (and additional users can be added as well), up to 100GB of datasets, full C source code output, and the ability to generate models for sensors up to 1MHz sampling rate. Premier support packages for direct technical and application support are available and can be customized to suit your team’s needs and budget.
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.
SensiML Basic, Standard, and Enterprise Editions are being replaced with new, more flexible plans as of August 1, 2021.
Basic Edition is replaced with Advanced Edition which is functionally equivalent to Basic but now offers the flexibility of customized plan add-ons such as Premier technical support options, the ability to add users, and upgrades in output and application support levels. Existing Basic Edition customers need not do anything to enjoy these additional account benefits. Current Basic Edition plans qualify automatically for Advanced Edition add-ons and subscription pricing will not change.
Standard Edition is similarly being replaced with Premium Edition which is functionally equivalent to Standard but now offers the flexibility of customized plan add-ons such as Premier technical support options, the ability to add users, and upgrades in output and application support levels. Existing Standard Edition customers need not do anything to enjoy these additional account benefits. Current Standard Edition plans qualify automatically for Premium Edition add-ons and subscription pricing will not change.
Enterprise Edition will no longer being offered for new service or as an upgrade for existing accounts. Instead, customers seeking our highest level of functionality and support should choose Premium Edition along with the Premier technical support add-on package that best suits their needs. Existing Enterprise Edition users need not change their plan as SensiML will continue supporting this service tier for existing accounts.
For more information, please consult the plan comparison table.