Why research is crucial for machine learning

Jun 28, 2021 | Blog

Eva Garcia Martin, Data Scientist, Ekkono

Ekkono is born out of research. Rikard König, a PhD researcher at University of Borås (now CTO) spent seven years researching and specializing in machine learning for predictive modeling, with the main focus at designing new or enhanced machine learning algorithms. That later became the foundation to Ekkono’s product – an edge machine learning library packaged in an SDK. I myself, a Data Scientist from Madrid, joined Ekkono a few years after the start and I will now tell you why research is still a vital part of Ekkono’s journey.

Swedish R&D then and now

Sweden is well-known for its many global industry companies, such as SKF, ABB, Alfa Laval and Sandvik. Sweden is also known for being the birth mother of a number of successful technology startups, such as Klarna, Spotify, Zettle and Skype. What these companies all have in common is great ideas, driven people, and a lot of luck. Sweden has also always had a long-term focus on education and research that has had a major impact on the capacity for innovation. This is what in the mid 19th century took Sweden from being a poor agricultural nation to a prosperous innovation leader. Governmental support plays a central part in supporting Swedish research, and that is in fact how Ekkono was founded, through a project for commercializing  research.

Crucial research for continuous development

AI and machine learning is furthermore a research field with rapid development, and in contrast to many other areas that studies what has happened or ongoing events, machine learning researchers are creating new algorithms long before they hit the market and reach commercial products. As an example, the Random Forest algorithm was presented in a research article ten years before it was first available on the market, i.e. commercialized. It is hence crucial to be an active part of the research community to be able to pick up any new innovation as early as possible.

So, how do we continue our research at Ekkono, to keep being at the forefront?

Theory to hands-on applications

Green technology is a field in which Swedish researchers and companies excel and Ekkono is no exception, which was attractive for me when being approached by Ekkono. I have a background in machine learning and computationally-efficient algorithms. During the last year of my PhD, Rikard König reached out to me, telling me the story behind Ekkono and suggested we’d meet to see if I was interested in joining the company. After a chat with him and Joakim (also co-founder of Ekkono), I knew that this was where I was supposed to be – a place where research is at the forefront, a team full of smart people, and where I could apply all my theoretical research knowledge into hands-on practical applications.

Sustainable machine learning from scratch

Ekkono is still a young company, so why do we focus on research? Isn’t that usually seen as a long-term requirement and not something you usually invest a lot of resources into in the startup phase of a company? Well, without research Ekkono wouldn’t exist. Our cutting-edge technology depends on continuous and ongoing progress in the field, and since we are pioneers at what we do – edge machine learning – research will always be vital to both our business and the field of embedded AI.

We are building a unique product, targeted at IoT platforms. The machine learning algorithms are coded from scratch, always with a sustainability focus in every step of the development cycle. It is also designed for being easy to use since we want any user, from big industries to nerds, to be able to easily deploy our machine learning algorithms, on any platform.

We have a good understanding of the needs of different users. Needs like data pre-processing (known by any data scientist to be a hassle). Needs like tiny and efficient models. Needs like easy deployment. And unlike others, we don’t just export models from a third-party library. We build our own algorithms from scratch; Clean algorithms without all the extra layers that make models big and slow.

Knowing our customers needs

At Ekkono, all our decisions related to the product and what should be part of the SDK, is backed by a thorough investigation from the research team. We do things right from the beginning. The decisions we make are not random, and we never add the most hyped algorithms to our library without really analyzing the real needs of the user in hand.

“We don’t believe in hypes, but what will have a positive long-term impact”

Eva Garcia Martin

We understand our competition, and we know where we shine. We also know the types of customers we are targeting, customers like Volvo in automotive or Siemens Energy in the industry sectors. These companies are key industry leaders with years of experience in their field. When we introduce edge machine learning, we know that what they want is something that won’t interfere with their current solutions, that is easily deployable, and that will move them to the forefront of innovation. There is where we make a difference; We want to make an impact by improving how our customers interact with their machines, making them smarter. All of this, while still allowing them to run all their code exactly as they did before, producing those amazing engines, trucks, buses, that they already know and are globally known for.  

The research process

So how does Ekkono’s research team work? Our efforts are divided into three forefronts: data, algorithms and deployment.

First, the data part. We know by experience how shaping the data to make it usable for any use case and to apply machine learning is key, and also takes unexpected amounts of hours, or even days and weeks. Especially for time series data. Some of our research efforts on each release is to make easy and accessible data pipelines that can transform the data into what the user needs, effort-free. And, the pipeline stages live with the model so that when the model runs on-device, on the machine, all those transformations are done automatically. How cool is that?   

Second, what makes me smile every morning are the machine learning foundations. Every algorithm is designed with care, making sure our three main principles are met: 

  • Sustainable design
  • Easily deployable
  • Can it run everywhere?

By “run” we not only mean inference (making on-device predictions). We mean on-device training. That’s why not every algorithm meets our bar. If it’s too big, it’s very likely that we won’t consider it for our tiniest part of the library (Crystal). If we think it still matches all the other criteria, we consider it for our edge execution engine, aimed to be more powerful for bigger devices.

Optimized algorithms

Once the research team decides what algorithm is best suitable for the needs of the specific customer, and our purpose, it’s time for the creativity phase. We don’t just take an algorithm, code it and ship it with the library. We design and prototype, before it reaches the development team, our own improvement of the algorithm focusing on speed, scalability, memory usage, and energy efficiency. We do as many changes as necessary, until we achieve the lightest algorithm possible, as customizable as needed, ensuring that it targets our goals. On-device training is something we put a lot of focus on, that differentiates Ekono, compared to similar companies. Our customers have many different sensors lying around, in many different machines, that are definitely not connected to the internet. A pre-trained model that fits all is not going to work for our standards. That is why we decide to go with our empty model, learn all the tiny little details for that particular device, and make predictions for it. If we need to combine the knowledge from those, then we use other techniques, like Federated Learning.  Once our prototype is ready, we ship it to our super star development team, who writes the C++ (for the Edge Execution Engine) and the C code (for Crystal) that will run on the end device. Why C++ and C? Well we all know why. 

Deployment phase

The third and most nerdy part. The deployment phase. We do a bunch of engineering work with our amazing hackers to compile our library for any platform and microcontrollers, such as Arm M4, Arm M0, Raspberry Pi, and Commodore 64. That’s right, we are able to run crystal, and perform on-device training on a C64. Really, how cool is that? Spoiler alert: our super star Henrik, half data scientist, half hacker will show the coolest demo you have ever seen in the ML community. Stay tuned. 

“The future of machine learning is green”

Eva Garcia Martin

Our goal is to be top notch at what we do. That is why everyone at Ekkono is hand picked for their specific task. That is also why we build the most solid foundations, backed by researchers with many years of experience, to create the most solid product out there. And that is why I love my job.

Eva Garcia Martin, Data Scientist, Ekkono

More Blog Posts from Ekkono

SDK vs DIY

SDK vs DIY

Blog PostAndreas Björnberg, VP Product...