Шаг 172.
Глубокое обучение на Python. ... . Развертывание модели. Предоставление доступа к модели. Оптимизация обученной модели
На этом шаге мы перечислим пути такой оптимизации.
Оптимизация обученной модели особенно важна при развертывании в окружении со строгими ограничениями на доступную вычислительную мощность и объем
памяти (смартфоны и встраиваемые устройства) или с жесткими требованиями к задержке. Всегда старайтесь оптимизировать модель перед импортом в
TensorFlow.js или экспортом в TensorFlow Lite.
Вот два популярных метода оптимизации, которые можно применить:
- усечение весов - не все коэффициенты в тензоре весов одинаково влияют на прогнозы. Порой можно значительно уменьшить количество параметров в
слоях модели, сохранив только самые важные. Это поможет снизить потребление памяти и вычислительных ресурсов вашей моделью при небольшом ухудшении
качества ее прогнозов. Выбирая параметры для удаления, можно контролировать соотношение размера и точности модели;
- квантование весов - модели глубокого обучения обучаются за счет корректировки весов с плавающей точкой одинарной точности (float32). Однако
веса можно квантовать до 8-битных целых чисел со знаком (int8), чтобы получить модель исключительно для прогнозирования, которая в четыре раза
меньше, но показывает точность, близкую к исходной.
Экосистема TensorFlow включает набор инструментов для усечения и квантования весов (https://www.tensorflow.org/model_optimization),
глубоко интегрированный с Keras API.
На следующем шаге мы рассмотрим мониторинг качества работы модели в процессе эксплуатации.
Предыдущий шаг
Содержание
Следующий шаг