深層学習インスタンスでの Amazon ECS タスク定義 - Amazon Elastic Container Service

深層学習インスタンスでの Amazon ECS タスク定義

Amazon ECS で深層学習ワークロードを使用するには、Amazon EC2 DL1インスタンスをクラスターに登録します。Amazon EC2 DL1 インスタンスには、Habana Labs (インテル子会社) の Gaudi アクセラレータを搭載しています。Habana Gaudiアクセラレータには、Habana SynapseAI SDK を使用して接続します。この SDK は、TensorFlow および PyTorch による、一般的な機械学習フレームワークをサポートしています。

考慮事項

Amazon ECS 上で DL1 のデプロイを開始する前に、以下の点を考慮してください。

  • クラスターには、DL1 コンテナインスタンスと DL1 以外のインスタンスを混在させることができます。

  • サービスの作成時、またはスタンドアロンタスクの実行時、特にタスク配置制約を設定する場合には、インスタンスタイプ属性を使用して、タスクが起動されるコンテナインスタンスを確定できます。これにより、リソースが効果的に使用され、深層学習ワークロードのタスクが DL1 インスタンス上に配置されることが保証されます。詳細については、「Amazon ECS がタスクをコンテナインスタンスに配置する方法」を参照してください。

    次の例では、default クラスターの dl1.24xlarge インスタンスでタスクを実行します。

    aws ecs run-task \ --cluster default \ --task-definition ecs-dl1-task-def \ --placement-constraints type=memberOf,expression="attribute:ecs.instance-type == dl1.24xlarge"

DL1 AMI の使用

Amazon ECS 向けの Amazon EC2 DL1 インスタンス上で AMI を実行するためには、以下の 3 つのオプションがあります。

  • Habana がここで提供している AWS Marketplace AMI。

  • Amazon Web Services によって提供される Habana 深層学習 AMI。これには、Amazon ECS コンテナエージェントは含まれないため、このエージェントを個別にインストールする必要があります。

  • GitHub リポジトリを通じて提供されるカスタム AMI をビルドするには、Packer を使用します。詳細については、「the Packer documentation」(Packer ドキュメント) を参照してください。