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

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

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

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

機械学習の実験

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

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

MLflow 統合

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

を使用した Amazon SageMaker AI MLflow

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

Amazon SageMaker Studio

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

SageMaker モデルレジストリ

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

SageMaker AI 推論

を使用して SageMaker AI エンドポイントにデプロイするための最適なモデルを準備します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 リージョン

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

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

仕組み

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

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

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

次の主要概念の詳細について、後述します。

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

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

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

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

MLflow サーバーサイズの追跡

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

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

注記

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

追跡サーバーのサイズ 持続 TPS バースト TPS
Small 最大 25 最大 50
Medium 最大 50 最大 100
Large 最大 100 最大 200

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

SageMaker AI で使用できるMLflowバージョンは次のとおりです。

MLflow バージョン Python バージョン SageMaker AI バージョン
MLflow 2.16 (最新バージョン) Python 3.8 以降 0.1.0
MLflow 2.13 Python 3.8 以降 0.1.0

追跡サーバーの最新バージョンには、最新の機能、セキュリティパッチ、バグ修正が含まれています。新しい追跡サーバーを作成するときは、最新バージョンを使用することをお勧めします。追跡サーバーの作成の詳細については、「」を参照してくださいMLflow サーバーの追跡

MLflow サーバーのセマンティックバージョニングの追跡。バージョンは の形式ですmajor-version.minor-version.patch-version

新しい UI 要素や機能などの最新のAPI機能は、マイナーバージョンにあります。

AWS CloudTrail ログ

AWS CloudTrail はMLflow、追跡サーバーに関連するアクティビティを自動的にログに記録します。次のAPI呼び出しがログインされます CloudTrail。

  • CreateMlflowTrackingServer

  • DescribeMlflowTrackingServer

  • UpdateMlflowTrackingServer

  • DeleteMlflowTrackingServer

  • ListMlflowTrackingServers

  • CreatePresignedMlflowTrackingServer

  • StartMlflowTrackingServer

  • StopMlflowTrackingServer

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

Amazon EventBridge イベント

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

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

  • SageMaker 「AI 追跡サーバーが作成されました」

  • SageMaker 「AI 追跡サーバーの作成に失敗しました」

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

  • SageMaker 「AI 追跡サーバーが更新されました」

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

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

  • SageMaker 「AI 追跡サーバーが削除されました」

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

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

  • SageMaker 「AI 追跡サーバーが開始されました」

  • SageMaker 「AI 追跡サーバーの起動に失敗しました」

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

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

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

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

  • SageMaker 「AI 追跡サーバーのメンテナンスが完了しました」

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

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

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

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

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

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

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