在 Amazon ECS 上使用深度学习 DL1 实例 - Amazon Elastic Container Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

在 Amazon ECS 上使用深度学习 DL1 实例

要在 Amazon ECS 上使用深度学习工作负载,请将 Amazon EC2 DL1 实例注册到您的集群。Amazon EC2 DL1 实例由英特尔旗下公司 Habana Labs 的 Gaudi 加速器提供支持。使用 Habana SynapseAI SDK 连接 Habana Gaudi 加速器。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 EC2 DL1 实例上运行适用于 Amazon ECS 的 AMI:

  • Habana 在此处提供的 Amazon Web Services Marketplace AMI。

  • Amazon Web Services 提供的 Habana 深度学习 AMI。因为它不包括在内,因此您需要单独安装 Amazon ECS 容器代理。

  • 使用 Packer 构建由 GitHub 存储库提供的自定义 AMI。有关更多信息,请参阅 Packer 文档

任务定义要求

要在 Amazon ECS 上运行 Habana Gaudi 加速深度学习容器,您的任务定义必须包含预构建容器的容器定义,该容器使用 Amazon 深度学习容器提供的 Habana SynapseAI 服务于 TensorFlow 或 PyTorch 的深度学习模型。

以下容器映像具有 TensorFlow 2.7.0 和 Ubuntu 20.04。GitHub 上维护了针对 Habana Gaudi 加速器优化的预构建深度学习容器的完整列表。有关更多信息,请参阅 Habana Training Containers(Habana 训练容器)。

763104351884.dkr.ecr.us-east-1.amazonaws.com/tensorflow-training-habana:2.7.0-hpu-py38-synapseai1.2.0-ubuntu20.04

以下是 Amazon EC2 上的 Linux 容器的示例任务定义,显示要使用的语法。此示例使用包含 Habana Labs 实验室系统管理界面工具(HL-SMI)的图像,可参见此处:vault.habana.ai/gaudi-docker/1.1.0/ubuntu20.04/habanalabs/tensorflow-installer-tf-cpu-2.6.0:1.1.0-614

{ "family": "dl-test", "requiresCompatibilities": ["EC2"], "placementConstraints": [ { "type": "memberOf", "expression": "attribute:ecs.os-type == linux" }, { "type": "memberOf", "expression": "attribute:ecs.instance-type == dl1.24xlarge" } ], "networkMode": "host", "cpu": "10240", "memory": "1024", "containerDefinitions": [ { "entryPoint": [ "sh", "-c" ], "command": [ "hl-smi" ], "cpu": 8192, "environment": [ { "name": "HABANA_VISIBLE_DEVICES", "value": "all" } ], "image": "vault.habana.ai/gaudi-docker/1.1.0/ubuntu20.04/habanalabs/tensorflow-installer-tf-cpu-2.6.0:1.1.0-614", "essential": true, "name": "tensorflow-installer-tf-hpu" } ] }