MLflow SageMaker で Amazon を使用して機械学習実験を管理する - Amazon SageMaker

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

MLflow SageMaker で Amazon を使用して機械学習実験を管理する

Amazon SageMaker with MLflow は、機械学習実験を作成、管理、分析、比較 SageMaker できる Amazon の機能です。

機械学習の実験

機械学習は、データ、アルゴリズム、パラメータのさまざまな組み合わせを試しながら、モデルの精度への影響を観察する必要がある反復プロセスです。ML 実験の反復的な性質により、多数のモデルトレーニングの実行とバージョンが発生するため、最もパフォーマンスの高いモデルとその設定を追跡することは困難です。反復トレーニングの実行の管理と比較の複雑さは、生成人工知能 (生成 AI) によって増します。ここでは、実験にはモデルを微調整するだけでなく、クリエイティブで多様な出力を探索することも含まれます。研究者は、ハイパーパラメータを調整し、適切なモデルアーキテクチャを選択し、生成されたコンテンツの品質と再現率の両方を最適化するために、さまざまなデータセットをキュレートする必要があります。生成 AI モデルを評価するには、定量的メトリクスと定性的メトリクスの両方が必要であり、実験プロセスに別の複雑さが加わります。

Amazon で MLflow SageMaker を使用して、反復的な ML 実験を追跡、整理、表示、分析、比較し、比較インサイトを取得し、最もパフォーマンスの高いモデルを登録してデプロイします。

MLflow 統合

モデルをトレーニングおよび評価する際に MLflow を使用して、ユースケースに最適な候補を見つけます。MLflow UI の実験間でモデルのパフォーマンス、パラメータ、メトリクスを比較したり、MLflow Model Registry で最適なモデルを追跡したり、 SageMaker モデルとして自動的に登録したり、登録済みモデルを SageMaker エンドポイントにデプロイしたりできます。

MLflow SageMaker を使用した Amazon

MLflow を使用して、モデルの開発、管理、デプロイ、追跡の統合により、機械学習 (ML) ライフサイクル AWS の実験フェーズを追跡および管理します。

Amazon SageMaker Studio

追跡サーバーを作成および管理し、ノートブックを実行して実験を作成し、MLflow UI にアクセスして Studio を介して実験実行をすべて表示および比較します。

SageMaker モデルレジストリ

MLflow Model Registry から Model Registry にモデルを自動的に登録することで、本番稼働用のモデルバージョンとカタログ SageMaker モデルを管理します。詳細については、「Model SageMaker Registry に SageMaker モデルを自動的に登録する」を参照してください。

SageMaker 推論

を使用して、 SageMaker エンドポイントにデプロイするための最適なモデルを準備しますModelBuilder。詳細については、「で MLflow モデルをデプロイする ModelBuilder」を参照してください。

AWS Identity and Access Management

IAM でロールベースのアクセスコントロール (RBAC) を使用して MLflow へのアクセスを設定します。IAM ID ポリシーを作成して、MLflow 追跡サーバーのクライアントによって呼び出せる MLflow APIs を承認します。すべての MLflow REST APIsは、sagemaker-mlflowサービスプレフィックスの IAM アクションとして表されます。詳細については、「MLflow の IAM アクセス許可を設定する」を参照してください。

AWS CloudTrail

アカウントの運用とリスクの監査 AWS CloudTrail 、ガバナンス、コンプライアンスを有効にするのに役立つ のログを表示します AWS 。詳細については、「AWS CloudTrail ログ」を参照してください。

Amazon EventBridge

Amazon によってキャプチャされた MLflow イベントを使用して、モデルのレビューとデプロイのライフサイクルを自動化します EventBridge。詳細については、「Amazon EventBridge イベント」を参照してください。

サポート対象 AWS リージョン

MLflow SageMaker を使用した Amazon は、Amazon SageMaker Studio が利用可能なすべての AWS 商用リージョンで一般利用可能です。ただし、中国リージョンと AWS GovCloud (US) リージョンを除きます。 SageMakerMLflow を使用した は、欧州 (チューリッヒ)、アジアパシフィック (ハイデラバード)、アジアパシフィック (メルボルン)、カナダ西部 (カルガリー) AWS CLI の でのみ使用できます AWS リージョン。

追跡サーバーは、指定されたリージョン内の単一のアベイラビリティーゾーンで起動されます。

仕組み

MLflow Tracking Server には、コンピューティング、バックエンドメタデータストレージ、アーティファクトストレージの 3 つの主要コンポーネントがあります。追跡サーバーとバックエンドメタデータストレージをホストするコンピューティングは、 SageMaker サービスアカウントで安全にホストされます。アーティファクトストレージは、自分の AWS アカウントの Amazon S3 バケットにあります。

MLflow Tracking Server のコンピューティングストアとメタデータストアが SageMaker サービスアカウントにあり、MLflow Tracking Server のアーティファクトストアが顧客アカウントの Amazon S3 バケットにあることを示す図。

