В этом документе представлен обзор сокращения модели, который поможет вам определить, как это соответствует вашему варианту использования.
- Чтобы погрузиться прямо в сквозной пример, см. Пример обрезки с помощью Keras .
- Чтобы быстро найти API, необходимые для вашего варианта использования, см. подробное руководство по обрезке .
- Чтобы изучить применение сокращения для вывода на устройстве, см. Сокращение для вывода на устройстве с помощью XNNPACK .
- Чтобы увидеть пример структурного сокращения, запустите учебник Структурное сокращение с разреженностью 2 на 4 .
Обзор
Сокращение веса на основе величины постепенно обнуляет веса модели в процессе обучения, чтобы добиться разреженности модели. Разреженные модели легче сжимать, и мы можем пропустить нули во время вывода для уменьшения задержки.
Этот метод приносит улучшения за счет сжатия модели. В будущем фреймворк, поддерживающий этот метод, улучшит задержку. Мы наблюдали до 6-кратного улучшения сжатия моделей с минимальной потерей точности.
Этот метод оценивается в различных речевых приложениях, таких как распознавание речи и преобразование текста в речь, и были проведены эксперименты с различными моделями зрения и перевода.
Матрица совместимости API
Пользователи могут применять обрезку с помощью следующих API:
- Построение модели:
tf.keras
только с последовательной и функциональной моделями - Версии TensorFlow: TF 1.x для версий 1.14+ и 2.x.
-
tf.compat.v1
с пакетом TF 2.X иtf.compat.v2
с пакетом TF 1.X не поддерживаются.
-
- Режим выполнения TensorFlow: как граф, так и нетерпеливый
- Распределенное обучение:
tf.distribute
только с выполнением графа
В наши планы входит добавление поддержки в следующих областях:
Полученные результаты
Классификация изображений
Модель | Неразреженная точность Top-1 | Случайная разреженная точность | Случайная разреженность | Структурированная разреженная точность | Структурированная разреженность |
---|---|---|---|---|---|
НачалоV3 | 78,1% | 78,0% | 50% | 75,8% | 2 на 4 |
76,1% | 75% | ||||
74,6% | 87,5% | ||||
Мобильная сетьV1 224 | 71,04% | 70,84% | 50% | 67,35% | 2 на 4 |
МобайлнетВ2 224 | 71,77% | 69,64% | 50% | 66,75% | 2 на 4 |
Модели были протестированы на Imagenet.
Перевод
Модель | Неразреженный BLEU | Разреженный СИНИЙ | Разреженность |
---|---|---|---|
GNMT EN-DE | 26,77 | 26,86 | 80% |
26.52 | 85% | ||
26.19 | 90% | ||
GNMT DE-EN | 29.47 | 29.50 | 80% |
29.24 | 85% | ||
28,81 | 90% |
В моделях используется набор данных WMT16 на немецком и английском языках, где news-test2013 используется в качестве набора для разработки, а news-test2015 — в качестве тестового набора.
Модель обнаружения ключевых слов
DS-CNN-L — это модель обнаружения ключевых слов, созданная для периферийных устройств. Его можно найти в репозитории примеров программного обеспечения ARM.
Модель | Неразреженная точность | Структурированная разреженная точность (шаблон 2 на 4) | Случайная разреженная точность (целевая разреженность 50%) |
---|---|---|---|
DS-CNN-L | 95,23 | 94,33 | 94,84 |
Примеры
В дополнение к руководству по сокращению с помощью Keras см. следующие примеры:
- Обучите модель CNN задаче классификации рукописных цифр MNIST с обрезкой: код
- Обучите LSTM задаче классификации настроений IMDB с обрезкой: код
Справочную информацию см. в разделе Сокращать или не сокращать: изучение эффективности сокращения для сжатия модели [ бумага ].