9章デプロイオプションの選択

前の章では、製品のアイデアからMLの実装に至るプロセスと、それをデプロイする準備が整うまでアプリケーションを反復処理する方法について説明しました。

この章では、さまざまなデプロイの選択肢と、それぞれの間のトレードオフについて説明します。デプロイアプローチには、それぞれ適した要件があります。どれを選択するか検討する際には、レイテンシー、ハードウェアおよびネットワーク要件、プライバシー、コスト、複雑さの問題などの複数の要素を考慮する必要があります。

モデルをデプロイするのは、ユーザに対してモデルを公開するためです。ここでは、目的を達成するための一般的なアプローチに加え、モデルをデプロイする際のアプローチを決定するためのヒントを説明します。

最も簡単にモデルをデプロイして予測を提供する、Webサーバを起動する方法から始めます。

9.1 サーバサイドデプロイ

サーバサイドデプロイでは、クライアントからのリクエストを受け入れ、推論パイプラインを実行して結果を返すWebサーバを構成します。この場合、モデルをアプリケーションのエンドポイントとして扱うので、Webの開発方法論に適合します。ユーザはこのエンドポイントにリクエストを送り、結果を待ちます。

サーバサイドモデルには、ストリーミングとバッチという2つの一般的な処理形式があります。ストリーミングでは、リクエストをすぐに処理します。バッチは実行頻度が低く、一度に多数のリクエストを処理します。まずはストリーミングを見てみましょう。

9.1.1 ストリーミングアプリケーションとAPI

ストリーミングアプローチでは、ユーザがリクエストを送信するエンドポイントとしてモデルを考えます。ここでユーザとは、アプリケーションのエンドユーザであったり、モデルの予測に依存する内部サービスであったりします。例えば、Webサイトのトラフィックを予測するモデルは、予測されたユーザの量に合わせてサーバ数を調整する内部サービスによって使用されます。 ...

Get 機械学習による実用アプリケーション構築 ―事例を通じて学ぶ、設計から本番稼働までのプロセス 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.