Cette page a été traduite par l'API Cloud Translation.
Switch to English

Quantification formation au courant

Géré par tensorflow modèle d' optimisation

Il existe deux formes de quantification: quantification post-formation et quantification formation au courant. Commencez par quantification post-formation car il est plus facile à utiliser, mais est souvent une meilleure formation au courant de quantification pour la précision du modèle.

Cette page donne un aperçu sur la formation au courant de quantification pour vous aider à déterminer la façon dont il est adapté à votre cas d'utilisation.

Aperçu

Quantification formation conscient émule la quantification du temps d'inférence, la création d'un modèle que les outils en aval utiliseront pour produire des modèles réellement quantifiés. Les modèles utilisent précision quantifiées plus faible (par exemple 8 bits au lieu de 32 bits virgule flottante), ce qui conduit à des prestations au cours du déploiement.

Déploiement avec quantification

Quantification apporte des améliorations par compression modèle et la réduction de latence. Avec les paramètres par défaut de l'API, la taille du modèle 4x, par psy et on voit généralement entre 1,5 - 4 x amélioration de la latence du CPU dans les backends testées. Par la suite, des améliorations de latence peuvent être vus sur les accélérateurs d'apprentissage machine compatibles, tels que le EdgeTPU et NNAPI.

La technique est utilisée dans la production de la parole, de la vision, du texte et traduire les cas d'utilisation. Le code prend actuellement en charge un sous - ensemble de ces modèles .

Expérience avec la quantification et le matériel associé

Les utilisateurs peuvent configurer les paramètres de quantification (par exemple nombre de bits) et dans une certaine mesure, les algorithmes sous-jacents. Avec ces changements des paramètres par défaut de l'API, il n'y a pas de chemin pris en charge le déploiement.

API spécifiques à cette configuration sont expérimentales et non soumis à la rétrocompatibilité.

Compatibilité API

Les utilisateurs peuvent appliquer une quantification avec les API suivantes:

  • Bâtiment Modèle: tf.keras avec seulement séquentielle et modèles fonctionnels.
  • versions tensorflow: TF 2.x pour tf-nuit.
    • tf.compat.v1 avec un paquet TF 2.X est pas pris en charge.
  • Tensorflow mode d'exécution: exécution désireux

Il est sur notre feuille de route pour ajouter le support dans les domaines suivants:

  • bâtiment Modèle: préciser la façon dont les modèles ont limité subclassed pas de soutien
  • Formation répartie: tf.distribute

matrice de support général

Le support est disponible dans les domaines suivants:

  • Couverture du modèle: les modèles en utilisant des couches de la Concat liste blanche , BatchNormalization quand il suit des couches Conv2D et DepthwiseConv2D, et dans des cas limités, Concat .
  • Accélération matérielle: nos valeurs par défaut de l'API sont compatibles avec une accélération sur EdgeTPU, NNAPI et backends TFLite, entre autres. Voir la mise en garde dans la feuille de route.
  • Déployer avec quantification: seulement par l'axe de quantification pour les couches convolutifs, non par tenseur quantification, est actuellement pris en charge.

Il est sur notre feuille de route pour ajouter le support dans les domaines suivants:

  • Couverture Modèle: étendue pour inclure RNN / LSTMs et le soutien concat général.
  • Accélération matérielle: assurer le convertisseur TFLite peut produire des modèles entiers complet. Voir cette question pour plus de détails.
  • Expérimentez avec des cas d'utilisation de quantification:
    • Expérimentez avec des algorithmes de quantification que les couches durée KERAS ou exiger l'étape de formation.
    • Stabiliser API.

Résultats

Classification des images avec des outils

Modèle Non-1 Top quantifiée Précision 8-bits quantifié Précision
MobilenetV1 224 71,03% 71,06%
Resnet v1 50 76,3% 76,1%
MobilenetV2 224 70,77% 70,01%

Les modèles ont été testés sur IMAGEnet et évalués dans les deux tensorflow et TFLite.

Classification des images pour la technique

Modèle Non-1 Top quantifiée Précision 8-bits quantifié Précision
Nasnet-Mobile 74% 73%
Resnet-v2 50 75,6% 75%

Les modèles ont été testés sur IMAGEnet et évalués dans les deux tensorflow et TFLite.

Exemples

En plus de l' exemple de formation au courant de quantification , voir les exemples suivants:

  • Modèle CNN sur la tâche de classification des chiffres manuscrits MNIST avec quantification: Code

Pour des informations sur quelque chose de similaire, voir le Quantification et la formation des réseaux de neurones pour l' efficacité Integer-Arithmétique seule Inference papier . Cet article présente quelques concepts que cette utilisation de l'outil. La mise en œuvre ne sont pas exactement les mêmes, et il y a d'autres concepts utilisés dans cet outil (par exemple de quantification par axe).