Fonctionnement
taille du modèle = paramètres × bits / 8 × (1 + surcoût du format)
Sur un microcontrôleur, deux budgets comptent séparément :
| Budget | Contient | Se trouve dans |
|---|---|---|
| Flash | poids (lecture seule) | flash interne, ou flash xSPI externe sur le STM32N6 |
| RAM | arène d’activations : tenseurs intermédiaires pendant une inférence | SRAM interne |
L’arène d’activations ne se déduit pas du nombre de paramètres : elle dépend de la plus grande paire de tenseurs vivants simultanément. Reprenez-la du rapport de votre convertisseur : taille « activations » de STEdgeAI / X-CUBE-AI, arena_used_bytes() de TFLM, ou rapport mémoire d’ESP-DL. L’outil de forme de tenseurs donne une première idée de leurs tailles.
Surcoût du format
La quantification int8 par canal stocke une échelle (et souvent un zero-point) par canal de sortie, plus le graphe et les métadonnées. 2–10 % est typique ; les petits modèles ont proportionnellement plus de surcoût.
Notes par appareil
- Le STM32N6 n’a pas de flash interne : les poids résident dans une flash xSPI externe mappée en mémoire (saisissez sa taille), et ses 4.2 Mo de SRAM accueillent l’arène. Le NPU Neural-ART exécute de l’int8.
- Les modules ESP32-S3 ajoutent souvent 2–8 Mo de PSRAM, plus lente que la SRAM mais utilisable pour de grandes arènes.
- L’Arduino Uno R3 (2 Ko de RAM) est hors de portée pour les réseaux de neurones ; la Nano 33 BLE Sense est la carte Arduino TinyML classique.
Les chiffres de mémoire sont les totaux intégrés à la puce indiqués sur les pages produits des fabricants ; vérifiez votre référence exacte.