mirror of
https://github.com/harvard-edge/cs249r_book.git
synced 2026-07-18 17:03:56 -05:00
fix(edge_intelligence): collapse adjacent math spans in 224x224x3 dim
Merge $224 \times 224$$\times$3 (two math spans) into a single span $224 \times 224 \times 3$. Two adjacent math spans render with a visible seam at print scale; book-prose.md $2 requires single math spans for multi-number dimensions.
This commit is contained in:
@@ -612,7 +612,7 @@ The structure and size of the machine learning model directly determine whether
|
||||
|
||||
The scale of these constraints becomes concrete across the device spectrum. MobileNetV2, commonly used in mobile vision tasks, requires approximately 14 MB of storage in its standard configuration. While feasible for modern smartphones with gigabytes of available RAM, this far exceeds the 256 KB of SRAM and 1 MB of flash storage on microcontrollers such as the Arduino Nano 33 BLE Sense[^fn-arduino-memory-wall]. On such severely constrained platforms, even a single convolutional layer may exceed available RAM during training due to intermediate feature maps and gradient storage.
|
||||
|
||||
[^fn-arduino-memory-wall]: **Arduino Nano 33 BLE Sense**\index{Arduino Nano 33 BLE Sense}: With 256 KB SRAM, roughly 65,000$\times$ smaller than a flagship smartphone's 16 GB, a single $224 \times 224$$\times$3 RGB image (150 KB) consumes 60 percent of available memory. Training amplifies this by 3--5$\times$ for gradients and activations, meaning even a tiny convolutional neural network (CNN) layer can exceed total SRAM during backpropagation. This memory wall forces 8-bit or 4-bit quantization as a prerequisite, not an optimization. \index{Arduino!memory constraint}
|
||||
[^fn-arduino-memory-wall]: **Arduino Nano 33 BLE Sense**\index{Arduino Nano 33 BLE Sense}: With 256 KB SRAM, roughly 65,000$\times$ smaller than a flagship smartphone's 16 GB, a single $224 \times 224 \times 3$ RGB image (150 KB) consumes 60 percent of available memory. Training amplifies this by 3--5$\times$ for gradients and activations, meaning even a tiny convolutional neural network (CNN) layer can exceed total SRAM during backpropagation. This memory wall forces 8-bit or 4-bit quantization as a prerequisite, not an optimization. \index{Arduino!memory constraint}
|
||||
|
||||
The training process itself dramatically expands the effective memory footprint. Standard backpropagation caches activations for each layer during the forward pass, then reuses them during gradient computation in the backward pass. As the amplification analysis above established, this activation caching multiplies memory requirements compared to inference-only deployment. A seemingly modest 10-layer convolutional model processing $64 \times 64$ images may require 1 to 2 MB, well beyond the SRAM capacity of most embedded systems.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user