Набор инструментов для оптимизации моделей TensorFlow сводит к минимуму сложность оптимизации выводов машинного обучения.
Эффективность логических выводов является критической проблемой при развертывании моделей машинного обучения из-за задержек, использования памяти и, во многих случаях, энергопотребления. В частности, на периферийных устройствах, таких как мобильные устройства и Интернет вещей (IoT), ресурсы еще более ограничены, а размер модели и эффективность вычислений становятся серьезной проблемой.
Вычислительный спрос на обучение растет с количеством моделей, обученных на разных архитектурах, тогда как вычислительный спрос на логические выводы растет пропорционально количеству пользователей.
Сценарии использования
Оптимизация модели полезна, среди прочего, для:
- Сокращение задержки и затрат на вывод как для облачных, так и для пограничных устройств (например, мобильных устройств, Интернета вещей).
- Развертывание моделей на периферийных устройствах с ограничениями по обработке, памяти и/или энергопотреблению.
- Уменьшение размера полезной нагрузки для беспроводных обновлений модели.
- Включение выполнения на оборудовании, ограниченном или оптимизированном для операций с фиксированной точкой.
- Оптимизация моделей для аппаратных ускорителей специального назначения.
Методы оптимизации
Область оптимизации модели может включать различные методы:
- Сократите количество параметров с помощью обрезки и структурированной обрезки.
- Уменьшите репрезентативную точность с помощью квантования.
- Обновите исходную топологию модели до более эффективной с уменьшенными параметрами или более быстрым выполнением. Например, методы тензорного разложения и перегонки
Наш инструментарий поддерживает квантование после обучения , обучение с учетом квантования , обрезку и кластеризацию . Инструментарий также обеспечивает экспериментальную поддержку совместной оптимизации для объединения различных методов.
Квантование
Квантованные модели — это модели, в которых мы представляем модели с более низкой точностью, например, 8-битные целые числа, а не 32-битные числа с плавающей запятой. Более низкая точность требуется для использования определенного оборудования.
Разреженность и обрезка
Разреженные модели — это модели, в которых соединения между операторами (т. е. слоями нейронной сети) были сокращены, в результате чего в тензоры параметров были добавлены нули.
Кластеризация
Кластерные модели — это модели, в которых параметры исходной модели заменены меньшим количеством уникальных значений.
Совместная оптимизация
Инструментарий обеспечивает экспериментальную поддержку совместной оптимизации. Это позволяет вам извлечь выгоду из объединения нескольких методов сжатия моделей и одновременно повысить точность за счет обучения с учетом квантования.