プッシャー TFX パイプライン コンポーネント

Pusher コンポーネントは、モデルのトレーニングまたは再トレーニング中に検証済みのモデルをデプロイメント ターゲットにプッシュするために使用されます。デプロイメントの前に、プッシャーは他の検証コンポーネントからの 1 つ以上の祝福に依存して、モデルをプッシュするかどうかを決定します。

  • 新しいトレーニング済みモデルが運用環境にプッシュするのに「十分に優れている」場合、評価者はモデルを祝福します。
  • (オプションですが推奨) モデルが運用環境で機械的に使用可能な場合、 InfraValidator はモデルを祝福します。

Pusher コンポーネントは、 SavedModel形式でトレーニングされたモデルを使用し、バージョン管理メタデータとともに同じ SavedModel を生成します。

プッシャーコンポーネントの使用

すべての作業が Pusher TFX コンポーネントによって実行されるため、Pusher パイプライン コンポーネントは通常、展開が非常に簡単で、カスタマイズもほとんど必要ありません。典型的なコードは次のようになります。

pusher = Pusher(
  model
=trainer.outputs['model'],
  model_blessing
=evaluator.outputs['blessing'],
  infra_blessing
=infra_validator.outputs['blessing'],
  push_destination
=tfx.proto.PushDestination(
    filesystem
=tfx.proto.PushDestination.Filesystem(
        base_directory
=serving_model_dir)
 
)
)

InfraValidator から生成されたモデルをプッシュします。

(バージョン0.30.0以降)

InfraValidator は、ウォームアップを含むモデルを含むInfraBlessingアーティファクトを生成することもでき、Pusher はModelアーティファクトと同様にそれをプッシュできます。

infra_validator = InfraValidator(
   
...,
   
# make_warmup=True will produce a model with warmup requests in its
   
# 'blessing' output.
    request_spec
=tfx.proto.RequestSpec(..., make_warmup=True)
)

pusher
= Pusher(
   
# Push model from 'infra_blessing' input.
    infra_blessing
=infra_validator.outputs['blessing'],
    push_destination
=tfx.proto.PushDestination(...)
)

詳細については、プッシャー API リファレンスを参照してください。