Skip to main content
European Commission logo
Enterprise Europe Network

Adapted software stack making the steps from machine learning (ML) model construction to ML model execution on microcontrollers more efficient (time&cost) offered for technical and/or research cooperation

Summary

Profile Type
Technology offer
POD Reference
TOAT20240219001
Term of Validity
21 February 2024 - 20 February 2025
Company's Country
Austria
Type of partnership
Commercial agreement with technical assistanceResearch and development cooperation agreement
Targeted Countries
All countries
Contact the EEN partner nearest to you for more information.
Find my local partner

General information

Short Summary
An Austrian research organisation developed a software to assess the viability of executing selected machine learning algorithms on ARM (ARM Holdings Limited) microcontrollers. The software is offered as a service to cost effectively map the accuracy-execution cost of a given problem targeting a specific microcontroller across most scikit-learn regressor types. Here technical cooperation is desired. Extension to new algorithms or instruction set architectures is offered as research cooperation.
Full Description
The research organisation develops models for a wide range of materials under different load scenarios. These models are key to effective process and product engineering. Product engineering includes design of advanced condition monitoring solutions. The organisation therefore continuously evaluates execution cost of material models on constrained devices.

Existing software stacks for creating, training and executing machine learning (ML) models are complex and fast moving. Relevant software stacks include Tensorflow, TVM and scikit-learn. These stacks typically allow the execution of trained models on personal computers. For many applications, however, execution of algorithms on microcontrollers is desirable. Compared to general-purpose CPUs, Microcontrollers impose limitations on available number formats, instructions and memory. Attempting to execute ML models on microcontrollers remains a challenge today. Problems include failure to generate an executable, need to transfer models to a variety of third-party tools or wildly varying execution times after seemingly small changes to the model.

The Austrian research organisation has automated the steps from ML model construction to ML model execution on microcontrollers as well as respective execution time measurements. In this way multiple models can be evaluated within a week, as opposed to typical times of weeks per model. The software allows efficient generation of multiple ML regression models available in the scikit-learn library (https://scikit-learn.org/) solving the same regression problem and evaluating for each model if it can be executed on a given ARM microcontroller. For models found to be executable, memory requirements and execution times on ARM CPUs (central processing units) can be evaluated and reported.

The extension to other instruction-set architectures like RISC-V (riscv.org) is potentially possible.

The capabilities described allow for efficient mapping of the accuracy-execution cost of a given problem/microcontroller across most scikit-learn regression methods. One limitation to consider is that Scikit-Learn does not support neural networks.

The research organisation is interested in providing their expertise either as a service (contract work evaluating algorithms on selected ARM CPUs) or to collaborate in research projects to evaluate support for new CPU architectures (like RISC-V).
Advantages and Innovations
- For each problem / microcontroller combination, a report of (non-)viable scikit-learn regressor types is generated and presented. This includes a detailed analysis of expected improvements over the next year, providing relevant input for management decision.
- For scikit-learn regressors found to be executable, experiments are performed, mapping the accuracy-execution cost space of the given problem and specified microcontroller.
- If relevant software components have received updates, experiments and reporting can be repeated at acceptable cost thanks to automating many experiments.

Expertise / Innovation:
- Automatic checking of (in)compabilities between different software components allows the compilation of a list of viable models across all release combinations of relevant software components.
- Regular monitoring and investigating of the list of model type incompatibilities yields a unique working knowledge of the respective software stack.
Stage of Development
Concept stage
Sustainable Development Goals
Not relevant

Partner Sought

Expected Role of a Partner
Partners interested in mapping the accuracy-execution cost space of a given problem/microcontroller combination across scikit-learn regression methods are sought.

For certain problems and ARM architectures, the solution can be provided as a service, i.e. contract work (technical cooperation agreement).

For not yet tested problems/microcontrollers, the institute would like to enter into a research cooperation agreement.
Type and Size of Partner
R&D InstitutionSME 11-49SME 50 - 249SME <=10
Type of partnership
Commercial agreement with technical assistanceResearch and development cooperation agreement

Call details

Coordinator required
Yes

Dissemination

Technology keywords
01003025 - Internet of Things
Market keywords
09003001 - Engineering services02001005 - Mini and micro computers02007016 - Artificial intelligence related software02006004 - Data processing, analysis and input services
Targeted countries
All countries