

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

# Amazon SageMaker Training Compiler
<a name="training-compiler"></a>

**重要**  
Amazon Web Services (AWS) は、SageMaker Training Compiler の新しいリリースやバージョンがないことを発表しました。SageMaker Training の既存の AWS Deep Learning Containers (DLCs) を通じて SageMaker Training Compiler を引き続き使用できます。既存の DLCs は引き続きアクセス可能ですが、 [AWS Deep Learning Containers Framework サポートポリシー](https://docs.aws.amazon.com/deep-learning-containers/latest/devguide/support-policy.html)に従って AWS、 からパッチや更新プログラムを受け取ることはできなくなります。

Amazon SageMaker Training Compiler を使用すると、SageMaker AI によって管理されるスケーラブルな GPU インスタンスで、深層学習 (DL) モデルのトレーニングを高速化できます。

## SageMaker Training Compiler とは
<a name="training-compiler-what-is"></a>

最先端の深層学習 (DL) モデルは、数十億のパラメータを持つ複雑な多層ニューラルネットワークで構成され、トレーニングに数千 GPU 時間を要することもあります。このようなモデルをトレーニングインフラストラクチャで最適化するには、DL とシステムエンジニアリングに関する広範な知識が必要です。これは、ユースケースを絞ったとしても困難です。DL のトレーニングプロセスを最適化するコンパイラのオープンソース実装もありますが、DL のフレームワークを GPU インスタンスなどの一部のハードウェアと統合する柔軟性に欠ける場合があります。

SageMaker Training Compiler は SageMaker AI の機能の 1 つで、実装が難しいこれらの最適化を実現し、GPU インスタンスのトレーニング時間を削減します。コンパイラは、DL モデルを最適化して、SageMaker AI 機械学習 (ML) GPU インスタンスをより効率的に使用してトレーニングを加速します。SageMaker AI 内であれば SageMaker Training Compiler は追加料金なしでご利用いただけ、トレーニングが加速されるため、合計請求時間を削減できます。

![SageMaker Training Compiler が SageMaker AI と連携する方法の概念図。](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/training-compiler-marketing-diagram.png)


SageMaker Training Compiler は AWS Deep Learning Containers (DLCs。SageMaker Training Compiler 対応 AWS DLCs を使用すると、コードへの最小限の変更で GPU インスタンスのトレーニングジョブをコンパイルして最適化できます。深層学習モデルを SageMaker AI に持ち込み、SageMaker Training Compiler を有効化すれば、SageMaker AI ML インスタンスのトレーニングジョブの速度が上がり、コンピューティングが加速されます。

## 仕組み
<a name="training-compiler-how-it-works"></a>

SageMaker Training Compiler は、DL モデルを高レベルの言語表現から、ハードウェアに最適化された命令に変換します。具体的には、SageMaker Training Compiler は、グラフレベルの最適化、データフローレベルの最適化、バックエンドの最適化を適用し、ハードウェアリソースを効率的に使用する最適化されたモデルを生成します。その結果、コンパイルせずにモデルをトレーニングする場合よりも速くモデルをトレーニングできます。

トレーニングジョブで SageMaker Training Compiler をアクティブ化するには、2 段階のプロセスがあります。

1. 独自の DL スクリプトを用意し、必要に応じて SageMaker Training Compiler でコンパイルやトレーニングを行うことができます。詳細については[独自の深層学習モデルを持ち込む](training-compiler-modify-scripts.md)を参照してください。

1. SageMaker Python SDK を使用して、コンパイラ設定パラメータで SageMaker AI 推定器オブジェクトを作成します。

   1. SageMaker AI 推定器クラスに `compiler_config=TrainingCompilerConfig()` を追加して SageMaker Training Compiler を有効にします。

   1. ハイパーパラメータ (`batch_size` および `learning_rate`) を調整して、SageMaker Training Compiler が提供する利点を最大化します。

      SageMaker Training Compiler を使用してコンパイルすると、モデルのメモリフットプリントが変更されます。最も一般的には、これはメモリ使用率の低下と、その結果としての GPU に収まる最大バッチサイズの増加として現れます。場合によっては、コンパイラがインテリジェントにキャッシュを促進し、GPU に収まる最大バッチサイズを小さくすることがあります。バッチサイズを変更する場合は、学習レートを適切に調整する必要があることに注意してください。

      人気モデルのテスト済み `batch_size` のリファレンスについては、「[テスト済みモデル](training-compiler-support.md#training-compiler-tested-models)」を参照してください。

      バッチサイズを調整するときは、`learning_rate` も適切に調整する必要があります。バッチサイズの変更に伴う学習レートの調整に関するベストプラクティスについては、「[SageMaker Training Compiler のベストプラクティスと考慮事項](training-compiler-tips-pitfalls.md)」を参照してください。

   1. `estimator.fit()` クラスメソッドを実行することにより、SageMaker AI はモデルをコンパイルし、トレーニングジョブを開始します。

   トレーニングジョブを開始する手順については、「[SageMaker Training Compiler を有効化する](training-compiler-enable.md)」を参照してください。

SageMaker Training Compiler は、GPU メモリをより効率的に使用し、反復ごとに大きなバッチサイズを適合させることによって、トレーニングジョブを高速化できるようにしますが、最終的なトレーニングモデルは変更しません。コンパイラで高速化されたトレーニングジョブの最終トレーニングモデルは、通常のトレーニングジョブのモデルと同じです。

**ヒント**  
SageMaker Training Compiler は、SageMaker AI によって管理される[サポート対象 GPU インスタンス](https://docs.aws.amazon.com/sagemaker/latest/dg/training-compiler-support.html#training-compiler-supported-instance-types)上のトレーニング用 DL モデルのみをコンパイルします。推論用モデルをコンパイルし、それをデプロイしてクラウドやエッジで実行するには、[SageMaker Neo コンパイラ](https://docs.aws.amazon.com/sagemaker/latest/dg/neo.html)を使用します。

**Topics**
+ [SageMaker Training Compiler とは](#training-compiler-what-is)
+ [仕組み](#training-compiler-how-it-works)
+ [サポートされているフレームワーク、 AWS リージョンインスタンスタイプ、テスト済みモデル](training-compiler-support.md)
+ [独自の深層学習モデルを持ち込む](training-compiler-modify-scripts.md)
+ [SageMaker Training Compiler を有効化する](training-compiler-enable.md)
+ [SageMaker Training Compiler サンプルノートブックとブログ](training-compiler-examples-and-blogs.md)
+ [SageMaker Training Compiler のベストプラクティスと考慮事項](training-compiler-tips-pitfalls.md)
+ [SageMaker Training Compiler に関してよくある質問](training-compiler-faq.md)
+ [SageMaker Training Compiler のトラブルシューティング](training-compiler-troubleshooting.md)
+ [Amazon SageMaker Training Compiler リリースノート](training-compiler-release-notes.md)