プッシャー 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 リファレンスを参照してください。