通过云合作伙伴启动
将 PyTorch 与 AWS 结合使用
为了充分体验 PyTorch 的功能,需要一台至少配备一个专用 NVIDIA GPU 的机器。虽然拥有符合这些规格的机器并不总是切合实际,但我们提供了基于云的解决方案,使您能够测试和使用 PyTorch 的全部功能。
AWS 提供 两种
- 深度学习 AMI:专用的预构建机器学习实例,包含 PyTorch
- 深度学习基础 AMI:用于自定义安装 PyTorch 的裸机 Linux 和 Windows 实例。
深度学习 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)来启动您的实例。亚马逊有各种 实例类型,每种类型都针对特定用例进行了配置。对于 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 提供超级计算机级别的性能,使您能够解决最复杂的多节点 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 的方法与 本地设置 相同,适用于您选择的操作系统。
在 Google Cloud 中使用 PyTorch
为了充分体验 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 的方法与 本地设置 相同,适用于您选择的操作系统。
在 Azure 中使用 PyTorch
为了充分体验 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 与 在本地设置 对于您选择的操作系统相同。