5章対応性のある運用のパターン
機械学習モデルの目的は、訓練データに含まれない未知のデータに対して正しく推論することです。そのため、一旦訓練を終えたモデルは、本番環境へのデプロイ後、現場のリクエストに応じて適切な予測結果を出力し続けなければなりません。こうした本番環境向けのソフトウェアは、対応性(resilience)、つまり人の手をほとんどかけずに動作し続けることが望ましいのは言うまでもありません。本章で紹介するデザインパターンは、本番環境の機械学習モデルがさまざまな状況で直面する対応性や回復性に関する問題を解決するのに役立ちます。
ステートレスサービング関数パターンは、運用基盤に1秒あたり数千件から数百万件の予測リクエストがあったとしても処理できるほどのスケーラビリティを提供します。バッチサービングパターンは、運用基盤が不定期または定期的に受け取る数百万件から数十億件の予測リクエストを非同期的に処理できるようにします。これらのパターンは、対応性のみならず、機械学習モデルの開発者とユーザとの間の結合関係(coupling)を弱める観点からも有用です。
継続的モデル評価パターンは、デプロイしたモデルが劣化してすでに目的を果たせなくなっているときに、それを検知し対応するものです。2段階予測パターンは、モデルを分散型デバイスにデプロイしなければならないときでも、モデル本来の機能や性能を維持できるようにします。キー付き予測パターンは、本章で説明するデザインパターンのいくつかをスケーラブルに実装するために必要です。
5.1 デザインパターン16:ステートレスサービング関数(Stateless Serving Function)
ステートレスサービング関数パターンは、本番の機械学習システムが受け取る1秒あたり数千件から数百万件の予測リクエストを同期処理できるようにします。このパターンに基づいた本番機械学習システムは、訓練済みモデルのアーキテクチャや重みをステートレス関数(stateless ...
Get 機械学習デザインパターン ―データ準備、モデル構築、MLOpsの実践上の問題と解決 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.