翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon SageMaker Training Compiler
重要
Amazon Web Services (AWS) は、SageMaker Training Compiler の新しいリリースやバージョンがないことを発表しました。SageMaker Training の既存の AWS Deep Learning Containers (DLCs) を通じて、引き続き SageMaker Training Compiler を利用できます。既存の DLCs は引き続きアクセス可能ですが、 AWS Deep Learning Containers Framework サポートポリシーに従って AWS、 からパッチや更新プログラムを受け取らないことに注意してください。
Amazon SageMaker Training Compiler を使用すると、SageMaker AI によって管理されるスケーラブルな GPU インスタンスで深層学習 (DL) モデルをより迅速にトレーニングできます。
SageMaker Training Compiler とは
最先端の深層学習 (DL) モデルは、数十億のパラメータを持つ複雑な多層ニューラルネットワークで構成され、トレーニングに数千 GPU 時間を要することもあります。このようなモデルをトレーニングインフラストラクチャで最適化するには、DL とシステムエンジニアリングに関する広範な知識が必要です。これは、ユースケースを絞ったとしても困難です。DL のトレーニングプロセスを最適化するコンパイラのオープンソース実装もありますが、DL のフレームワークを GPU インスタンスなどの一部のハードウェアと統合する柔軟性に欠ける場合があります。
SageMaker Training Compiler は SageMaker AI の一機能で、これらのhard-to-implement最適化を行い、GPU インスタンスのトレーニング時間を短縮します。コンパイラは DL モデルを最適化し、SageMaker AI 機械学習 (ML) GPU インスタンスをより効率的に使用してトレーニングを高速化します。SageMaker Training Compiler は SageMaker AI 内で追加料金なしで利用でき、トレーニングを高速化する際に請求可能な合計時間を短縮できます。

SageMaker Training Compiler は AWS Deep Learning Containers (DLCs。SageMaker Training Compiler 対応 AWS DLCs を使用すると、コードへの最小限の変更で GPU インスタンスのトレーニングジョブをコンパイルして最適化できます。深層学習モデルを SageMaker AI に取り込み、SageMaker Training Compiler を有効にして、SageMaker AI ML インスタンスでのトレーニングジョブの高速化と高速コンピューティングを可能にします。
仕組み
SageMaker Training Compiler は、DL モデルを高レベルの言語表現から、ハードウェアに最適化された命令に変換します。具体的には、SageMaker Training Compiler は、グラフレベルの最適化、データフローレベルの最適化、バックエンドの最適化を適用し、ハードウェアリソースを効率的に使用する最適化されたモデルを生成します。その結果、コンパイルせずにモデルをトレーニングする場合よりも速くモデルをトレーニングできます。
トレーニングジョブで SageMaker Training Compiler をアクティブ化するには、2 段階のプロセスがあります。
-
独自の DL スクリプトを用意し、必要に応じて SageMaker Training Compiler でコンパイルやトレーニングを行うことができます。詳細については、「独自の深層学習モデルを持ち込む」を参照してください。
-
SageMaker Python SDK を使用して、コンパイラ設定パラメータを使用して SageMaker AI 推定器オブジェクトを作成します。
-
を SageMaker AI 推定器クラス
compiler_config=TrainingCompilerConfig()
に追加して、SageMaker Training Compiler を有効にします。 -
ハイパーパラメータ (
batch_size
およびlearning_rate
) を調整して、SageMaker Training Compiler が提供する利点を最大化します。SageMaker Training Compiler を使用してコンパイルすると、モデルのメモリフットプリントが変更されます。最も一般的には、これはメモリ使用率の低下と、その結果としての GPU に収まる最大バッチサイズの増加として現れます。場合によっては、コンパイラがインテリジェントにキャッシュを促進し、GPU に収まる最大バッチサイズを小さくすることがあります。バッチサイズを変更する場合は、学習レートを適切に調整する必要があることに注意してください。
人気モデルのテスト済み
batch_size
のリファレンスについては、「テスト済みモデル」を参照してください。バッチサイズを調整するときは、
learning_rate
も適切に調整する必要があります。バッチサイズの変更に伴う学習レートの調整に関するベストプラクティスについては、「SageMaker Training Compiler のベストプラクティスと考慮事項」を参照してください。 -
estimator.fit()
クラスメソッドを実行することで、SageMaker AI はモデルをコンパイルし、トレーニングジョブを開始します。
トレーニングジョブを開始する手順については、「SageMaker Training Compiler を有効化する」を参照してください。
-
SageMaker Training Compiler は、GPU メモリをより効率的に使用し、反復ごとに大きなバッチサイズを適合させることによって、トレーニングジョブを高速化できるようにしますが、最終的なトレーニングモデルは変更しません。コンパイラで高速化されたトレーニングジョブの最終トレーニングモデルは、通常のトレーニングジョブのモデルと同じです。
ヒント
SageMaker Training Compiler は、SageMaker AI によって管理されるサポートされている GPU インスタンスでトレーニングするための DL モデルのみをコンパイルします。推論用モデルをコンパイルし、それをデプロイしてクラウドやエッジで実行するには、SageMaker Neo コンパイラを使用します。