Calentamiento del modelo guardado

Introducción

El tiempo de ejecución de TensorFlow tiene componentes que se inicializan de forma diferida, lo que puede causar una alta latencia para las primeras solicitudes enviadas a un modelo después de que se carga. Esta latencia puede ser varios órdenes de magnitud mayor que la de una única solicitud de inferencia.

Para reducir el impacto de la inicialización diferida en la latencia de las solicitudes, es posible activar la inicialización de los subsistemas y componentes en el momento de la carga del modelo proporcionando un conjunto de muestra de solicitudes de inferencia junto con el modelo guardado. Este proceso se conoce como "calentamiento" del modelo.

Uso

El calentamiento de SavedModel es compatible con Regress, Classify, MultiInference y Predict. Para activar el calentamiento del modelo en el momento de la carga, adjunte un archivo de datos de calentamiento en la subcarpeta activos.extra del directorio SavedModel.

Requisitos para que el calentamiento del modelo funcione correctamente:

  • Nombre del archivo de calentamiento: 'tf_serving_warmup_requests'
  • Ubicación del archivo: activos.extra/
  • Formato de archivo: TFRecord con cada registro como PredictionLog .
  • Número de registros de calentamiento <= 1000.
  • Los datos del calentamiento deben ser representativos de las solicitudes de inferencia utilizadas en el saque.

Generación de datos de calentamiento

Los datos de calentamiento se pueden agregar de dos maneras:

  • Completando directamente las solicitudes de calentamiento en su modelo guardado exportado. Esto se podría hacer creando un script que lea una lista de solicitudes de inferencia de muestra, convirtiendo cada solicitud en PredictionLog (si originalmente está en un formato diferente) y usando TFRecordWriter para escribir las entradas de PredictionLog en YourSavedModel/assets.extra/tf_serving_warmup_requests .
  • Utilizando la opción TFX Infra Validator para exportar un modelo guardado con calentamiento . Con esta opción, TFX Infa Validator completará YourSavedModel/assets.extra/tf_serving_warmup_requests en función de las solicitudes de validación proporcionadas a través de RequestSpec .