introduzione
Il runtime TensorFlow ha componenti che vengono inizializzati in modo lento, il che può causare un'elevata latenza per le prime richieste inviate a un modello dopo il suo caricamento. Questa latenza può essere di diversi ordini di grandezza superiore a quella di una singola richiesta di inferenza.
Per ridurre l'impatto dell'inizializzazione lenta sulla latenza delle richieste, è possibile attivare l'inizializzazione dei sottosistemi e dei componenti al momento del caricamento del modello fornendo un set campione di richieste di inferenza insieme a SavedModel. Questo processo è noto come "riscaldamento" del modello.
Utilizzo
Il riscaldamento SavedModel è supportato per Regress, Classify, MultiInference e Predict. Per attivare il riscaldamento del modello al momento del caricamento, allega un file di dati di riscaldamento nella sottocartella asset.extra della directory SavedModel.
Requisiti affinché il riscaldamento del modello funzioni correttamente:
- Nome file di riscaldamento: "tf_serving_warmup_requests"
- Posizione del file: asset.extra/
- Formato file: TFRecord con ciascun record come PredictionLog .
- Numero di record di riscaldamento <= 1000.
- I dati di riscaldamento devono essere rappresentativi delle richieste di inferenza utilizzate durante la pubblicazione.
Generazione dei dati di riscaldamento
I dati di riscaldamento possono essere aggiunti in due modi:
- Compilando direttamente le richieste di riscaldamento nel modello salvato esportato. Questa operazione può essere eseguita creando uno script che legge un elenco di richieste di inferenza di esempio, convertendo ciascuna richiesta in PredictionLog (se è originariamente in un formato diverso) e utilizzando TFRecordWriter per scrivere le voci PredictionLog in
YourSavedModel/assets.extra/tf_serving_warmup_requests
. - Utilizzando l'opzione TFX Infra Validator per esportare un modello salvato con il riscaldamento . Con questa opzione il TFX Infa Validator popolerà
YourSavedModel/assets.extra/tf_serving_warmup_requests
in base alle richieste di convalida fornite tramite RequestSpec .