Amazon SageMaker でモデルをトレーニングする - Amazon SageMaker AI

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

Amazon SageMaker でモデルをトレーニングする

Amazon SageMaker Training は、SageMaker が提供するフルマネージド機械学習 (ML) サービスであり、さまざまな ML モデルを大規模かつ効率的にトレーニングするのに役立ちます。SageMaker AI ジョブの中核は、ML ワークロードのコンテナ化と AWS コンピューティングリソースを管理する機能です。SageMaker Training プラットフォームは、ML トレーニングワークロードのインフラストラクチャのセットアップと管理に関連する負荷の大きい作業に対応します。SageMaker Training を使用すると、モデルの開発、トレーニング、ファインチューニングに集中できます。このページでは、SageMaker でモデルのトレーニングを開始するための 3 つの推奨方法を紹介し、次に検討できる追加のオプションを紹介します。

ヒント

Generative AI の基盤モデルのトレーニングについては、「Use SageMaker AI JumpStart foundation models in Amazon SageMaker Studio」を参照してください。

Amazon SageMaker Training 内の機能の選択

SageMaker AI 内で ML モデルをトレーニングするには、主に 3 つのユースケースがあります。このセクションでは、これらのユースケースと、各ユースケースで推奨される SageMaker AI 機能について説明します。

複雑な深層学習モデルをトレーニングする場合も、より小さな機械学習アルゴリズムを実装する場合も、SageMaker Training は、ユースケースの要件を満たす合理化されたコスト効率の高いソリューションを提供します。

ユースケース

以下は、SageMaker AI 内で ML モデルをトレーニングするための主なユースケースです。

  • ユースケース 1: ローコード環境またはノーコード環境で機械学習モデルを開発する。

  • ユースケース 2: コードを使用して、柔軟性と制御性に優れた機械学習モデルを開発する。

  • ユースケース 3: 最大限の柔軟性と制御を備えた大規模な機械学習モデルを開発する。

次の表は、ML モデルのトレーニングにおける 3 つの一般的なシナリオと、SageMaker Training の利用を開始するにあたっての対応するオプションを示しています。

Descriptor ユースケース 1 ユースケース 2 ユースケース 3
SageMaker AI 機能 Amazon SageMaker Canvas を使用してモデルを構築します SageMaker Python SDK を使用して、SageMaker JumpStart による XGBoost やタスク固有のモデルなどの SageMaker AI 組み込み ML アルゴリズムのいずれか SageMaker JumpStartを使用してモデルをトレーニングします。 XGBoost SageMaker SageMaker AI のスクリプトモードまたはカスタムコンテナを活用して、最大限の柔軟性でモデルを大規模にトレーニングします。
説明 独自のデータを使用します。SageMaker AI は、ML モデルの構築とトレーニングインフラストラクチャとリソースの設定の管理に役立ちます。

データを取り込んで、SageMaker AI が提供する組み込み ML アルゴリズムのいずれかを選択します。SageMaker Python SDK を使用して、モデルのハイパーパラメータ、出力メトリクス、基本的なインフラストラクチャ設定をセットアップします。SageMaker Training プラットフォームは、トレーニングインフラストラクチャとリソースのプロビジョニングに役立ちます。

独自の ML コードを開発し、スクリプトまたは一連のスクリプトとして SageMaker AI に持ち込みます。詳細については、「SageMaker による分散コンピューティングのベストプラクティス」を参照してください。さらに、独自の Docker コンテナを持ち込むこともできます。SageMaker Training プラットフォームは、カスタム設定に基づいて、トレーニングインフラストラクチャとリソースを大規模にプロビジョニングするのに役立ちます。

最適化の対象

トレーニングデータセットを使用した迅速な実験による、ローコード/ノーコードおよび UI 主導型のモデル開発。カスタムモデルを構築すると、データに基づいてアルゴリズムが自動的に選択されます。アルゴリズムの選択などの高度なカスタマイズオプションについては、「Advanced model building configurations」を参照してください。

ハイパーパラメータ、インフラストラクチャ設定、ML フレームワークとエントリポイントスクリプトを直接使用して柔軟性を高める機能について、高度なカスタマイズを使用して ML モデルをトレーニングします。Amazon SageMaker Python SDK を使用し、組み込みアルゴリズム、事前トレーニング済みモデル、JumpStart モデルを使用して ML モデルを開発します。詳細については、「Low-code deployment with the JumpStart class」を参照してください。

