Change Location EUR
 
Mouser Europe - Flag Mouser Europe

Incoterms: DDP is available to customers in EU Member States.
All prices include duty and customs fees on select shipping methods.

Incoterms: DDU applies to most non-EU customers.
Duty, customs fees and taxes are collected at time of delivery.


Please confirm your currency selection:

Euros
Euros are accepted for payment only in EU member states these countries.

US Dollars
USD is accepted in all countries.

Other currency options may also be available - see
Mouser Worldwide.

Bench Talk for Design Engineers

Bench Talk

rss

Bench Talk for Design Engineers | The Official Blog of Mouser Electronics


Edge Impulse Fundamentals Part Eight Mike Parks

Edge Impulse #8: Model Versioning and Deployment

(Source: photon_photo- stock.adobe.com)

In the continuously evolving landscape of machine learning (ML) and artificial intelligence (AI), the ability to manage, version, and deploy models efficiently is of paramount importance. Edge Impulse, with its dedication to the realm of edge computing, recognizes these needs and has consequently developed features that make model versioning and deployment not just feasible but also efficient. Let’s delve deep into how Edge Impulse manages these functionalities and why they are crucial for developers and organizations.

Understanding the Importance of Model Versioning

Let’s begin by gaining an understanding of the significance of model versioning (Figure 1). There are many essential aspects of versioning that become increasingly important as we move from prototype to production. Edge Impulse provides:

  • Iterative Development: Machine learning model development is seldom a one-time process. Models are continually refined and retrained to enhance performance, adapt to new data, or meet changing requirements.
  • Reproducibility: The ability to trace back to a specific version of a model is crucial for scientific studies and commercial applications.
  • Accountability: For regulatory or compliance needs, especially in critical sectors like healthcare or finance, it's essential to document the evolution of models and be able to revert or audit a particular version if needed.
  • Collective Development: In team settings, multiple data scientists might work on different versions of a model, necessitating a system that manages concurrent versions and integrates them seamlessly.

Figure 1: ML model version control is built into Edge Impulse Studio, making configuration management more attainable. (Source: Green Shoe Garage)

Model Versioning with Edge Impulse

For designers, developing ML models requires configuration management that is adaptable and efficiently integrates as requirements change. Recognizing these needs, Edge Impulse has incorporated features that enable effective model versioning:

  • Snapshot Creation: Edge Impulse allows users to create snapshots of their projects at any point. This means that after training a model or making significant modifications, a snapshot can be taken, preserving that specific state for future reference or deployment.
  • Descriptive Metadata: Along with snapshots, users can add metadata, such as notes or tags, to provide context or mark significant milestones. This ensures that versions aren't just identifiable by timestamps but also by their characteristics or relevance.
  • Seamless Switching: With the stored versions, users can effortlessly switch between different model versions, allowing them to compare performances, revert to earlier versions, or branch off from a specific point.
  • Collaborative Features: Versioning in Edge Impulse is designed with collaboration in mind. Different team members can work on their versions, merge changes, or build upon each other’s work without overwriting or losing information.

Model Deployment with Edge Impulse

Once a model is developed, refined, and versioned, the next step is deployment. Deploying machine learning models, especially on edge devices, comes with its unique set of challenges. Edge Impulse’s deployment strategy addresses the following challenges:

  • Optimized for Edge: Edge Impulse's deployment mechanism is tailored for edge devices. Recognizing the constraints of these devices, models are optimized to be lightweight while retaining efficacy.
  • Diverse Platform Support: Whether it's an IoT device, a mobile phone, or a microcontroller, Edge Impulse offers deployment solutions tailored for various platforms, ensuring broad applicability.
  • Integration with TensorFlow Lite: Edge Impulse supports TensorFlow Lite Micro, making it easy to deploy models on devices with minimal overhead and maximal compatibility.
  • Over-the-Air Deployment: Edge Impulse supports Over-the-Air (OTA) deployment for devices connected to the internet (Figure 2). This means updated or refined models can be pushed to devices remotely, ensuring they remain updated without manual intervention.

Figure 2: Edge Impulse allows for Over-the-Air updates to edge devices via cloud connectivity. (Source: Green Shoe Garage)

  • Standalone Libraries: Edge Impulse provides the option to export models as standalone libraries. This ensures that developers can integrate them into their applications or platforms seamlessly.
  • WebAssembly Deployment: Edge Impulse supports deployment via WebAssembly for web-based applications. This means models can be run directly in browsers, making them accessible to a broad audience without platform-specific constraints.

Versioning and Deployment Together

While versioning and deployment might seem like distinct phases, they are intrinsically linked in a number of ways:

  • Streamlined Workflow: The workflow becomes streamlined with versioning and deployment features integrated into one platform. Once a model version is finalized, it can be deployed immediately without juggling between different tools or platforms.
  • Quality Assurance: Before deploying a new version, teams can revert to previous model versions, run tests, and ensure that the new version offers improvements. This iterative testing and deployment process ensures higher quality in real-world applications.
  • Feedback Loop: Once a model is deployed, it might gather new data or feedback. This can be used to refine the model further. With integrated versioning, this feedback can lead to the creation of a new version, which, after refinement, can again be deployed. This continuous feedback loop ensures models remain relevant and adaptive.

Conclusion

In the rapidly progressing world of machine learning on edge devices, platforms like Edge Impulse play a pivotal role in ensuring that the development and deployment processes are efficient, manageable, and scalable. By integrating model versioning and deployment functionalities into a unified platform, Edge Impulse simplifies the workflow for developers. It ensures that models are always at their best when making real-time decisions on edge devices.

Furthermore, in a world where collaboration, accountability, and adaptability are becoming increasingly crucial, features like versioning become valuable and indispensable. As more devices incorporate AI and machine learning capabilities, platforms like Edge Impulse will undoubtedly be at the forefront, shaping the future of intelligent, responsive, and efficient edge devices.



« Back


Michael Parks, P.E. is the co-founder of Green Shoe Garage, a custom electronics design studio and embedded security research firm located in Western Maryland. He produces the Gears of Resistance Podcast to help raise public awareness of technical and scientific matters. Michael is also a licensed Professional Engineer in the state of Maryland and holds a Master’s degree in systems engineering from Johns Hopkins University.


All Authors

Show More Show More
View Blogs by Date

Archives