Échauffement du modèle enregistré

Introduction

Le runtime TensorFlow comporte des composants qui sont initialisés paresseusement, ce qui peut entraîner une latence élevée pour la ou les premières requêtes envoyées à un modèle après son chargement. Cette latence peut être plusieurs fois supérieure à celle d’une seule demande d’inférence.

Pour réduire l'impact de l'initialisation paresseuse sur la latence des requêtes, il est possible de déclencher l'initialisation des sous-systèmes et des composants au moment du chargement du modèle en fournissant un exemple d'ensemble de requêtes d'inférence avec le SavedModel. Ce processus est appelé « échauffement » du modèle.

Usage

SavedModel Warmup est pris en charge pour Regress, Classify, MultiInference et Predict. Pour déclencher le préchauffage du modèle au moment du chargement, joignez un fichier de données de préchauffage dans le sous-dossier assets.extra du répertoire SavedModel.

Conditions requises pour que le préchauffage du modèle fonctionne correctement :

  • Nom du fichier d'échauffement : 'tf_serving_warmup_requests'
  • Emplacement du fichier : assets.extra/
  • Format de fichier : TFRecord avec chaque enregistrement sous forme de PredictionLog .
  • Nombre d'enregistrements d'échauffement <= 1000.
  • Les données d'échauffement doivent être représentatives des demandes d'inférence utilisées lors de la diffusion.

Génération de données d'échauffement

Les données d'échauffement peuvent être ajoutées de deux manières :

  • En remplissant directement les demandes de préchauffage dans votre modèle enregistré exporté. Cela pourrait être fait en créant un script lisant une liste d'exemples de demandes d'inférence, en convertissant chaque demande en PredictionLog (si elle est à l'origine dans un format différent) et en utilisant TFRecordWriter pour écrire les entrées PredictionLog dans YourSavedModel/assets.extra/tf_serving_warmup_requests .
  • En utilisant l'option TFX Infra Validator pour exporter un modèle enregistré avec échauffement . Avec cette option, le TFX Infa Validator remplira YourSavedModel/assets.extra/tf_serving_warmup_requests en fonction des demandes de validation fournies via RequestSpec .