追跡サーバーには ARN があります。この ARN を使用して MLflow SDK を追跡サーバーに接続し、トレーニング実行の MLflow へのログ記録を開始できます。

以下の主要な概念の詳細については、「」を参照してください。

バックエンドメタデータストレージ

MLflow Tracking Server を作成すると、実行 ID、開始時刻と終了時刻、パラメータ、メトリクスなど、実行 ごとにさまざまなメタデータを保持するバックエンドストア がサービスアカウント内で SageMaker自動的に設定され、完全に管理されます。

アーティファクトストレージ

MLflow に、実験実行のモデルの重み、画像、モデルファイル、データファイルなど、実行ごとのメタデータの永続的ストレージを提供するには、Amazon S3 を使用してアーティファクトストアを作成する必要があります。アーティファクトストアは AWS アカウント内で設定する必要があり、アーティファクトストアにアクセスするには Amazon S3 へのアクセスを MLflow に明示的に許可する必要があります。 Amazon S3 詳細については、MLflow ドキュメントの「アーティファクトストア」を参照してください。

MLflow 追跡サーバーのサイズ

オプションで、Studio UI または AWS CLI パラメータを使用して、追跡サーバーのサイズを指定できます--tracking-server-size"Small"、、 "Medium"のいずれかを選択できます"Large"。デフォルトの MLflow 追跡サーバー設定サイズは です"Small"。ログに記録されるデータ量、ユーザー数、使用頻度など、追跡サーバーの予測使用量に応じてサイズを選択できます。

最大 25 人のチームには小さな追跡サーバーを使用し、最大 50 人のチームには中規模の追跡サーバーを使用し、最大 100 人のチームには大きな追跡サーバーを使用することをお勧めします。すべてのユーザーが MLflow Tracking Server に同時リクエストを行い、これらのレコメンデーションを行うことを前提としています。予想される使用パターンと、各追跡サーバーでサポートされている TPS (1 秒あたりのトランザクション数) に基づいて、追跡サーバーのサイズを選択する必要があります。

注記

ワークロードの性質と、追跡サーバーに対して行うリクエストのタイプによって、表示される TPS が決まります。

サーバーサイズの追跡 TPS の維持 バースト TPS
最大 25 最大 50
中程度 最大 50 最大 100
ラージ 最大 100 最大 200

サーバーバージョンの追跡

では、次の MLflow バージョンを使用できます SageMaker。

MLflow バージョン Python バージョン
MLflow 2.13.2 Python 3.8 以降

AWS CloudTrail ログ

AWS CloudTrail は、MLflow Tracking Server に関連するアクティビティを自動的にログに記録します。次の API コールは に記録されます CloudTrail。

  • CreateMlflowTrackingServer

  • DescribeMlflowTrackingServer

  • UpdateMlflowTrackingServer

  • DeleteMlflowTrackingServer

  • ListMlflowTrackingServers

  • CreatePresignedMlflowTrackingServer

  • StartMlflowTrackingServer

  • StopMlflowTrackingServer

の詳細については CloudTrail、「 AWS CloudTrail ユーザーガイド」を参照してください。

Amazon EventBridge イベント

を使用して EventBridge 、 での MLflow の使用から組織全体のコンシューマーアプリケーション SageMaker にイベントをルーティングします。次のイベントが に出力されます EventBridge。

  • 「サーバー作成SageMaker の追跡」

  • 「サーバー作成SageMaker の追跡」

  • 「サーバー作成SageMaker 失敗の追跡」

  • 「サーバーの更新SageMaker の追跡」

  • 「サーバー更新SageMaker の追跡」

  • 「サーバー更新SageMaker の追跡に失敗しました」

  • 「サーバーの削除SageMaker の追跡」

  • 「サーバー削除SageMaker の追跡」

  • 「サーバーの削除SageMaker の追跡に失敗しました」

  • 「サーバー起動SageMaker の追跡」

  • SageMaker 「サーバーが起動した追跡中」

  • 「サーバー起動の失敗SageMaker の追跡」

  • 「サーバー停止SageMaker の追跡」

  • 「サーバーSageMaker の追跡が停止しました」

  • 「サーバー停止SageMaker の追跡に失敗しました」

  • 「進行中のサーバーメンテナンスSageMaker の追跡」

  • 「サーバーメンテナンスの完了SageMaker の追跡」

  • 「サーバーメンテナンスSageMaker の追跡に失敗しました」

  • SageMaker MLFlow 追跡サーバーの作成実行」

  • SageMaker MLFlow 追跡サーバーの作成 RegisteredModel」

  • SageMaker MLFlow 追跡サーバーの作成 ModelVersion」

  • SageMaker MLFlow 追跡サーバーの移行 ModelVersion ステージ」

  • SageMaker MLFlow 追跡サーバー登録済みモデルエイリアスの設定」

の詳細については EventBridge、「Amazon ユーザーガイド EventBridge 」を参照してください。