Hand in hand with the global proliferation of IoT, we have seen 5G, and efficiency in data transmission and processing becoming increasingly crucial.
Edge computing technology is now emerging to meet this demand. It involves placing computing resources closer to where data originates (i.e. motors, pumps, generators, or other sensors).
Edge Computing is the process of performing computing tasks physically close to target devices, rather than in the cloud or on the device itself. Over the past decades we’ve seen different architectural patterns for systems. Depending on the bottleneck of the system, they were designed as centralized or decentralized systems. The growing amount of data (IoT) and the limitations of the networking layer (and computation) lead to a decentralized system like Edge Computing.
In lay terms it can be compared to eating locally produced food. While steaks from Argentina are delicious, transporting them over a huge distance leads to increased CO2 emissions, and it takes a lot of time. Furthermore, the origin of the meat is much more difficult to track, and different standards for animal rights may apply. While these circumstances do not directly translate to the digital world, the line of reasoning is similar.
Edge computing offers huge potential to make it possible to apply different machine learning algorithms at the edge. It will enable new kinds of experiences and new kinds of opportunities in many industries ranging from Mobile and Connected Homes to Security, Surveillance, and Automotive.
The advantages of Machine Learning at the Edge are the following:
If applications depend on immediate feedback (e.g. to make “real-time” decisions), sending data to the cloud, calculating and sending the data back to the device may take too long. However, if the path is reduced to the (much closer) Edge Device or Node and back, many use cases can be realised faster.
Devices (IoT) can be in different environments and locations, and they might need to perform tasks customised to their respective environments. In such cases Edge Devices or Nodes can enable customisation for each device as in a custom machine learning (ML) model for each device performing real-time inference at close proximity. Also, this way ML models deployed at the edge can optimize and retrain when needed, constantly learning to serve better. This is limited and not possible on scale in the Cloud.
Devices can produce enormous amounts of data. For example, one autonomous car can produce up to 4000 gigabytes per day. If every single car sent all its data to central data centres, it would create a huge load on the network. By performing the necessary computations on Edge Nodes close to the device, most of the path can be pruned. This is especially important when considering the increasing importance of the internet of things and the rising number of devices connected to the internet.
The main functionality of devices should still be available, even if communications to the central cloud are impaired. This can be achieved by relying on local communication with an Edge Node which should (at least in theory) be less prone to problems. If an Edge Node fails, the devices will be shifted to an alternative Edge Node.
In today’s world many applications rely on very strong or specialized hardware. Modern machine learning algorithms, for example, work best with GPUs or tensor processing units (TPUs). Extending devices with such hardware is generally not desirable. Edge Devices or Nodes are preferable for such specialized hardware and hardware with more computing power in general.
In many use cases collecting user data is required or at least useful. However, in cases where aggregated data is sufficient, the users’ privacy can be preserved by aggregating the data on the Edge Node instead of the cloud.
In most cases the computing power of devices is limited by their small size. Furthermore, developing a new use case that requires stronger hardware will require all possible users or the network administrator to update the devices, which limits the use cases’ adoption rate. Edge Nodes do not suffer from these problems and can be extended both very easily and continuously. Using a suitable Edge Computing framework, adding, replacing or upgrading Edge Nodes is a very simple and highly automated process.
Using an Edge Device or Node instead of a single purpose server has the added benefit of being adaptable to changing circumstances. After enabling a base environment, Edge Devices or Nodes can be easily configured to provide individual subsets of services, depending on the environment. While some use cases are only useful in cities, others may be more beneficial in rural areas. Due to the direct connection to the cloud and higher-level Edge Nodes, moving workloads and freeing up computing power for critical use cases is possible and it can be done on the fly.
Devices are producing enormous amounts of data. One single autonomous car for example may produce up to 4000 gigabytes per day. If every single car sent all the data that it generates all the way to the cloud for Machine Learning inference, it would create a huge load on the network – and the electricity consumption to serve these requests would be tremendous, which in turn would also result in huge costs for Businesses. Instead outsourcing and taking Machine Learning inference and data pruning at the data origin/location on the edge will exponentially decrease costs and enable sustainable business.
With these advantages we are set to witness more and more adoption of AI in the edge towards a connected and robust world. For some time, I have been doing hands-on Research and Development on Intelligent edge and cloud - Continuous deployment for Machine Learning. Thanks for support from my team (AI Team at TietoEvry), VTT Finland, Arcada University, and Mentors. More updates will follow, so stay tuned. Feel free to get in touch for a head start with robust and scalable EdgeAI for your business or organisation, I'm happy to help.