通过云合作伙伴启动
将 PyTorch 与 AWS 结合使用
为了获得 PyTorch 提供的完整体验,需要一台至少有一块专用 NVIDIA GPU 的机器。虽然并非总是实用,但我们可以使用基于云的解决方案来测试和使用 PyTorch 的全部功能。
AWS 提供两种
- 深度学习 AMI:专用的预构建机器学习实例,包含 PyTorch
- 深度学习基础 AMI:裸机 Linux 和 Windows 实例,供您自定义安装 PyTorch。
深度学习 AMI 快速入门
如果您想开始使用已安装 PyTorch 的 Linux AWS 实例,并且可以从命令行登录,本分步指南将帮助您完成此操作。
- 登录到您的 AWS 控制台。如果您没有 AWS 帐户,请参阅下面的 入门 部分。
- 单击
启动虚拟机
。 - 选择
深度学习 AMI (Ubuntu)
。这将为您提供一个实例,其中已安装预定义版本的 PyTorch。如果您想要一个需要安装 PyTorch 的裸机 AWS 实例,可以选择
深度学习基础 AMI (Ubuntu)
,它将提供硬件,但没有预先安装的软件。 - 选择 GPU 计算
p3.2xlarge
实例类型。您可以选择任何可用实例来尝试 PyTorch,即使是 *免费层*,但建议为了获得最佳性能,您获得一个 *GPU 计算* 或 *计算优化* 实例。其他实例选项包括计算优化 c5 系列(例如,
c5.2xlarge
)或通用计算 t2 系列或 t3 系列(例如,t2.2xlarge
)。请注意,如果您选择没有 GPU 的实例,PyTorch 将仅在 CPU 计算模式下运行,操作可能需要更长的时间。 - 单击
审查并启动
。 - 审查实例信息,然后单击
启动
。 - 如果您还没有,则需要
创建新的密钥对
。选择一个名称并通过下载密钥对
按钮将其下载到本地。 - 现在单击
启动实例
。现在您拥有一个可用于 PyTorch 的实时实例。如果您单击查看实例
,您将看到您的正在运行的实例。 - 记下
公共 DNS
,因为它将用于从命令行ssh
到您的实例。 - 打开一个命令行提示符
- 确保您的密钥对具有适当的权限,否则您将无法登录。键入
chmod 400 path/to/downloaded/key-pair.pem
。 - 键入
ssh -i path/to/downloaded/key-pair.pem ubuntu@<您记下的公共 DNS>
。例如,ssh -i ~/Downloads/aws-quick-start.pem [email protected]
。如果提示您继续连接,请键入yes
。 - 您现在应该看到类似于
ubuntu@ip-100-30-20-95
的提示。如果是这样,则表示您已连接到您的实例。 - 通过运行 以下验证步骤 来验证 PyTorch 是否已安装。
如果您选择
深度学习基础 AMI (Ubuntu)
而不是深度学习 AMI (Ubuntu)
,则需要安装 PyTorch。按照 Linux 入门指南 中的说明进行安装。
快速入门验证
为了确保 PyTorch 已正确安装,我们可以通过运行示例 PyTorch 代码来验证安装。在这里,我们将构建一个随机初始化的张量。
import torch
x = torch.rand(5, 3)
print(x)
输出应类似于
tensor([[0.3380, 0.3845, 0.3217],
[0.8337, 0.9050, 0.2650],
[0.2979, 0.7141, 0.9069],
[0.1449, 0.1132, 0.1375],
[0.4675, 0.3947, 0.1426]])
此外,要检查您的 GPU 驱动程序和 CUDA 是否已启用,并可供 PyTorch 访问,请运行以下命令以返回 CUDA 驱动程序是否已启用
import torch
torch.cuda.is_available()
AWS 入门
通常,您将使用 Amazon Elastic Compute Cloud(或 EC2)来启动您的实例。Amazon 有各种 实例类型,每种实例类型都针对特定的用例进行配置。对于 PyTorch,强烈建议您使用配备 GPU 或自定义 AI/ML 加速器的加速计算实例,因为它们适合机器学习的高计算需求。
为了使用 AWS,您需要设置一个 AWS 帐户(如果您还没有)。您将创建一个用户名(您的电子邮件地址)、密码和 AWS 帐户名称(因为您可以为不同的目的创建多个 AWS 帐户)。您还需要提供联系人和账单信息。账单信息很重要,因为虽然 AWS 提供他们称之为“免费层”实例,但要使用 PyTorch,您需要更强大的付费实例。
登录后,您将被带到您的 AWS 控制台。您还可以通过一系列 简单教程 了解更多关于 AWS 的信息。
基于 AWS Inferentia 的实例
AWS Inferentia 是由 AWS 自定义构建的芯片,用于在云中提供更高性能和低成本机器学习推理。 Amazon EC2 Inf1 实例 具有多达 16 个 AWS Inferentia 芯片、最新的第二代英特尔至强可扩展处理器和高达 100 Gbps 的网络,可在云中实现高吞吐量和最低成本推理。您可以将 Inf1 实例与 Amazon SageMaker 结合使用以获得完全托管的工作流程,或者直接使用与 PyTorch 集成的 AWS Neuron SDK。
基于 GPU 的实例
Amazon EC2 P4d 实例 在 AWS 上提供用于机器学习训练的最高性能。它们采用最新的 NVIDIA A100 Tensor Core GPU,并首次在云中提供 400 Gbps 实例网络。P4d 实例部署在称为 EC2 UltraClusters 的超大规模集群中,这些集群包含 4,000 多个 NVIDIA A100 GPU、Petabit 级非阻塞网络以及具有 FSx for Lustre 的可扩展低延迟存储。每个 EC2 UltraCluster 都提供超级计算机级的性能,使您能够解决最复杂的 multinode ML 训练任务。
对于 ML 推理,基于 AWS Inferentia 的 Inf1 实例在云中提供最低成本推理。此外, Amazon EC2 G4dn 实例 采用 NVIDIA T4 GPU,针对基于 GPU 的机器学习推理和利用 NVIDIA 库的小规模训练进行了优化。
创建和启动实例
一旦您决定了实例类型,您将需要创建、可选配置并启动您的实例。您可以从 Web 浏览器或命令行界面连接到您的实例。以下是针对不同平台的实例启动指南
Amazon SageMaker
借助 SageMaker 服务,AWS 提供了一个完全托管的服务,允许开发人员和数据科学家构建、训练和部署机器学习模型。
查看 AWS 文档以了解 如何使用 PyTorch 配置 Amazon SageMaker。
预构建的 AMI
AWS 提供了预先构建了最新版 PyTorch 的实例(称为 AWS 深度学习 AMI)。可用的 AMI 是
- Ubuntu
- Amazon Linux
- Windows 2016
Amazon 撰写了一篇优秀的 博客文章,介绍如何使用预构建的 AMI 入门。
从头开始安装 PyTorch
您可能更倾向于从一个裸实例开始安装 PyTorch。连接到您的实例后,设置 PyTorch 与 在本地设置 对于您选择的操作系统是相同的。
将 PyTorch 与 Google Cloud 一起使用
为了获得 PyTorch 提供的完整体验,需要一台至少有一块专用 NVIDIA GPU 的机器。虽然并非总是实用,但我们可以使用基于云的解决方案来测试和使用 PyTorch 的全部功能。
Google Cloud 提供 两种
- 专用的预构建 机器学习平台,包含 PyTorch
- 裸 Linux 和 Windows 虚拟机,供您自定义安装 PyTorch。
Google Cloud 简介
为了使用 Google Cloud,您需要设置一个 Google 帐户,如果您还没有的话。您将创建一个用户名(通常是一个 @gmail.com
电子邮件地址)和密码。之后,您就可以 试用 Google Cloud。您还需要提供联系方式和账单信息。账单信息最初用于证明您是真实的人。然后,在试用期结束后,您可以选择升级到付费帐户。
登录后,您将被带到您的 Google Cloud 控制台。您甚至可以通过一组 简单教程 了解更多关于 Google Cloud 的信息。
云深度学习 VM 映像
Google Cloud 提供无需设置的预配置虚拟机,帮助您构建深度学习项目。 Cloud Deep Learning VM Image 是一组基于 Debian 的虚拟机,允许您 构建和运行 基于 PyTorch 的机器学习应用程序。
基于 GPU 的虚拟机
对于自定义虚拟机,通常您需要使用 Compute Engine 虚拟机实例),启用 GPU,使用 PyTorch 进行构建。Google 有 各种虚拟机类型 和定价选项,包括 Linux 和 Windows,所有这些都可以配置为特定用例。对于 PyTorch,强烈建议您使用 启用 GPU 的虚拟机。它们专为机器学习的高计算需求而设计。
虚拟机的成本与其包含的 GPU 数量直接相关。例如,一台 NVIDIA Tesla P100 虚拟机实际上可以满足许多用例的需求。
深度学习容器
Google Cloud 还提供预配置和优化的深度学习容器。它们在 Google Cloud 服务中提供一致的环境,使您能够轻松地在云端扩展或从本地迁移。您可以灵活地在 Google Kubernetes Engine (GKE)、AI Platform、Cloud Run、Compute Engine、Kubernetes 和 Docker Swarm 上部署。
从头开始安装 PyTorch
您可能更倾向于从一个裸实例开始安装 PyTorch。连接到您的实例后,设置 PyTorch 与 在本地设置 对于您选择的操作系统是相同的。
将 PyTorch 与 Azure 一起使用
为了获得 PyTorch 提供的完整体验,需要一台至少有一块专用 NVIDIA GPU 的机器。虽然并非总是实用,但我们可以使用基于云的解决方案来测试和使用 PyTorch 的全部功能。
Azure 提供
- 一个 机器学习服务,它提供强大的 Python SDK,帮助您在云规模上训练和部署 PyTorch 模型。
- 专用的预构建 机器学习虚拟机,包含 PyTorch。
- 裸 Linux 和 Windows 虚拟机,供您自定义安装 PyTorch。
Azure 简介
为了使用 Azure,您需要设置一个 Azure 帐户,如果您还没有的话。您将使用 Microsoft 认可的电子邮件地址和密码。您还需要通过提供联系方式和账单信息来验证您的身份。账单信息是必要的,因为虽然 Azure 提供免费使用额度和免费服务,但您可能还需要或想要更高级的服务。
登录后,您将被带到您的 Azure 门户。您甚至可以通过一组 简单的视频教程 了解更多关于 Azure 的信息。
Azure 机器学习服务
Azure 机器学习服务 是一种基于云的服务,您可以使用它来加速您的端到端机器学习工作流,从训练到生产。Azure 机器学习使您可以轻松地从在本地机器上训练 PyTorch 模型迁移到云端扩展。使用 Azure ML 的 CLI 或 Python SDK,您可以利用该服务的先进功能进行分布式训练、超参数调整、运行历史跟踪和生产规模的模型部署。
查看 文档 以了解如何将 PyTorch 与 Azure 机器学习一起使用。
预配置的数据科学虚拟机
Azure 提供 预配置 的数据学习和机器学习虚拟机。PyTorch 在其中许多虚拟机上都可用 - 例如,这是关于如何在 Ubuntu Linux 上设置 Azure 虚拟机的 文档。
基于 GPU 的虚拟机
Microsoft 提供各种虚拟机类型和定价选项,包括 Linux 和 Windows,所有这些都针对特定用例进行了配置。对于 PyTorch,强烈建议您使用 GPU 优化 的虚拟机。它们专为机器学习的高计算需求而设计。
虚拟机的成本与其包含的 GPU 数量直接相关。例如,NC6 虚拟机是最小、最便宜的虚拟机之一,实际上可以满足许多用例的需求。
从头开始安装 PyTorch
您可能更倾向于从一个裸虚拟机开始安装 PyTorch。连接到您的虚拟机后,设置 PyTorch 与 在本地设置 对于您选择的操作系统是相同的。