

# 深層学習インスタンスでの Amazon ECS タスク定義
<a name="ecs-dl1"></a>

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

## 考慮事項
<a name="ecs-dl1-considerations"></a>

Amazon ECS 上で DL1 のデプロイを開始する前に、以下の点を考慮してください。
+ クラスターには、DL1 コンテナインスタンスと DL1 以外のインスタンスを混在させることができます。
+ サービスの作成時、またはスタンドアロンタスクの実行時、特にタスク配置制約を設定する場合には、インスタンスタイプ属性を使用して、タスクが起動されるコンテナインスタンスを確定できます。これにより、リソースが効果的に使用され、深層学習ワークロードのタスクが DL1 インスタンス上に配置されることが保証されます。詳細については、「[Amazon ECS がタスクをコンテナインスタンスに配置する方法](task-placement.md)」を参照してください。

  次の例では、`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 の使用
<a name="ecs-dl1-ami"></a>

Amazon ECS 向けの Amazon EC2 DL1 インスタンス上で AMI を実行するためには、以下の 3 つのオプションがあります。
+ Habana が[ここで](https://aws.amazon.com/marketplace/pp/prodview-h24gzbgqu75zq)提供している AWS Marketplace AMI。
+ Amazon Web Services によって提供される Habana 深層学習 AMI。これには、Amazon ECS コンテナエージェントは含まれないため、このエージェントを個別にインストールする必要があります。
+ [GitHub リポジトリ](https://github.com/aws-samples/aws-habana-baseami-pipeline)を通じて提供されるカスタム AMI をビルドするには、Packer を使用します。詳細については、「[the Packer documentation](https://developer.hashicorp.com/packer/docs)」(Packer ドキュメント) を参照してください。