AWS用户现可使用Trn1执行实例高效训练深度学习模型

AWS现在正式推出在AWS re:Invent 2021大会上所发布的Amazon EC2 Trn1执行实例,Trn1采用AWS针对机器学习模型训练所开发的定制化芯片Trainium,是AWS Inferentia推理芯片的第二代机器学习芯片,可高性能执行深度学习训练工作负载。

Trn1执行实例适用于自然语言处理、图像识别这类需要大规模分布式训练的复杂深度学习应用程序,与之前专用于机器学习训练和高性能计算的P4d执行实例相比,Trn1执行实例在BF16资料类型提供1.4倍的teraFLOPS,而TF32资料类型则有5倍teraFLOPS,节点间网络带宽上升至4倍,使Trn1可以部署于EC2 UltraCluster中,作为超级计算机高速训练复杂的深度学习模型。

Trn1执行实例目前有两种大小,可配置高达16个AWS Trainium芯片和128个vCPU,拥有高性能网络和存储,支持资料和模型平行化分布式训练政策。该执行实例拥有高达512 GB的高带宽内存,TF32/FP16/BF16达3.4 petaFLOPS运算能力,且因为芯片间都以超高速NeuronLink互相连接,在跨多个Trainium芯片的工作负载可避免通信成为性能瓶颈。

AWS提到,Trn1执行实例是第一个搭载第二代800 Gbps Elastic Fabric Adapter(EFA)网络带宽的EC2执行实例,支持高吞吐量网络通信。与前一代相比,第二代EFA拥有更低的延迟和高达2倍的网络带宽。Trn1执行实例还具有8 TB本地NVMe SSD存储,供模型高速访问超大型资料集。

针对大规模模型训练,Trn1执行实例能够集成Amazon FSx部署于EC2 UltraClusters中,而EC2 UltraClusters是以非阻塞PB级网络互联的超大规模集群,使用户借由访问超级计算机,将原本需要数月的大型复杂模型训练工作,缩短至数周甚至数月。

由于Trainium和Inferentia共享相同的工具包,因此对已经使用过Inferentia的用户,也能熟悉地开始使用Trainium,在模型训练上,Neuron SDK提供编译器、框架扩展、Runtime函数库和开发者工具,除了AOT编译之外,Neuron SDK还支持JIT编译以加快模型编译,并支持Eager调试模式供用户逐步执行。

官方提到,要在Trainium上编译和运行模型,用户只需要更改脚本中数行程序代码就好,不需要调整模型本身或是转换资料类型。用户目前可以先在AWS美东北维吉尼亚,和美西俄勒冈地区激活Trn1执行实例,与其他执行实例相同,也能以按需执行实例、预留执行实例、先占式执行实例,或以Savings Plan节省使用成本。