forked from ishapira1/cs249r_book
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ondevice_ai.qmd
92 lines (69 loc) · 3.42 KB
/
ondevice_ai.qmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
# On-Device AI
## Introduction
Explanation: The introduction sets the stage for the entire chapter, offering readers insight into the critical role efficiency plays in the sphere of AI. It outlines the core objectives of the chapter, providing context and framing the ensuing discussion.
- Background and Importance of Efficiency in AI
- Discussion on how Cloud, Edge, and TinyML differ (again)
## The Need for Efficient AI
Explanation: This section articulates the pressing necessity for efficiency in AI systems, particularly in resource-constrained environments. Discussing these aspects will underline the crucial role of efficient AI in modern technology deployments and facilitate a smooth transition to discussing potential approaches in the next section.
- Resource Constraints in Embedded Systems
- Striving for Energy Efficiency
- Improving Computational Efficiency
- Latency Reduction
- Meeting Real-time Processing Requirements
## Approaches to Efficient AI
Explanation: After establishing the necessity for efficient AI, this section delves into various strategies and methodologies to achieve it. It explores the technical avenues available for optimizing AI models and algorithms, serving as a bridge between the identified needs and the practical solutions presented in the following sections on specific efficient AI models.
- Algorithm Optimization
- Model Compression
- Hardware-Aware Neural Architecture Search (NAS)
- Compiler Optimizations for AI
- ML for ML Systems
## Efficient AI Models
Explanation: This section offers an in-depth exploration of different AI models designed to be efficient in terms of computational resources and energy. It discusses not only the models but also provides insights into how they are optimized, preparing the ground for the benchmarking and evaluation section where these models are assessed and compared.
- Model compression techniques
- Pruning
- Quantization
- Knowledge distillation
- Efficient model architectures
- MobileNet
- SqueezeNet
- ResNet variants
## Efficient Inference
- Optimized inference engines
- TPUs
- Edge TPU
- NN accelerators
- Model optimizations
- Quantization
- Pruning
- Neural architecture search
- Framework optimizations
- TensorFlow Lite
- PyTorch Mobile
## Efficient Training
- Techniques
- Pruning
- Quantization-aware training
- Knowledge distillation
- Low precision training
- FP16
- INT8
- Lower bit widths
## Evaluating Models
Explanation: This part of the chapter emphasizes the importance of evaluating the efficiency of AI models using appropriate metrics and benchmarks. This process is vital to ensuring the effectiveness of the approaches discussed earlier and seamlessly connects with case studies where these benchmarks can be seen in a real-world context.
- Metrics for Efficiency
- FLOPs (Floating Point Operations)
- Memory Usage
- Power Consumption
- Inference Time
- Benchmark Datasets and Tools
- Comparative Analysis of AI Models
- EEMBC, MLPerf Tiny, Edge
## Emerging Directions
- Automated model search
- Multi-task learning
- Meta learning
- Lottery ticket hypothesis
- Hardware-algorithm co-design
- Data-Aware NAS
## Conclusion
Explanation: This section synthesizes the information presented throughout the chapter, offering a coherent summary, and emphasizing the critical takeaways. It helps consolidate the knowledge acquired, setting the stage for the subsequent chapters on optimization and deployment.