From c44cd93b2d1827ea794bc1038c68b2b99930cdd9 Mon Sep 17 00:00:00 2001 From: Vijay Janapa Reddi Date: Mon, 25 Sep 2023 08:06:11 -0400 Subject: [PATCH] Updated the frameworks section outline --- _quarto.yml | 2 +- frameworks.qmd | 66 ++++++++++++++++++++++++++++++++++++++++---------- 2 files changed, 54 insertions(+), 14 deletions(-) diff --git a/_quarto.yml b/_quarto.yml index e6e2b5a5..6cccb045 100644 --- a/_quarto.yml +++ b/_quarto.yml @@ -34,10 +34,10 @@ book: - embedded_ml.qmd - workflow.qmd - data_engineering.qmd + - frameworks.qmd - training.qmd - ondevice_ai.qmd - optimizations.qmd - - frameworks.qmd - hw_acceleration.qmd - benchmarking.qmd - ondevice_learning.qmd diff --git a/frameworks.qmd b/frameworks.qmd index ced40940..14a06a61 100644 --- a/frameworks.qmd +++ b/frameworks.qmd @@ -5,20 +5,53 @@ Explanation: Discuss what ML frameworks are and why they are important. Also, elaborate on the aspects involved in understanding how an ML framework is developed and deployed. - Definition of ML Frameworks -- What is an embedded ML framework? -- Why are embedded ML frameworks important? -- Challenges of embedded ML -- Benefits of using embedded ML frameworks, trade-offs, and differences. +- What is an ML framework? +- Why are ML frameworks important? +- Go over the design and implementation +- Examples of ML frameworks +- Challenges of embedded systems -## Typical ML Frameworks +## Evolution of AI Frameworks + +- High-level vs. low-level frameworks +- Static vs. dynamic computation graph frameworks +- Plot showing number of different frameworks and shrinking + +## Types of AI Frameworks + +- Cloud-based AI frameworks +- Edge AI frameworks +- TinyML frameworks + +## Popular AI Frameworks Explanation: Discuss the most common types of ML frameworks available and provide a high-level overview, so that we can set into motion what makes embedded ML frameworks unique. - TensorFlow, PyTorch, Keras, ONNX Runtime, Scikit-learn - Key Features and Advantages - API and Programming Paradigms +- Table comparing the different frameworks + +## Basic Components + +- Computational graphs +- Tensor data structures +- Distributed training +- Model optimizations +- Code generation +- Differentiable programming +- Hardware acceleration support (GPUs, TPUs) + +## Advanced Features + +- AutoML, No-Code/Low-Code ML +- Transfer learning +- Federated learning +- Model conversion +- Distributed training +- End-to-End ML Platforms -## Constraints for Embedded AI +## Embedded AI Constraints Explanation: Describe the constraints of embedded systems, referring to the previous chapters, and remind readers about the challenges and why we need to consider creating lean and efficient solutions. @@ -46,19 +79,18 @@ Explanation: Now, discuss specifically about the unique embedded AI frameworks t - Edge Impulse - Others (briefly mention some less common but significant frameworks) +## Choosing the Right Framework + +- Factors to consider: ease of use, community support, performance, scalability, etc. +- Integration with data engineering tools +- Integration with model optimization tools + ## Framework Comparison Explanation: Provide a high-level comparison of the different frameworks based on class slides, etc. - Table of differences and similarities -## Toolchain Integration - -Explanation: Help people understand that it's more than just the framework, and that elements need to fit into the ecosystem of various aspects that exist in an embedded system. - -- Compatibility with Embedded Development Environments -- Integration with Firmware and Hardware - ## Trends in ML Frameworks Explanation: Discuss where these ML frameworks are heading in the future. Perhaps consider discussing ML for ML frameworks? @@ -66,6 +98,14 @@ Explanation: Discuss where these ML frameworks are heading in the future. Perhap - Framework Developments on the Horizon - Anticipated Innovations in the Field +## Challenges and Limitations + +Explanation: None of the frameworks are perfect, so it is important to understand their limitations and challenges. + +- Model compatibility and interoperability issues +- Scalability and performance challenges +- Addressing the evolving needs of AI developers + ## Conclusion - Summary of Key Takeaways