Evaluator TFX パイプラインコンポーネント
Evaluator TFX パイプラインコンポーネントは、モデルのトレーニングの結果を綿密に分析し、データのサブセットでモデルがどのようなパフォーマンスを示すかを理解しやすくするコンポーネントです。Evaluator はエクスポートされたモデルを検証することができるため、本番にプッシュする上で「十分な質」を備えていることを保証することができます。
検証が有効である場合、Evaluator は新しいモデルをベースライン(現在のサービングモデルなど)に比較して、ベースラインに比べて「十分に良い」かどうかを判断します。これには、両方のモデルを eval データセットで評価し、メトリクス(AUC、損失など)でそれらのパフォーマンスを計算するプロセスが伴います。新しいモデルのメトリクスがベースラインモデルと比較して開発者が指定する基準を満たしている場合(AUC がより低くないなど)、そのモデルは「blessed」であるため(良としてマークされるため)、プッシャーにモデルを本番にプッシュしてよいことが示されます。
入力:
ExampleGen の eval split
トレーナーから得るトレーニング済みのモデル
以前の blessed モデル(検証が実行される場合)
出力:
Evaluator と TensorFlow Model Analysis
Evaluator は TensorFlow Model Analysis ライブラリを利用して分析を実行する代わりに、Apache Beam を使用してスケーラブルな処理を行います。
Evaluator コンポーネントを使用する
通常 Evaluator パイプラインコンポーネントは非常にデプロイしやすく、ほとんどカスタマイズする必要がありません。大部分の作業は Evaluator TFX コンポーネントが実行します。
Evaluator をセットアップするには、次の情報が必要となります。
構成するメトリクス(モデルと保存されている以外のメトリクスを追加する必要がある場合のみ)。詳細は、Tensorflow Model Analysis のメトリクスをご覧ください。
構成するスライス(スライスが指定されていない場合は、デフォルトで「overall」スライスが追加されます)。詳細は、Tensorflow Model Analysis のセットアップをご覧ください。
検証が含まれる場合は、次の追加情報が必要になります。
比較対象のモデル(latest blessed など)
検証するモデル検証(しきい値)。詳細は、Tensorflow Model Analysis モデル検証をご覧ください。
検証は有効である場合に定義されているすべてのメトリクスとスライスに対して実施されます。
次は、典型的なコードです。
Evaluator は EvalResult(および検証が使用されている場合はオプションとして ValidationResult)を生成するため、TFMA を使用して読み込むことができます。以下に、結果を Jupyter ノートブックに読み込む例を示します。
詳細については、Evaluator API リファレンスをご覧ください。