设置 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
)。
![name instance](https://raw.githubusercontent.com/huggingface/optimum-neuron/main/docs/assets/guides/setup_aws_instance/01-name-instance.png)
接下来,您在 Amazon Marketplace 中搜索 Hugging Face AMI。在“应用程序和操作系统映像”的搜索栏中输入“Hugging Face”并按“Enter”。
![search ami](https://raw.githubusercontent.com/huggingface/optimum-neuron/main/docs/assets/guides/setup_aws_instance/02-search-ami.png)
现在应该打开“选择 Amazon 机器映像”视图并进行搜索。您现在可以导航到“AWS Marketplace AMI”并找到 Hugging Face Neuron 深度学习 AMI 并单击选择。
![select ami](https://raw.githubusercontent.com/huggingface/optimum-neuron/main/docs/assets/guides/setup_aws_instance/03-select-ami.png)
如果您尚未订阅,系统将要求您订阅。AMI 完全免费,您只需为 EC2 计算付费。
然后您需要定义一个密钥对,它将用于通过 ssh
连接到实例。如果您没有密钥对,可以当场创建一个。
![select ssh key](https://raw.githubusercontent.com/huggingface/optimum-neuron/main/docs/assets/guides/setup_aws_instance/04-select-key.png)
之后,创建或选择一个 安全组。重要的是您要允许 ssh
流量。
![select security group](https://raw.githubusercontent.com/huggingface/optimum-neuron/main/docs/assets/guides/setup_aws_instance/05-select-sh.png)
您已准备好启动我们的实例。因此,单击右侧的“启动实例”。
![select ssh key](https://raw.githubusercontent.com/huggingface/optimum-neuron/main/docs/assets/guides/setup_aws_instance/06-launch-instance.png)
AWS 现在将使用 Hugging Face Neuron 深度学习 AMI 来配置实例。可以通过增加磁盘空间或创建实例配置文件来访问其他 AWS 服务来进行额外的配置。
实例运行后,您可以查看并复制公共 IPv4 地址以通过 ssh
登录到机器。
![select public dns](https://raw.githubusercontent.com/huggingface/optimum-neuron/main/docs/assets/guides/setup_aws_instance/07-copy-dns.png)
将下面代码片段中的空字符串 ""
替换为您实例的 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 指南以开始使用。