08

5:06 - 5:23

代表的なエンドツーエンド例

ここから話は、簡略化した、しかし本番を代表する一つの例に移ります。目的は、画像を受け取ってから、その結果を公開した後のフィードバックまでを、一つの流れとして見ることです。

これは本番システムのすべての部品を示す図ではありません。話し手が示すのは、仕組みを理解するための学習用の抽象化です。したがって、ここに出てこない本番の部品や実装の細部が存在しない、という意味ではありません。

この代表的な流れでは、まず画像を理解して、どの処理に送るかを決めます。次に、必要な画像だけを改善します。その後、品質を確認し、公開できるかを判断します。公開後は、結果や利用から得たフィードバックを、次の調整に使います。

最初の段階は**ルーティング(routing)**です。システムは画像を見て、その画像に改善が必要か、元のままにするかを判断します。ここで大切なのは、すべての画像を同じ高価な処理に送らないことです。画像ごとに適切な道を選ぶので、改善の必要がない画像はそのまま残せます。

改善が必要な画像は、**エンハンスメント(enhancement)**の段階に進みます。ここでは、画像の内容に合わせて画像を改善します。つまり、固定された一つの処理を全画像に適用するのではなく、その画像に必要な処理を選ぶ、という考え方です。

改善結果は、**品質保証(QA)**で確認します。ここでは、改善した画像が目的に合っているかを調べます。QAを通らない結果は、そのまま公開するのではなく、前の段階に戻して見直せるようにします。

QAの結果が受け入れられるものであれば、画像を公開する段階に進みます。ここでの公開は、単に画像を生成できたという意味ではありません。本番の利用者に見せても安全かどうかを、システム全体として確認したうえで行う判断です。

公開後には、評価結果や実際の利用からフィードバックが戻ってきます。そのフィードバックは、どの段階に問題があったかを考え、次の設定や処理を調整するために使われます。このように、処理の周りに継続的な学習ループを置きます。

として、一枚の料理写真を考えます。ルーターが「改善するとよい」と判断したら、画像を改善し、QAで結果を確認します。問題があれば改善をやり直し、問題がなければ公開します。その後、実際の利用で得たフィードバックが、次回のルーティングや改善方法の調整に戻ります。これは説明のための例であり、話し手が示した特定の実装例ではありません。

直線的なパイプラインなら、流れは「ルーティング → 改善 → QA → 公開」で終わります。閉ループ(closed loop)では、QAや公開後のフィードバックが前の段階へ戻ります。そのため、システムは一度処理して終わるのではなく、観測した問題を次の処理に反映できます。

この例を読むときは、二つの評価を分けて考えてください。一つは、各段階が正しく動いたかという段階ごとの正しさです。もう一つは、最終結果を安全に公開できるかというエンドツーエンド(end-to-end)の安全性です。前者を満たしても、後者を自動的に満たすとは限りません。

なお、この例が実際の本番システムとどこまで同じ構成なのかは、話の中では指定されていません。ここで確実に言えるのは、ルーティング、改善、QA、公開、フィードバックという順序と、それらを継続的なループで結ぶという考え方です。次の説明では、この流れの各段階と、その周囲の評価ループを順に詳しく見ていきます。

100% スペースキーとドラッグで移動 | Ctrl/Cmdとホイールで拡大縮小