Edge Deployments
navio has partnered up with TTTech Industrial to offer users the ability to deploy their machine learning models directly to edge devices. Integrated with the Nerve Management System, users can now directly execute their models on their connected Nerve devices. Connect to data streams produced by machines or sensors via the Nerve’s data gateway and use these as input to get predictions in real-time.
This enables users to reduce latency and improve performance by deploying the model directly to where the data is being produced.
navio is able to deploy the machine learning models to any kind of Azure IoT Edge device through Azure IoT Hub. For details checkout and its components checkout the Azure IoT deployment guide.
Prerequisites
In order to make use of edge deployments, a user requires access to a Nerve management system as navio interacts with its API to manage the edge devices. In addition to this, a user requires at least one Nerve edge device to deploy the model to.
note
Get in contact with us if you would like to inquire about Nerve devices.
A docker registry is also required for serving the model containers to the Nerve management system.
Connecting a Nerve Management System
- Go to workspace -> workspace settings -> Edge Management Systems
Here you can see your available and connected management systems that are used to manage the hardware devices on which you want to deploy a model.
- Click connect
The following dialog appears:
- Put in your management system credentials and click Test Connection
If everything works fine, you'll get a green checkmark to let you know navio succesfullty connected.
- Click save
Now your management system will appear in the list of connected management systems.
Now you need to connect to your docker registry.
Connect to a docker registry
A docker registry is needed for storing model containers and it is where the management system will pull the navio models from.
Go to workspace -> workspace settings -> Docker registry
Put in your docker registry credentials and click save
Now you're ready to start using edge deployments!
Managing Edge Devices
Once the management system is set up, you can see the connected edge devices for a workspace by clicking on All edge devices
in the left navigation bar.
Note that the status of the edge devices could be outdated as it's periodically polled. To fetch the latest state, press the sync button at the top of the page.
Deploying to an Edge Device
- Go to the Deployments view in a use case of your choice.
- Click on New deployment
- Name your deployment, choose your model and select type *On edge" and click next
- Select a connected management system and navio will fetch the available edge devices.
note
Edge devices that are offline or unreachable will not show up in the list
- Select the devices you want to deploy to and click next.
- Specify the MQTT properties
Currently, all models that are deployed via an edge deployment, communicate via the messaging protocol MQTT rather than REST over HTTP.
For this to work, some properties need to be defined:
MQTT Broker
- the URL of the broker that the deployed container will communicate with. This is often deployed internally on a device.
Publish Topic
- the topic to which the model will publish its predictions
Subscribe Topic
- the topic the model will subscribe to, to fetch its input
- Click save
Your model will now be deployed on the selected edge devices!
note
Deploying a model to an edge device can take a couple of minutes to complete, please wait for the action to be completed.