本番環境 ML システム: 静的推論と動的推論

推論は、推論が トレーニング済みモデルを適用して予測を行う ラベルなしのサンプル。 大まかに言うと、モデルは次の 2 つの方法のいずれかで予測を推測できます。

  • 静的推論(オフライン推論または バッチ推論など)とは、モデルが大量の画像に対して予測を行う 一般的なラベルなしのサンプル 予測をどこかにキャッシュします
  • 動的推論(オンライン推論またはリアルタイム推論とも呼ばれます) 推論など)は、モデルがオンデマンドでのみ予測を行うことを意味します。 たとえば、クライアントが予測をリクエストしたときなどです。

極端な例を挙げてみます。 予測を推定するのに 1 時間かかります これはおそらく、静的な推論に最適な状況です。

図 4. 静的推論では、モデルが予測を生成し、
            そしてサーバー上のキャッシュに保存されます
図 4. 静的推論では、モデルが予測を生成し、 そしてサーバー上のキャッシュに保存されます

 

この同じ複雑なモデルで、誤って動的推論を 静的推論について説明します。多数のクライアントがほぼ同時に予測をリクエストした場合、 そのほとんどは数時間や数日で予測を受信しません

今度は、2 ミリ秒以内に高速に推論できるモデルについて 計算リソースの相対最小値この場合、お客様は 動的推論を通じて迅速かつ効率的に予測を受け取り、 推奨されません

図 5. 動的推論では、モデルはさまざまな要素に
            提供します
図 5. 動的推論では、モデルはオンデマンドで予測を推測します。

 

静的推論

静的推論にはメリットとデメリットがあります。

メリット

  • 推論の費用をそれほど気にする必要はありません。
  • push の前に予測の事後検証を行うことができます。

デメリット

  • キャッシュに保存された予測しか提供できないため、システムが 一般的ではない入力例に対する予測を提供できるからです。
  • 更新のレイテンシは数時間または数日で測定される傾向があります。

動的推論

動的推論にはメリットとデメリットがあります。

メリット

  • 新しいアイテムが入力されたときに予測を推測できます。 ロングテール(あまり一般的ではない)予測に最適です。

デメリット

  • コンピューティング負荷が高く、レイテンシの影響を受けやすい。この組み合わせにより、モデルが制限される可能性があります。 複雑さつまり、よりシンプルなモデルを作成して、 複雑なモデルよりも迅速に予測を推測できます。
  • モニタリングのニーズは厳しくなっています。

演習:理解度をチェックする

次の 4 つの記述のうち、正しいものを 3 つ選択してください。 真実はどうでしょうか
モデルは、可能性のあるすべての入力に対して予測を作成する必要があります。
はい。モデルは可能性のあるすべての入力に対して予測を行い、 キャッシュまたはルックアップテーブルに保存できます モデルが予測する一連の要素が限られている場合、 静的推論が適しています ただし、ユーザークエリのような自由形式の入力では、 静的推論では予測できない すべての記事が表示されます。
システムが推論した予測をサービングする前に検証できる できます。
はい。これは静的推論の便利な機能です。
特定の入力に対する、モデルはより迅速に予測を提供できる 動的推論よりも効率的です
はい。静的推論はほとんどの場合、より迅速に予測を提供できる 動的推論よりも効率的です
世界の変化にすばやく対応できます。
いいえ。これは静的推論のデメリットです。
次の記述のうちいずれかはどれですか? どうすればよいでしょうか
候補となるすべてのアイテムに対して予測を提供できます。
はい。これは動的推論の強みです。特定のリクエストを スコアが付与されます動的推論がロングテールを処理 分布(レアアイテムが多く存在するもの)を 映画のレビューで書かれた 文章の候補を検出しました
予測の事後検証は、実際に実行される前に行うことができます。 使用されます。
一般に、すべてのケースについて事後検証を行うことは 使用される前に予測をすることになるため、 提供しますただし、Google Cloud の 集約予測品質を提供することで、ある程度の 火災の警報が発せられるのは、 火はすでに広がっています。
動的推論を実行する場合、 予測レイテンシ(予測を返すまでの遅延時間)について 静的推論の場合とほぼ同じです
動的推論では多くの場合、予測レイテンシが大きな懸念事項となります。 残念ながら、予測レイテンシの問題を必ずしも修正することは 推論サーバーを追加できます