コンテンツに移動
DevOps & SRE

MLOps パイプラインで ML システムを最適化するための SRE ガイド

2025年3月12日
Max Saltonstall

Developer Relations Engineer, Google

Salim Virji

Technical Program Manager, Google

※この投稿は米国時間 2025 年 2 月 21 日に、Google Cloud blog に投稿されたものの抄訳です。

想像してみてください。あなたは、会社の機械学習(ML)サービスを支えるシステムの責任を負うサイト信頼性エンジニア(SRE)です。信頼性のある ML サービスを確保するために何をすべきでしょうか。自分がうまくやっているかを知るにはどうすればよいでしょうか。そしてこれらのサービスをサポートする強固なシステムをどのように構築しますか。

AI が広く普及するにつれて、その機能、特に ML は SRE にとってますます重要になってきます。それは ML が生産ソフトウェア システムで使用されるインフラストラクチャの一部であると同時に、ソフトウェア自体の重要な機能にもなるからです。

抽象的には、ML はそのパイプラインに依存しています。そしてあなたはすでにその管理方法を知っています。まずはパイプラインの管理から始め、その後、ML サービスを強化するための他の要素、トレーニング、モデルの新鮮さ、そして効率性などに目を向けていきます。以下のリソースでは、これらのパイプラインが持つ ML 特有の性質を、運用で考慮すべきポイントとして見ていきます。そして、Google の SRE の経験を活かして、コアとなる SRE スキルをどのように ML パイプラインの運用、管理に適用するかをお伝えします。

ML モデルのトレーニング

ML モデルのトレーニングは、特定のタイプのデータにパイプラインの概念を適用し、しばしば特殊なハードウェアで実行されます。パイプラインに関して考慮すべき重要な側面は以下のとおりです。

  • どれくらいのデータを取り込んでいるか

  • データがどれくらい新鮮でなければいけないか

  • システムがどのようにモデルをトレーニングしデプロイするのか

  • システムが上記の 3 つの要素をどれほど効率的に処理しているか

https://storage.googleapis.com/gweb-cloudblog-publish/images/maxresdefault_Fw6QEDC.max-1300x1300.jpg

この基調講演では、ML システムのコンポーネントに信頼性の原則を適用する価値について、SRE の視点を紹介します。ML システムが製品にとってなぜ重要であり、SRE がそれらについてどのように考えるべきかについての洞察を提供します。ML システムが抱える課題には、キャパシティ計画、リソース管理、モニタリングが含まれます。また、ML システムのコストを全体の運用環境の一部として把握することも課題の一つです。

ML の新鮮さとデータ量

あらゆるパイプライン ベースのシステムと同様、こうしたシステムを理解するうえで大きい比重を占めるのは、通常どれくらいのデータを取り込み、処理するかを把握することです。SRE ワークブックのデータ処理パイプラインの章では、パイプラインの運用を自動化することでレジリエンスを持たせ、無人で運用できるようにするという、基本的な考え方を示しています。

パイプラインの健全性を測定するために、特にデータの新鮮さ(モデルが顧客への推論を行うために使用しているデータがどれほど最近取得されたか)に関して、サービスレベル目標(SLO)の設定が重要です。新鮮さを把握することは、ML システムの健全性を測るための重要な指標となります。データが古くなると、推論の質が低下し、ユーザーにとって最適でない結果を生む可能性があるからです。例えば、天気予報システムのように、データが非常に新鮮である必要がある場合(数分前や数秒前のものなど)、またはスペルチェッカーのように、数日、あるいはそれ以上の遅延を許容する場合もあります。新鮮さの要件は製品によって異なるため、何を構築しているのか、そしてその使用方法がどのように期待されているのかを把握することが重要です。

このように、新鮮さは SRE ワークブックで詳述されているクリティカル ユーザー ジャーニーの一部であり、カスタマー エクスペリエンスの 1 つの側面を示しています。パイプライン システムのコンポーネントとしてのデータの新鮮さについては、Google SRE の記事 Reliable Data Processing with Minimal Toil でご覧いただけます。

高品質なデータを確保するためには新鮮さだけではなく、モデル トレーニング パイプラインの定義方法も重要です。A Brief Guide To Running ML Systems in Production では、この分野の基本的な要素を紹介しており、コンテキスト指標を使用して新鮮さやスループットを把握する方法、入力データの品質を把握するための手法についても触れています。

提供効率

2021 年の SRE のブログ投稿、Efficient Machine Learning Inference は、本番環境におけるモデルのパフォーマンスを改善する方法について学ぶための貴重なリソースです。(そして、ML サービスにおいて、トレーニングと本番環境は決して同じではないことを忘れないでください!)

ML の推論提供を最適化することは、実際の運用で非常に重要です。この記事では、共有 VM からのマルチモデル提供について書かれています。現実的なユースケースをカバーし、コスト、利用率、モデル応答レイテンシの間におけるトレードオフをどのように管理するかについて説明しています。モデルの VM への割り当てを変更し、プロセッサ、GPU、RAM のサイズと種別を変えることにより、モデル提供のコスト効率を改善できます。

費用対効果

これらの AI パイプラインがしばしば特殊なハードウェアに依存していることに触れました。では、そのハードウェアを効率的に使用しているかどうかをどのように確認するのでしょうか。SREcon EMEA 2023 での Todd Underwood の講演、Artificial Intelligence: What Will It Cost You? では、この特殊なハードウェアを運用するコストがどれくらいか、そして効率的に使用するためのインセンティブを提供する方法について理解することができます。 

スケールのための自動化

この Google SRE チームの記事では、手作業やトイルを最小限に抑えつつ、信頼性の高いデータ処理を確保するための戦略を説明しています。重要なポイントの一つは、パイプラインに可能な限り既存の標準プラットフォームを使用することです。結局のところ、ビジネス目標はデータと ML モデルの提供に関する革新に集中すべきであり、パイプライン自体に関するものではありません。この記事では、自動化、モニタリング、インシデント対応について説明し、これらの概念を使用してレジリエンスのあるデータ パイプラインを構築する方法に焦点を当てています。失敗をスムーズに処理できるデータシステムを設計し、チームの運用負担を軽減するためのベスト プラクティスを紹介しています。この記事は、データ エンジニアリングや運用に関わるすべての人にとって必読の資料です。トイルの詳細については、SRE ワークブック(https://sre.google/workbook/eliminating-toil/)でご覧いただけます。

次のステップ

成功する ML デプロイメントには、システムが信頼性が高く持続可能であるための慎重な管理とモニタリングが必要です。つまり、データ パイプライン、トレーニング経路、モデル管理、検証といった要素を、モニタリングや精度の指標とともに実装する包括的なアプローチが求められます。詳細は、AI オーケストレーションに GKE を使用する方法に関するガイドをご覧ください。

-Google Cloud、デベロッパー リレーション エンジニア、Max Saltonstall
-Google、テクニカル プログラム マネージャー、Salim Virji

投稿先