本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在 Amazon ECS 上使用深度学习 DL1 实例
要在 Amazon ECS 上使用深度学习工作负载,请将 Amazon EC2 DL1
注意事项
在 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:
-
Amazon Web Services Marketplace 此处由 Habana 提供的 AMI。
-
Amazon Web Services 提供的 Habana 深度学习 AMI。因为它不包括在内,因此您需要单独安装 Amazon ECS 容器代理。
-
使用 Packer 构建存储库提供的自定义 AMI。GitHub
有关更多信息,请参阅 Packer 文档 。
任务定义要求
要在 Amazon ECS 上运行 Habana Gaudi 加速深度学习容器,您的任务定义必须包含预建容器的容器定义,该容器为深度学习模型提供 TensorFlow 或 PyTorch 使用 Habana SynapseAI 的深度学习模型,该容器由 Deep Learning Containers 提供。 Amazon
以下容器镜像有 TensorFlow 2.7.0 和 Ubuntu 20.04。针对Habana Gaudi加速器进行了优化的预建Deep Learning Containers的完整列表已保存在中。 GitHub有关更多信息,请参阅 Habana Training Containers
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" } ] }