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

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

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

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

ヒント

Generative AI の基盤モデルのトレーニングについては、「Amazon SageMaker Studio で SageMaker AI JumpStart 基盤モデルを使用する」を参照してください。

Amazon SageMaker Training 内の機能の選択

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

複雑な深層学習モデルをトレーニングしているか、小規模な機械学習アルゴリズムを実装しているかにかかわらず、 SageMaker トレーニングは、ユースケースの要件を満たす合理化された費用対効果の高いソリューションを提供します。

ユースケース

SageMaker AI 内で ML モデルをトレーニングするための主なユースケースを次に示します。

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

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

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

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

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

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

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

最適化の対象

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

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

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

考慮事項

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

SageMaker Python SDKは、低レベルの SageMaker トレーニング と比較して、簡素化されたインターフェイスとより少ない設定オプションを提供しますAPI。

AWS インフラストラクチャと分散トレーニングオプションの知識が必要です。「トレーニングツールキットを使用して独自のトレーニングコンテナを作成するSageMaker 」も参照してください。

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

追加のオプション

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

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

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

  • SageMaker HyperPod: は、大規模な機械学習 (ML) ワークロードや基盤モデル () の開発 state-of-the-artに回復力のあるクラスターを必要とするユースケース向けの永続的なクラスターサービス SageMaker HyperPod ですFMs。 AWS Trainium や NVIDIA A100、H100 Graphical Processing Units () などの数千のアクセラレーターを搭載した大規模なコンピューティングクラスターの構築と保守に伴う差別化されていない高負荷の解除により、このようなモデルの開発を加速しますGPUs。 H100 Slurm on などのワークロードマネージャーソフトウェアを使用できます HyperPod。

SageMaker トレーニングのその他の機能

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

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

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

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