導入
TensorFlow ランタイムには遅延初期化されるコンポーネントがあり、モデルがロードされた後にモデルに送信される最初のリクエストで長いレイテンシが発生する可能性があります。この待ち時間は、単一の推論リクエストの待ち時間よりも数桁大きくなる可能性があります。
リクエストの遅延に対する遅延初期化の影響を軽減するために、SavedModel とともに推論リクエストのサンプル セットを提供することで、モデルの読み込み時にサブシステムとコンポーネントの初期化をトリガーすることができます。このプロセスは、モデルの「ウォームアップ」として知られています。
使用法
SavedModel Warmup は、Regress、Classify、MultiInference、Predict でサポートされています。ロード時にモデルのウォームアップをトリガーするには、SavedModel ディレクトリのassets.extra サブフォルダーの下にウォームアップ データ ファイルを添付します。
モデルのウォームアップが正しく機能するための要件:
- ウォームアップ ファイル名: 'tf_serving_warmup_requests'
- ファイルの場所:assets.extra/
- ファイル形式: 各レコードがPredictionLogであるTFRecord 。
- ウォームアップ レコードの数 <= 1000。
- ウォームアップ データは、サービス提供時に使用される推論リクエストを表すものでなければなりません。
ウォームアップデータの生成
ウォームアップ データは 2 つの方法で追加できます。
- エクスポートされた保存モデルにウォームアップ リクエストを直接入力します。これは、サンプル推論リクエストのリストを読み取るスクリプトを作成し、各リクエストをPredictionLog (元の形式が異なる場合) に変換し、 TFRecordWriterを使用して PredictionLog エントリを
YourSavedModel/assets.extra/tf_serving_warmup_requests
に書き込むことで実行できます。 - TFX Infra Validatorオプションを使用して、保存されたモデルをウォームアップとともにエクスポートします。このオプションを使用すると、TFX Infa Validator は、 RequestSpec経由で提供された検証リクエストに基づいて
YourSavedModel/assets.extra/tf_serving_warmup_requests
を設定します。