深度学习 AMI 开发人员指南 深度学习 AMI 开发人员指南 深度学习 AMI: 开发人员指南 Copyright © 2023 Amazon Web Services, Inc. and/or its affiliates. All rights reserved. Amazon 的商标和商业外观不得用于任何非 Amazon 的商品或服务,也不得以任何可能引起客户混淆、贬低或诋毁 Amazon 的方式使用。所有非 Amazon 拥有的其它商标均为各自所有者的财产,这些所有者可能附属于 Amazon、与 Amazon 有关联或由 Amazon 赞助,也可能不是如此。 深度学习 AMI 开发人员指南 Table of Contents AWS Deep Learning AMI 是什么?....................................................................................................... 1 关于本指南................................................................................................................................ 1 先决条件 .................................................................................................................................... 1 用例 .......................................................................................................................................... 1 功能 .......................................................................................................................................... 1 预装框架 ............................................................................................................................ 1 预装 GPU 软件.................................................................................................................. 2 模型处理和可视化 ............................................................................................................... 2 入门 .................................................................................................................................................. 3 如何开始使用 DLAMI................................................................................................................... 3 DLAMI 精选............................................................................................................................... 3 CUDA 安装和框架绑定........................................................................................................ 3 基础 .................................................................................................................................. 4 Conda............................................................................................................................... 4 架构 .................................................................................................................................. 5 OS................................................................................................................................... 6 实例选择 .................................................................................................................................... 6 定价 .................................................................................................................................. 7 区域可用性........................................................................................................................ 7 GPU................................................................................................................................. 7 CPU................................................................................................................................. 8 推论 .................................................................................................................................. 8 哈瓦那............................................................................................................................... 8 框架Support 政策.............................................................................................................................. 10 支持的框架............................................................................................................................... 10 常见问题 .................................................................................................................................. 10 哪些框架版本有安全补丁?................................................................................................. 10 AWS发布新框架版本时会发布哪些图片?.............................................................................. 11 哪些图像有新 SageMaker/AWS功能?.................................................................................. 11 在支持的框架表中如何定义当前版本?.................................................................................. 11 如果我运行的版本不在 “支持的框架” 表中怎么办?.................................................................. 11 dlamis 是否支持以前的版本 TensorFlow?............................................................................ 11 如何找到支持的框架版本的最新补丁图像? ............................................................................ 11 新图片多久发布一次?....................................................................................................... 11 我的工作负载正在运行时,我的实例会被修补到位吗?............................................................ 11 当有新的补丁或更新的框架版本可用时会发生什么? ................................................................ 11 依赖关系是否在不更改框架版本的情况下更新? ...................................................................... 12 对我的框架版本的积极支持何时结束?.................................................................................. 12 框架版本中不再活跃维护的镜像会被修补吗? ......................................................................... 13 如何使用较旧的框架版本?................................................................................................. 13 如何继续关注框架及其版本 up-to-date 的支持变更?............................................................... 13 我需要商业许可才能使用 Anaconda 存储库吗?..................................................................... 13 启动 DLAMI..................................................................................................................................... 14 步骤 1:启动一个 DLAMI........................................................................................................... 14 检索 DLAMI ID................................................................................................................. 14 从 Amazon EC2 控制台启动 ............................................................................................... 15 步骤 2:Connect 到 DLAMI........................................................................................................ 16 步骤 3:测试您的 DLAMI........................................................................................................... 16 步骤 4:管理您的 DLAMI 实例.................................................................................................... 16 清除 ........................................................................................................................................ 16 Jupyter 设置............................................................................................................................. 17 保护 Jupyter..................................................................................................................... 17 启动服务器....................................................................................................................... 18 配置客户端....................................................................................................................... 18 iii 深度学习 AMI 开发人员指南 登录 Jupyter Notebook 服务器............................................................................................ 19 使用 DLAMI..................................................................................................................................... 23 Conda DLAMI.......................................................................................................................... 23 使用 Conda 的深度学习 AMI 简介 ....................................................................................... 23 登录到你的 DLAMI............................................................................................................ 23 启动 TensorFlow 环境....................................................................................................... 24 切换到 PyTorch Python 3 环境............................................................................................ 25 切换到 MXNet Python 3 环境.............................................................................................. 25 删除环境 .......................................................................................................................... 26 Base DLAMI............................................................................................................................. 26 使用深度学习基础 AMI....................................................................................................... 26 配置 CUDA 版本............................................................................................................... 26 Jupyter 笔记本.......................................................................................................................... 27 导航已安装的教程 .............................................................................................................. 27 通过 Jupyter 切换环境....................................................................................................... 27 教程 ........................................................................................................................................ 28 10 分钟教程..................................................................................................................... 28 激活框架 .......................................................................................................................... 28 调试和可视化.................................................................................................................... 41 分布式训练....................................................................................................................... 44 Elastic Fabric Adapter....................................................................................................... 60 GPU 监控和优化............................................................................................................... 73 AWSInferentia.................................................................................................................. 80 Graviton DLAMI................................................................................................................ 94 哈瓦那 DLAMI................................................................................................................. 101 推理 .............................................................................................................................. 102 将框架用于 ONNX........................................................................................................... 106 模型处理 ........................................................................................................................ 114 升级你的 DLAMI.............................................................................................................................. 120 DLAMI 升级............................................................................................................................ 120 软件更新 ................................................................................................................................ 120 安全性........................................................................................................................................... 121 数据保护 ................................................................................................................................ 121 Identity and Access Management.............................................................................................. 122 使用身份进行身份验证...................................................................................................... 122 使用策略管理访问 ............................................................................................................ 123 IAM 与 Amazon EMR 结合使用......................................................................................... 125 日志记录和监控 ....................................................................................................................... 125 使用情况跟踪.................................................................................................................. 125 合规性验证............................................................................................................................. 125 故障恢复能力.......................................................................................................................... 126 基础设施安全性 ....................................................................................................................... 126 相关信息........................................................................................................................................ 127 论坛 ...................................................................................................................................... 127 博客 ...................................................................................................................................... 127 常见问题 ................................................................................................................................ 127 DLAMI 的发布说明.......................................................................................................................... 130 单框架 DLAMI......................................................................................................................... 130 多框架 DLAMI......................................................................................................................... 131 GPU DLAMI........................................................................................................................... 131 哈瓦那 DLAMI......................................................................................................................... 132 Base DLAMI........................................................................................................................... 132 DLAMI 用....................................................................................................................................... 133 文档历史记录................................................................................................................................. 134 AWS词汇表.................................................................................................................................... 137 ................................................................................................................................................ cxxxviii iv 深度学习 AMI 开发人员指南 关于本指南 AWS Deep Learning AMI 是什么? 欢迎阅读 AWS Deep Learning AMI 用户指南。 AWS Deep Learning AMI(DLAMI) 是您在云端进行深度学习的一站式商店。此自定义计算机实例在大多数 Amazon EC2 地区可用于各种实例类型,从仅限 CPU 的小型实例到最新的高性能多 GPU 实例。它预先配置 了 NVIDIA C UDA 和 NVIDIA cuDNN,以及最受欢迎的深度学习框架的最新版本。 关于本指南 本指南将帮助您启动和使用 DLAMI。它介绍了用于培训和推导的深度学习的几种常见使用案例。本指南还介 绍了如何针对您的用途选择合适的 AMI 和您喜欢的实例类型。DLAMI 为每个框架提供了多个教程。它还包 含有关分布式训练、调试、使用AWS Inferentia 和其他关键概念的教程。您将找到关于如何配置 Jupyter 以 在浏览器中运行教程的说明。 先决条件 要成功运行 DLAMI,你应该熟悉命令行工具和基本 Python。框架自身提供有关如何使用每个框架的教程, 但是本指南可以向您展示如何激活每个框架并找到适当的入门教程。 DLAMI 功能 学习深度学习:DLAMI 是学习或教学机器学习和深度学习框架的绝佳选择。它不需要对每个框架的安装进行 故障排除,并在同一台计算机上运行框架。DLAMI 附带 Jupyter 笔记本,可以轻松运行框架为机器学习和深 度学习新手提供的教程。 应用程序开发:如果您是应用程序开发人员,并且有兴趣使用深度学习让您的应用程序利用人工智能的最新 进展,那么DLAMI是您的理想测试平台。每个框架都附带了关于如何开始使用深度学习的教程,其中许多教 程都有模型动物园,可以让您轻松试用深度学习,您不需要自己创建神经网络或进行模型训练。一些示例向 您展示如何在几分钟内构建映像检测应用程序,或如何为您自己的聊天自动程序构建语音识别应用程序。 机器学习和数据分析:如果您是数据科学家或有兴趣通过深度学习处理数据,您会发现许多框架都支持 R 和 Spark。您将找到关于进行简单回归的教程,以及为个性化和预测系统构建可扩展的数据处理系统的教程。 研究:如果你是一名研究人员,想要尝试新框架、测试新模型或训练新模型,那么 DLAMI 和扩展AWS功能 可以减轻繁琐的安装和管理多个训练节点的痛苦。 Note 虽然您最初的选择可能是将您的实例类型升级到具有更多 GPU 的更大实例(最多 8 个),但 您也可以通过创建 DLAMI 实例集群来横向扩展。有关集群构建的更多信息,请参阅 相关信 息 (p. 127)。 Diling 功能 预装框架 目前,DLAMI 有两种主要版本,还有与操作系统 (OS) 和软件版本相关的其他变体: 1 深度学习 AMI 开发人员指南 预装 GPU 软件 • 使用 Conda 进行深度学习 AMI (p. 4) - 在单独的 Python 环境中使用 conda 程序包单独安装的框架 • Dep LearnAMI (p. 4)-未安装框架;只有 NVIDIA CUDA 和其他依赖项 带有 Conda 的深度学习 AMI 使用conda环境来隔离每个框架,因此您可以随意在它们之间切换,而不必担 心它们的依赖关系会发生冲突。 以下是带有 Conda 的深度学习 AMI 支持的框架的完整列表: • Apache MXNet(孵化中) • PyTorch • TensorFlow 2 Note 从 v28 版本AWS Deep Learning AMI开始,我们不再包含 CNTK、Caffe、Caffe2、Theano、Chainer 或 Keras Conda 环境。包含这些环境的先前版本的 AWS Deep Learning AMI 将继续可用。但是,只有在开源社区针对这些框架发布安全修补程序时, 我们才会为这些环境提供更新。 预装 GPU 软件 即使你使用仅限 CPU 的实例,DLAMI 也会有 NVIDIA CUDA 和 N VIDIA cuDNN。无论实例类型是什么,安 装的软件都是相同的。请记住,GPU 特定工具只适用于至少包含一个 GPU 的实例。为 DLAMI 选择实例类 型 (p. 6)中包含有关此内容的更多信息。 有关 CUDA 安装的更多信息,请参阅CUDA 安装和框架绑定 (p. 3)。 模型处理和可视化 带有 Conda 的深度学习 AMI 预装了两种模型服务器,一种用于 MXNet TensorFlow,另一种用于模型可视 化。 TensorBoard • 适用于 Apache MXNet 的模型服务器 (MMS) (p. 114) • TensorFlow 服务 (p. 116) • TensorBoard (p. 43) 2 深度学习 AMI 开发人员指南 如何开始使用 DLAMI 入门 如何开始使用 DLAMI 本指南包括有关如何选择适合您的 DLAMI、选择适合您的用例和预算的实例类型以及描述相关信 息 (p. 127)可能感兴趣的自定义设置的技巧。 如果您不熟悉使用AWS或使用 Amazon EC2,请从使用 Conda 进行深度学习 AMI (p. 4)。如果您熟悉 Amazon EC2 和其他AWS服务,如 Amazon EMR、Amazon EFS 或 Amazon S3,并且有兴趣将这些服务集 成相关信息 (p. 127)到需要分布式训练或推理的项目中,那么请查看是否适合您的用例。 我们建议您查看选择你的 DLAMI (p. 3),以了解最适合您的应用程序的实例类型。 另一个选项是这个快速教程:启动AWS Deep Learning AMI(10 分钟后)。 下一个步骤 选择你的 DLAMI (p. 3) 选择你的 DLAMI 我们提供一系列 DLAMI 选项。为了帮助您为您的用例选择正确的 DLAMI,我们按开发图像的硬件类型或功 能对图像进行分组。我们的顶级分组是: • DLAMI 类型:CUDA 对比基础框架 vs 单框架与多框架 (Conda DLAMI) • 计算架构:基于 x86 与基于 Arm 的 AWSGraviton • 处理器类型:GPU 与 CPU 对比 Inferentia vs Habana • SDK:CUDA vs AWSNeuron vs SynapsesaI • 操作系统:亚马逊 Linux 对比 Ubuntu 本指南中的其余主题有助于进一步为您提供信息并了解更多细节。 主题 • CUDA 安装和框架绑定 (p. 3) • Dep LearnAMI (p. 4) • 使用 Conda 进行深度学习 AMI (p. 4) • DLAMI CPU 架构选项 (p. 5) • DLAMI 操作系统选项 (p. 6) 后续步骤 使用 Conda 进行深度学习 AMI (p. 4) CUDA 安装和框架绑定 虽然深度学习都非常前沿,但每个框架都提供 “稳定” 版本。这些稳定版本可能不适用于最新的 CUDA 或 cuDNN 实施和功能。您的用例和所需的功能可以帮助您选择框架。如果您不确定,请在 Conda 上使用最 新的深度学习 AMI。它为所有带有 CUDA 10 的框架提供官方pip二进制文件,使用每个框架支持的最新版 本。如果您想要最新版本并自定义深度学习环境,请使用深度学习基础 AMI。 3 深度学习 AMI 开发人员指南 基础 如需进一步指导,请在 稳定版与候选发行版的对比 (p. 5) 上查看我们的指南。 选择带有 CUDA 的 DLAMI 包含所有可用的Dep LearnAMI (p. 4) CUDA 11 系列,包括 11.0、11.1 和 11.2。 包含所有可用的使用 Conda 进行深度学习 AMI (p. 4) CUDA 11 系列,包括 11.0、11.1 和 11.2。 Note 从 v28 版本AWS Deep Learning AMI开始,我们不再包含 CNTK、Caffe、Caffe2、Theano、Chainer 或 Keras Conda 环境。包含这些环境AWS Deep Learning AMI的先前版本继续可用。但是,只有在开源社区发布了针对这些框架的安全补丁时,我 们才会为这些环境提供更新。 有关特定框架版本号,请参阅DLAMI 的发布说明 (p. 130) 选择这种 DLAMI 类型,或者通过 Ne xt Up 选项了解有关不同的 DLAMI 的更多信息。 选择一个 CUDA 版本并在附录中查看包含该版本的 dlami 的完整列表,或者通过 Ne xt Up 选项了解有关不 同 dlami 的更多信息。 后续步骤 Dep LearnAMI (p. 4) 相关主题 • 有关在 CUDA 版本之间切换的说明,请参阅使用深度学习基础 AMI (p. 26)教程。 Dep LearnAMI 深度学习基础 AMI 就像一块用于深度学习的空白画布。它包含在安装特定框架之前你需要的一切,你可以选 择 CUDA 版本。 为什么要选择基本 DLAMI 该 AMI 团队对于那些想要分享深度学习项目和建立最新版本的项目贡献者非常有用。适用于那些希望推出自 己环境且有信心安装和使用最新 NVIDIA 软件的人员,从而他们可以专注于选择要安装的框架和版本。 选择这种 DLAMI 类型,或者通过 Ne xt Up 选项了解有关不同的 DLAMI 的更多信息。 后续步骤 DLAMI 和 Conda 相关主题 • 使用深度学习基础 AMI 使用 Conda 进行深度学习 AMI Conda DLAMI 使用conda虚拟环境。这些环境的配置是为了将不同的框架安装分开并简化框架之间的切换。 这对于学习和试验 DLAMI 提供的所有框架非常有用。大多数用户发现带有 Conda 的新型深度学习 AMI 非常 适合他们。 4 深度学习 AMI 开发人员指南 架构 这些 AMI 是主要的 DLAMI。它们经常使用框架的最新版本进行更新,并具有最新的 GPU 驱动程序和软件。 它们通常AWS Deep Learning AMI在大多数文档中被称为。 • Ubuntu 18.04 DLAMI 有以下框架:Apache MXNet(孵化)和 TensorFlow 2。 PyTorch • 亚马逊 Linux 2 DLAMI 有以下框架:Apache MXNet(孵化)和 TensorFlow 2。 PyTorch Note 从 v28 版本AWS Deep Learning AMI开始,我们就不再包含 CNTK、Caffe、Caffe2、Theano、Chainer 和 Keras Conda 环境。包含这些环境AWS Deep Learning AMI的先前版本继续可用。但是,只有在开源社区发布了针对这些框架的安全补丁时,我 们才会为这些环境提供更新。 稳定版与候选发行版的对比 Conda AMI 使用每个框架中最新正式版本的优化二进制文件。不会有候选版本和实验性功能。优化取决于框 架对加速技术的支持,例如英特尔的 MKL DNN,它可以加快 C5 和 C4 CPU 实例类型的训练和推断。二进 制文件还经过编译以支持英特尔高级指令集,包括但不限于 AVX、AVX-2、SSE4.1 和 SSE4.2。这些指令将 加快 Intel CPU 架构上向量和浮点运算的速度。此外,对于 GPU 实例类型,CUDA 和 cuDNN 将使用最新官 方版本支持的任何版本进行更新。 带有 Conda 的深度学习 AMI 会在框架首次激活时自动为您的 Amazon EC2 实例安装最优化的框架版本。有 关更多信息,请参阅 在 Conda 上使用深度学习 AMI (p. 23)。 如果您想使用自定义或优化的编译选项从源代码安装,则Dep LearnAMI (p. 4) s 可能是更好的选择。 Python 2 弃用 Python 开源社区已于 2020 年 1 月 1 日正式结束对 Python 2 的支持。 TensorFlow 和 PyTorch 社区宣 布, TensorFlow 2.1 和 PyTorch 1.4 版本是最后一个支持 Python 2 的版本。包含 Python 2 Conda 环境的 DLAMI(v26、v25 等)的先前版本继续可用。但是,只有在开源社区发布了针对先前发布的 DLAMI 版本的 Python 2 Conda 环境的安全补丁时,我们才会为这些版本提供更新。包含最新版本 TensorFlow 和 PyTorch 框架的 DLAMI 版本不包含 Python 2 Conda 环境。 CUDA 支持 具体的 CUDA 版本号可以在 GPU DLAMI 发行说明中找到。 后续步骤 DLAMI CPU 架构选项 (p. 5) 相关主题 • 有关在 Conda 中使用深度学习 AMI 的在 Conda 上使用深度学习 AMI (p. 23)教程,请参阅教程。 DLAMI CPU 架构选项 AWS Deep Learning AMIs 由基于 x86 或基于 Arm 的 Gr AWSaviton2 CPU 架构提供。 选择一个 Graviton GPU dLAMI 来使用基于 ARM 的 CPU 架构。所有其他 GPU dLAMI 目前都基于 x86。 • AWS深度学习 AMI Graviton GPU CUDA 11.4 (Ubuntu 20.04) • AWS深度学习 AMI Graviton GPU TensorFlow 2.6 (Ubuntu 20.04) • AWS深度学习 AMI Graviton GPU PyTorch 1.10 (Ubuntu 20.04) 5 深度学习 AMI 开发人员指南 OS 有关 AmaZon GS 的 AmaZon GDLAMI 入门信息,请参阅Graviton DLAMI (p. 94)。有关可用实例类型的 更多详细信息,请参阅为 DLAMI 选择实例类型 (p. 6)。 后续步骤 DLAMI 操作系统选项 (p. 6) DLAMI 操作系统选项 以下操作系统提供 dLaMis。 • Amazon Linux 2 • Ubuntu 20.04 • Ubuntu 18.04 旧版本的操作系统可在过时的 DLAMI 上使用。有关弃用 DLAMI 的更多信息,请参阅 DLAMI 的弃用 在选择 DLAMI 之前,请评估您需要的实例类型并确定您的AWS区域。 后续步骤 为 DLAMI 选择实例类型 (p. 6) 为 DLAMI 选择实例类型 有关与特定 DLAMI 兼容的推荐的 Amazon EC2 实例系列,请参阅AWS Deep Learning AMI目录。 更一般地说,在为 DLAMI 选择实例类型时,请考虑以下几点。 • 如果你是深度学习的新手,那么具有单个 GPU 的实例可能会满足你的需求。 • 如果你精打细算,那么你可以使用仅限 CPU 的实例。 • 如果你想优化深度学习模型推断的高性能和成本效益,那么你可以使用带有AWS Inferentia 芯片的实例。 • 如果你想优化深度学习模型训练的高性能和成本效益,那么你可以使用带有 Habana 加速器的实例。 • 如果您正在寻找具有基于 ARM 的 CPU 架构的高性能 GPU 实例,则可以使用 g5G 实例类型。 • 如果您有兴趣运行预训练模型进行推理和预测,则可以将 Amazon Elastic Inference 附加到您的 Amazon EC2 实例。借Amazon Elastic Inference,您可以访问带有 GPU 几分之一的加速器。 • 对于高容量推理服务,具有大量内存的单个 CPU 实例或此类实例的集群可能是更好的解决方案。 • 如果您使用的是具有大量数据或批量大小较大的大型模型,则需要具有更多内存的更大实例。您也可以将 模型分发到 GPU 集群。您可能会发现,如果减小批处理大小,则使用内存较少的实例将是更好的选择。 这可能会影响您的准确性和训练速度。 • 如果您有兴趣使用 NVIDIA 集体通信库 (NCCCCL) 运行要求大规模高级别节点间通信的应用程序,则可能 需要E lastic Fabric Adapter (EFA) 信。 有关实例的更多详细信息,请参阅 EC2 实例类型。 以下主题提供有关实例类型注意事项的信息。 Important Deep Learning AMI 包含由 NVIDIA Corporation 开发、拥有或提供的驱动程序、软件或工具包。您 同意仅在包含 NVIDIA 硬件的 Amazon EC2 实例上使用这些 NVIDIA 驱动程序、软件或工具包。 主题 6
Description: