9章TensorFlow Servingを使った高度なモデルデプロイ
前章では、TensorFlow/KerasのモデルをTensorFlow Servingで効率的にデプロイする方法について説明しました。モデルのデプロイとTensorFlow Servingの設定について基本的な知識はすでにあるので、本章ではモデルデプロイの高度なユースケースを紹介します。紹介するユースケースでは、デプロイするモデルのA/Bテスト、デプロイとスケーリングのためのモデル最適化、モデルデプロイの監視など、さまざまなトピックに触れています。前章では本章の基礎となる内容を解説しているので、可能なら復習しておきましょう。
9.1 デプロイサイクルの分離
「8章 TensorFlow Servingを用いたモデルのデプロイ」で示した基本的なデプロイはうまく機能しますが、制約が1つあります。それは前章で説明したように、学習・検証されたモデルは、ビルド時にデプロイ用のコンテナイメージへ含めるか、コンテナ実行時にコンテナへマウントする必要がある点です。どちらを選んでも、DevOpsプロセスの知識(Dockerコンテナイメージの更新など)か、新バージョンのモデルをデプロイする段階で、データサイエンスチームとDevOpsチーム間の調整が必要になります。
「8章 TensorFlow Servingを用いたモデルのデプロイ」で簡単に触れたとおり、TensorFlow Servingはリモートストレージドライブ(AWS S3やGCP Storageバケットなど)からモデルを読み込めます。TensorFlow Servingの標準的なローダーのポリシーでは、モデルの格納された場所を頻繁にポーリングし、以前に読み込まれたモデルを解放し、新しく検出されたモデルを読み込みます。結果として、モデルを提供するコンテナは一度だけデプロイすれば済み、モデルの格納された場所で新バージョンのモデルが利用可能になると、バージョンを継続的に更新します。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access