複数のインスタンスと最大限の柔軟性を必要とする、大規模な ML トレーニングワークロード。「SageMaker による分散コンピューティングのベストプラクティス」を参照してください。SageMaker AI は Docker イメージを使用して、すべてのモデルのトレーニングと提供をホストします。任意の SageMaker AI または外部アルゴリズムを使用し、Docker コンテナを使用してモデルを構築できます。

考慮事項

Amazon SageMaker Canvas が提供するモデルをカスタマイズする柔軟性は最小限です。

SageMaker Python SDK が提供するインターフェイスは、詳細な設定が可能な SageMaker Training API と比較して、簡素化されており、設定オプションが少なくなります。

AWS インフラストラクチャと分散トレーニングオプションに関する知識が必要です。SageMaker Training ツールキットを使用した「Create your own training container」も参照してください。

推奨環境 Amazon SageMaker Canvas を使用します。セットアップ方法については、「SageMaker Canvas の開始方法」を参照してください。 Amazon SageMaker Studio 内で SageMaker AI JupyterLab を使用します。 Amazon SageMaker セットアップ方法については、「Amazon SageMaker Studio を起動する」を参照してください。 Amazon SageMaker Studio 内で SageMaker JupyterLab を使用します。セットアップ方法については、「Amazon SageMaker Studio を起動する」を参照してください。

追加のオプション

SageMaker AI には、ML モデルをトレーニングするための以下の追加オプションがあります。

トレーニング機能を提供する SageMaker AI の機能

  • SageMaker JumpStart: SageMaker JumpStart は、公開されている独自の最新の基盤モデル (FMs) を含む SageMaker AI パブリックモデルハブへのアクセスを提供します。これらのモデルを Amazon SageMaker Studio 内でファインチューニング、評価、デプロイできます。SageMaker JumpStart は、生成 AI ユースケース向けに基盤モデルを活用するプロセスを合理化し、ガバナンスガードレールを適用し、組織が承認されたモデルにのみアクセスできるようにしながら、基盤モデルを使用するプライベートモデルハブを作成できます。SageMaker JumpStart の使用を開始するには、「SageMaker JumpStart Foundation Models」を参照してください。

  • SageMaker HyperPod: SageMaker HyperPod は、大規模な機械学習 (ML) ワークロードや最先端の基盤モデル (FM) 用に回復力のあるクラスターを必要とするユースケース向けの永続クラスターサービスです。 AWS Trainium や NVIDIA A100 や H100 Graphical Processing Units (GPUs。 H100 Slurm on HyperPod などのワークロードマネージャーソフトウェアを使用できます。

SageMaker Training のその他の機能

  • ハイパーパラメータ調整: この SageMaker AI 機能は、モデルのハイパーパラメータのセットを定義し、データセットで多くのトレーニングジョブを起動するのに役立ちます。ハイパーパラメータ値によっては、モデルトレーニングのパフォーマンスが異なる場合があります。この機能は、検索するように設定した特定のハイパーパラメータの範囲内で、最高のパフォーマンスのハイパーパラメータのセットを提供します。

  • 分散トレーニング: PyTorch、NVIDIA CUDA、その他の PyTorch ベースのフレームワークで構築された FM を、事前トレーニングまたはファインチューニングします。GPU インスタンスを効率的に活用するには、集合通信オペレーションと、インフラストラクチャ用に AWS 最適化されたエキスパート並列処理や共有データ並列処理などのさまざまなモデル並列処理技術を提供する SageMaker AI 分散トレーニングライブラリを使用します。

  • オブザーバビリティ機能: SageMaker Training のプロファイリングおよびデバッグ機能を使用して、モデルトレーニングワークロード、モデルパフォーマンス、リソース使用率に関するインサイトを取得します。詳細については、「Debug and improve model performance」および「Profile and optimize computational performance」を参照してください。

  • コスト削減と効率的なインスタンスのオプション: トレーニングインスタンスのプロビジョニングにおけるコンピューティングコストと効率を最適化するには、異種クラスターマネージドスポットインスタンスマネージドウォームプールを使用します。