Day 02 - 选择具有GPU的EC2并完成配置
需要配置一台电脑来处理接下来所有的服务,因为这是深度学习的应用,所以需要使用到GPU,而GPU的配置十分繁琐,而透过AWS EC2来配置的话,只要选择好对应的个体类型与AMI(Amazon Machine Image),可以很快的完成主机的配置。关于EC2的详细操作,可参考先前的 Amazon Elastic Compute Cloud (EC2) 笔记),在这里只简单的把画面撷取下来。
首先要确认随选的个体(instance)是否有足够的数量可供使用,因为通常一些比较特别的个体类型,预设未必会提供,需要向 Support Center 发出请求案例(case),才可以得到可配置的数量,下图为新加坡地区 EC2 控制台的操作画面,点击左边功能导航条的限制,就会在右手边出现所有AWS的限制,输入instance进行过滤,就可以得到所有个体的相关限制,我们可以看到随需G instance的限制为768 vCPU。
图1、检视EC2中个体的限制
接下来就可以开始配置一台拥有GPU的EC2,点击左边功能导航条的实例,接着在主画面中点击启动实例,进入Step 1: Choose an Amazon Machine Image(AMI),在搜索文字方块中输入deep learning,进行过滤。会出现很多符合这个关键字的AMI,拉到画面最下方点击143 results in AWS Marketplace如下图所示,因为客制化的AMI很多是要另外收费的,也就是你用 AMI 要收费,运行 AMI 的个体也要收费,使用AWS自己设计的AMI通常是不收费的,不过,重点是透过这个步骤可以看到这个 AMI 的详细介绍。
图2、检视在AWS市场中符合deep learning的AMI
在下图中可以看到这个AMI所安装的操作系统-Amazon Linux 2,已经安装的深度学习套件-TensorFlow,MXNet,PyTorch,and tools like TensorBoard,TensorFlow Serving,and Multi Model Server.跟相关的gpu套件-NVIDIA CUDA,cuDNN,and Intel MKL-DNN。点击最下方的AWS Deep Learning AMI (Amazon Linux 2) product detail page on AWS Marketplace可以看到整个 AMI 的详细介绍以及如何在这个 AMI 下进行操作。
图3、检视在AWS Deep Learning AMI的属性
下图为 AWS Deep Learning AMI (Amazon Linux 2) 这个镜像的定价画面,通常镜像供应商(Vendor)会提出一个建议的个体,以这个镜像而言,它推荐的是p3.2xlarge这个个体类型,但在新加坡地区的定价是每小时4.234美元,在考察成本的情况下,选择g4dn.2xlarge,每小时1.052美元。
- Region: Asia Pacific (Singapore)
- Fulfillment Option: 64-bit (x86) Amazon Machine Image (AMI)
- Software Pricing Details: AWS Deep Learning AMI (Amazon Linux 2) $0 /hr
- Infrastructure Pricing Details: Estimated Infrastructure Cost $1.052 EC2/hr
图4、计算符合需求的最佳的定价
g4dn 实例旨在协助加速机器学习推论和图形密集型工作负载,具有以下特色:
- 第二代Intel Xeon Scalable(Cascade Lake)处理器
- NVIDIA T4 Tensor Core GPUs
- 高达100 Gbps网络输送量
- 多达1.8 TB本机NVMe储存
而g4dn.2xlarge这个个体的规格是1 GPU,8 vCPU,32(GB)內存,16(GB)GPU內存,225实例储存体(GB)。
接下来的配置如下:
-
Choose AMI: AWS Deep Learning AMI (Amazon Linux 2) version:49 (64-bit x86)
-
Choose Instance Type: g4dn.2xlarge
-
Configure Instance:
- Network : vpc-0cxxxx | Default VPC (default) (可以自己指定)
- Subnet : No preference (default subnet in any Availability Zone) (可以自己指定)
- Auto-assign Public IP : Enable
-
Add Storage: 200G 因为预设已经安装很多套件,所以建议改为200G比较够用。
-
Add Tags: 可加可不加,通常是用在 Cloud watch 观察比较方便,我们先不加。
-
Configure Security Group: 为提供安全保障,限制进来的联机,因为我们是建置Web服务器,所以打开端口号22与80。
- Assign a security group: Create a new security group
- Security group name: ithome2021_web_SG
- Description: ITHOME Web server Security Group
- Type: SSH,HTTP
- Source: Anywhere,Anywhere
-
Review: 看一下前述的所有设定,确定无误后就直接按下Launch
-
Key pair 设定: 因为安全考察,AWS要求使用者务必要用密钥对(key pair)的方式来进行联机,因此在启动 EC2 前会要求建立或选择密钥对,下载下来的密钥对钥一定要好好保存,遗失后是没办法再重新下载的。
图5、AWS EC2配置检视
參考資料
- Recommended GPU Instances, https://docs.aws.amazon.com/dlami/latest/devguide/gpu.html
- NVIDIA Deep Learning AMI, https://aws.amazon.com/marketplace/pp/prodview-e7zxdqduz4cbs?ref=cns_srchrow
- 现已推出 8211 配有 NVIDIA T4 Tensor Core GPU 的 EC2 实例 (G4), https://aws.amazon.com/cn/blogs/china/now-available-ec2-instances-g4-with-nvidia-t4-tensor-core-gpus/?nc1=b_nrp