MLOps を使用する理由 - Amazon SageMaker AI

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

MLOps を使用する理由

個々の人工知能や機械学習 (AI/ML) プロジェクトの実行から、AI/ML を使用したビジネスの大規模な変革に移行する際に、ML オペレーション (MLOps) の規律があると便利です。プロジェクト管理、CI/CD、品質保証における AI/ML プロジェクトのユニークな側面を考慮する MLOps には、納期改善、欠陥の削減、データサイエンスの生産性の向上などのメリットがあります。MLOps は、機械学習ワークロードに適用される DevOps プラクティスに基づいて構築された方法論です。DevOps の原則の説明については、「AWSにおける DevOps の概要」のホワイトペーパーを参照してください。 AWS サービスを使用した実装の詳細については、「 での CI/CD の実践」および「コードとしてのインフラストラクチャ AWS」を参照してください。 https://d1.awsstatic.com/whitepapers/DevOps/infrastructure-as-code.pdf

DevOps と同じように、MLOps は、機械学習開発ライフサイクルに対する共同的かつ合理化されたアプローチに基づいています。このアプローチでは、人、プロセス、テクノロジーが交わることによって、機械学習ワークロードの開発、構築、運用に必要なエンドツーエンドのアクティビティが最適化されます。

既存の DevOps プラクティスと組み合わせて、データサイエンスとデータエンジニアリングの交わりに重点を置く MLOps は、機械学習の開発ライフサイクル全体へのモデル配信を合理化します。MLOps は、リリース管理、CI/CD、オペレーションに ML ワークロードを統合するための規律です。MLOps には、ソフトウェア開発、オペレーション、データエンジニアリング、データサイエンスの統合が必要です。

MLOps の課題

MLOps はビジネスの拡大に役立つ貴重なツールを提供できますが、MLOps を機械学習ワークロードに統合する際に、特定の問題に直面する可能性があります。

プロジェクト管理

  • ML プロジェクトには、比較的新しいロールであり、部門横断的なチームにあまり統合されることがないデータサイエンティストが関与します。このような新しいチームメンバーが使用する技術言語は、多くの場合、製品所有者やソフトウェアエンジニアが使うものとは非常に異なるため、ビジネス要件を技術要件に変換するという通常の問題を複雑化させます。

コミュニケーションとコラボレーション

  • ML プロジェクトの見通しを良くし、データエンジニア、データサイエンティスト、ML エンジニア、DevOps などのさまざまなステークホルダー間でのコラボレーションを実現することは、成果を上げるためにますます重要になっています。

コードがすべて

  • 開発アクティビティでの本稼働用データの使用、実験ライフサイクルの長期化、データパイプラインへの依存関係、デプロイパイプラインの再トレーニング、モデルのパフォーマンスの評価における固有のメトリクス。

  • 多くの場合、モデルは、これらのモデルと統合するアプリケーションやシステムとは無関係のライフサイクルを持ちます。

  • エンドツーエンドのシステム全体は、バージョン管理されたコードとアーティファクトを通じて再現可能です。DevOps プロジェクトは、Infrastructure as Code (IaC) と Configuration-as-Code (CaC) を使用して環境を構築し、Pipelines-as-Code (PaC) を使用して CI/CD パターンの一貫性を確保します。パイプラインは、ビッグデータや ML のトレーニングワークフローと統合する必要があります。これは、パイプラインが従来の CI/CD ツールと別のワークフローエンジンの組み合わせになることを意味します。reticulate パッケージの詳細については、「Python への R インターフェイス」を参照してください。入力データに偏りがあると、生み出される結果も偏ったものになることから、ビジネス上の利害関係者の関心が高まっています。

CI/CD

  • MLOps では、ソースデータはソースコードと共にファーストクラスの入力になります。そのため MLOps は、ソースデータまたは推論データの変更時に、ソースデータのバージョン管理とパイプラインの実行の開始を要求します。

  • トレーサビリティを実現するためには、パイプラインでも、入力やその他の出力と共に ML モデルのバージョンを管理する必要があります。

  • ビルドフェーズ中およびモデルが本番環境にある場合には、自動テストに ML モデルの適切な検証を含める必要があります。

  • ビルドフェーズには、リソースを大量に消費し、時間のかかるプロセスであるモデルトレーニングと再トレーニングが含まれことがあります。関連するコンポーネントが変更されたときではなく、ソースデータまたは ML コードが変更された場合にのみ完全なトレーニングサイクルを実行するように、パイプラインを細分化する必要があります。

  • 通常、機械学習コードはソリューション全体のほんの一部にすぎないため、他のアプリケーションやシステムによる API として消費されるモデルのパッケージ化に必要な追加手順が、デプロイパイプラインに組み込まれることがあります。

モニタリングとログ記録

  • 特徴量エンジニアリングやモデルトレーニングのフェーズでは、モデル実験だけでなく、モデルトレーニングのメトリクスを取得する必要がありました。機械学習モデルをチューニングするには、入力データの形式とアルゴリズムのハイパーパラメータを操作し、これらの実験を体系的に取得する必要があります。実験を追跡すると、データサイエンティストの作業が効率化され、作業の再現可能なスナップショットを取得できます。

  • デプロイされる ML モデルには、標準のエンドポイントの安定性とパフォーマンスメトリクス以外にも、推論のためにモデルに渡されるデータのモニタリングが必要です。モニタリングシステムは、適切な ML メトリクスによって評価される、モデル出力の品質も捉える必要があります。

MLOps の利点

MLOps プラクティスを採用すると、以下の利点が実現され、ML プロジェクトの市場投入までの時間を短縮できます。

  • 生産性: 厳選されたデータセットへのアクセス権をセルフサービス環境に提供することにより、データエンジニアとデータサイエンティストの作業が迅速化され、データの欠落や無効なデータによる時間の浪費を減らすことができます。

  • 再現性: MLDC のすべてのステップを自動化することによって、モデルのトレーニング、評価、バージョン管理、デプロイ方法など、繰り返し可能なプロセスを手に入れることができます。

  • 信頼性: CI/CD プラクティスを組み込むことにより、迅速にデプロイできるだけでなく、品質と一貫性が向上します。

  • 監査可能性: データサイエンスの実験からソースデータ、トレーニング済みモデルまで、すべての入力と出力をバージョン管理することにより、モデルの構築方法やデプロイ先を正確に実証できるようになります。

  • データとモデルの品質: MLOps を使用すると、モデルの偏りを防ぎ、データの統計特性やモデルの品質に対する経時的な変化を追跡するポリシーを適用できます。