Machine Learning at the IoT Edge
Edge computing is becoming the ‘next big thing’ in the IoT industry. The realization is that for scalability, reliability and security reasons, data will need to be processed close to the ‘things’ not just in the cloud. For instance, ideally data is processed on a factory floor or in a car before a subset of the data is sent to the cloud.
Another ‘next big thing’ is machine learning (ML). If edge computing is going to be useful, machine learning and analytics will need to be deployed at the edge. In fact, machine learning and analytics at the edge is a key trend I see in the IoT industry.
For this reason, I decided to do some research into what is available from vendors in the area of machine learning at the edge. My research was essentially a review of documentation available on vendor web sites. Below is a summary of what I found. I expect I have missed some information so feel free to comment. It is not a technical evaluation but I do hope to return to experiment with some of the solutions.
As a side note, going through this exercise I have realized how bad some vendor web site can be at providing basic technical information. It is clear they don’t expect developers or technologist to actually use their sites. :-(
First, I looked at the major cloud vendors.
Microsoft has a comprehensive solution for ML and Analytics at the Edge. MS IoT Edge is their edge platform that runs Azure services on remote hardware.
- IoT Edge https://azure.microsoft.com/en-us/services/iot-edge/
- AI Toolkit for MS IoT Edge https://github.com/Azure/ai-toolkit-iot-edge
- Stream Analytics https://azure.microsoft.com/en-us/services/stream-analytics/
- Quick Start Tutorials https://docs.microsoft.com/en-us/azure/iot-edge/
- Pricing for IoT Edge https://azure.microsoft.com/en-us/pricing/details/iot-edge/
Like Microsoft, Amazon also has a comprehensive solution for edge computing, called Greengrass. The ML component for Greengrass seems to be still in preview.
- Amazon Greengrass https://aws.amazon.com/greengrass/
- Machine Learning https://aws.amazon.com/greengrass/ml/
- Getting Started https://aws.amazon.com/greengrass/getting-started/
- Pricing https://aws.amazon.com/greengrass/pricing/
IBM is one of those vendors that makes it really difficult to find useful technical information. If you start from the IBM Watson IoT site it take a while to find technical information but eventually you can get to developerworks.
IBM doesn’t appear to have an edge platform. They do have agents that can be added to IoT Gateways for doing edge analytics. However, there doesn’t appear to be any ML at the edge.
- Developer platform https://developer.ibm.com/iotplatform/
- Edge analytics https://console.bluemix.net/docs/services/IoT/edge_analytics.html#edge_analytics
It doesn’t appear Google has any type of edge computing functionality. (If I have missed it pleased let me know).
- Google Cloud IoT https://cloud.google.com/solutions/iot/
Next, I looked at some of the key industrial vendors that are promoting IoT solutions.
Siemens IoT solution is called Mindsphere. Unfortunately the Siemens Mindsphere web site lacks any basic technical information. This ‘helpful’ link to Developer Info from the Mindsphere site looks like something out of the late 70s/early 80s.
The Siemens edge computing solution appears to be a hardware solution called MindConnect. It is not clear to me how you would deploy ML to this piece of hardware.
GE’s edge solution is called Predix Edge. GE has an extensive catalog of algorithms and ML models. It is not clear if these can be deployed to the edge. The extent of this catalog certainly appears to be unique to other vendors.
- Predix Edge https://www.ge.com/digital/predix/platform
- Predix Catalog https://www.predix.io/catalog/analytics
Bosch SI edge solution is called IoT Gateway Software. It is not clear from the Bosch web site if they provide ML or analytics at the edge. They do have an IoT Analytics offering for their cloud. Unique to other vendors is they provide a starter package that includes consulting services for setting up IoT Analytics. This seems completely reasonable considering the complexity of IoT data streams.
There are hundreds of IoT startups that are providing IoT platforms. I used MachNation’ s IoT Edge Vendor report to identify 3 vendors for this summary. Feel free to add a comment if you are a vendor with an IoT Edge plus ML solution.
Foghorn is an IoT edge vendor. Their cloud solution appears to be mainly focused on the management of the edge devices. In terms of ML, they appear to be just introducing a product called EdgeML . They are also publishing a blog series on edge intelligence. I could only find the first 2 parts so I assume the next 2 are coming.
- Blog series Part 1 https://www.foghorn.io/building-edge-intelligence-platform-iiot-part-1-4/
- Part 2: https://www.foghorn.io/building-edge-intelligence-platform-iiot-part-2-4/
Litmus provides LoopEdge for their edge solution. They don’t talk about ML or analytics functionaly on their web site. However, based on their solutions and case studies my guess is they can deploy analytics to the edge.
Clearblade provides IoT Edge Platform for their edge computing solution. They don’t talk about ML or analytics but they do talk about local business rules, analysis and trigger so they appear to do some form of analytics.
Open Source Solution
Finally, I looked at the different open source solutions for edge computing. As with many open source projects, a complete solution is often provided by vendors so I also looked for vendor solutions based on the open source project.
Dell nor the EdgeX project site talk about analytics or ML. EdgeX is still relatively new so I would expect this will come and their microservices architecture should make it easy for vendors to offer ML solutions.
Eclipse Kura is the IoT gateway framework from the Eclipse IoT community. The Eclipse Kura project doesn’t talk about ML or analytics but I do know the Kura architecture makes it easy to deploy analytics to the edge.
The vendor community is definitely building on top of Kura for analytics and ML. For instance, Cloudera, Red Hat and Eurotech have been working on solutions of using analytics and ML at the edge with Eclipse Kura.
Flogo is a framework for edge microservices. Frankly this is the first time I have come across Flogo. It appears to be a relatively new open source project from Tibco. Flogo appears to come with a showcase of add-ons that including ML support.
This is certainly not an exhaustive list of IoT Edge solutions but it is a good cross section of the key IoT players. Based on this research, it would appear Microsoft, Amazon and Foghorn are the only vendors that have published machine learning functionality. My assumption is many other vendors are working on the capability and we will see many announcements in 2018.