Оптимізація ML-моделі для запуску на Edge-пристроях
Модель, навчена на сервері з 80 GB GPU, не запускається на Raspberry Pi. Оптимізація для edge — комплекс техник зменшення розміру та latency моделі при збереженні прийнятної якості.
Техники оптимізації
Quantization: Найбільш вплинула метода. Float32 → INT8: 4× зменшення розміру, 2–4× прискорення (на підтримуючому апаратному забезпеченні). INT4: 8× зменшення, втрати якості залежать від завдання.
Post-Training Quantization (PTQ): швидко, потребує calibration dataset (100–1000 samples). Quantization-Aware Training (QAT): тренування з квантизацією, на 1–3% точніше ніж PTQ.
Pruning: Видалення малозначимих ваг. Unstructured pruning (80%+ sparsity) → важко ускорити на стандартному апаратному забезпеченні. Structured pruning (видалення фільтрів/голів) → пряме прискорення на будь-якому апаратному забезпеченні.
Knowledge Distillation: Мала student-модель навчена відтворювати виходи великої teacher. BERT → TinyBERT: 7.5× швидше, 96% GLUE score.
Neural Architecture Search: Знайти оптимальну архітектуру для target latency/memory. MobileNetV2 автоматично знайдена NAS як оптимальна для мобільних.
Operator Fusion: Зливання операцій: Conv+BN+ReLU виконується як одна операція. Реалізовано в TFLite converter, ONNX Runtime, TensorRT.
Benchmark підхід
Профілювання на цільовому пристрої — єдиний чесний спосіб. RTX 4090 latency ≠ Jetson Nano latency. Використовуємо layer-wise profiling для виявлення bottlenecks.







