翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
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 バケットに存在します。
追跡サーバーには がありますARN。これを使用して ARN MLflowSDKをトラッキングサーバーに接続し、トレーニング実行の へのログ記録を開始できますMLflow。
以下の主要な概念の詳細については、「」を参照してください。
バックエンドメタデータストレージ
MLflow 追跡サーバーを作成すると、バックエンドストア
アーティファクトストレージ
実験実行のモデル重み、画像、モデルファイル、データファイルなど、実行ごとにメタデータの永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 ユーザーガイド」を参照してください。