设置 AWS Trainium 实例
在本指南中,我们将向您展示
- 如何创建 AWS Trainium 实例
- 如何在您的实例上使用和运行 Jupyter Notebook
创建 AWS Trainium 实例
使用 AWS Trainium 和 Hugging Face Transformers 的最简单方法是 Hugging Face Neuron 深度学习 AMI (DLAMI)。DLAMI 预先打包了所有必需的库,包括 Neuron 驱动程序、Transformers、数据集和 Accelerate。
要创建 EC2 Trainium 实例,您可以从控制台或 Marketplace 开始。本指南将从 EC2 控制台 开始。
从 EC2 控制台 的 us-east-1 区域开始,您首先单击 **启动实例** 并为实例定义一个名称 (trainium-huggingface-demo
)。
接下来,您在 Amazon Marketplace 中搜索 Hugging Face AMI。在“应用程序和操作系统映像”的搜索栏中输入“Hugging Face”并按“Enter”。
现在应该打开“选择 Amazon 机器映像”视图并进行搜索。您现在可以导航到“AWS Marketplace AMI”并找到 Hugging Face Neuron 深度学习 AMI 并单击选择。
如果您尚未订阅,系统将要求您订阅。AMI 完全免费,您只需为 EC2 计算付费。
然后您需要定义一个密钥对,它将用于通过 ssh
连接到实例。如果您没有密钥对,可以当场创建一个。
之后,创建或选择一个 安全组。重要的是您要允许 ssh
流量。
您已准备好启动我们的实例。因此,单击右侧的“启动实例”。
AWS 现在将使用 Hugging Face Neuron 深度学习 AMI 来配置实例。可以通过增加磁盘空间或创建实例配置文件来访问其他 AWS 服务来进行额外的配置。
实例运行后,您可以查看并复制公共 IPv4 地址以通过 ssh
登录到机器。
将下面代码片段中的空字符串 ""
替换为您实例的 IP 地址以及在启动实例时创建/选择的密钥对的路径。
PUBLIC_DNS="" # IP address
KEY_PATH="" # local path to key pair
ssh -i $KEY_PATH ubuntu@$PUBLIC_DNS
连接后,您可以运行 neuron-ls
以确保您有权访问 Trainium 加速器。您应该看到与以下输出类似的内容。
ubuntu@ip-172-31-79-164:~$ neuron-ls
instance-type: trn1.2xlarge
instance-id: i-0570615e41700a481
+--------+--------+--------+---------+
| NEURON | NEURON | NEURON | PCI |
| DEVICE | CORES | MEMORY | BDF |
+--------+--------+--------+---------+
| 0 | 2 | 32 GB | 00:1e.0 |
+--------+--------+--------+---------+
在 AWS Trainium 实例上配置 Jupyter Notebook
实例启动并运行后,我们可以通过 ssh 登录到它。但除了在终端内进行开发之外,也可以使用 Jupyter Notebook
环境。我们可以使用它来准备我们的数据集并启动训练(至少在单节点上工作时)。
为此,我们需要在 ssh
命令中添加一个端口用于转发,这将把我们的本地主机流量隧道到 Trainium 实例。
PUBLIC_DNS="" # IP address, e.g. ec2-3-80-....
KEY_PATH="" # local path to key, e.g. ssh/trn.pem
ssh -L 8080:localhost:8080 -i ${KEY_NAME}.pem ubuntu@$PUBLIC_DNS
完成了!您现在可以使用 Hugging Face Transformers 开始使用 Trainium 加速器。查看 使用 AWS Trainium 微调 Transformers 指南以开始使用。