SageMaker で Amazon を使用した機械学習実験 MLflow - Amazon SageMaker

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

SageMaker で Amazon を使用した機械学習実験 MLflow

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

機械学習の実験

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

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

MLflow 統合

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

Amazon SageMaker と MLflow

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

Amazon SageMaker Studio

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

SageMaker モデルレジストリ

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

SageMaker 推論

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

AWS Identity and Access Management

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

AWS CloudTrail

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

Amazon EventBridge

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

サポートされる AWS リージョン

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

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

仕組み

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

MLflow 追跡サーバーのコンピューティングストアとメタデータストアを示す図。

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

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

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

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

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

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

MLflow サーバーサイズの追跡

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

最大 25 人のチームには小さな追跡サーバー、最大 50 人のチームには中規模の追跡サーバー、最大 100 人のチームには大きな追跡サーバーを使用することをお勧めします。すべてのユーザーがこれらのレコメンデーションを行うために、MLflow追跡サーバーに同時リクエストを行うことを前提としています。予想される使用状況パターンと、各追跡サーバーでサポートされている 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追跡サーバーに関連するアクティビティを自動的にログに記録します。次の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 ユーザーガイド」を参照してください。