Google在云计算加速器TPU进一步支持深度学习函数库PyTorch,大多数的PyTorch程序,仅需使用Python组件PyTorch/XLA,进行最小程度的修改,就能够使用TPU来加速机器学习工作负载,且在TPU还不支持的操作,自动退回到以CPU运算,而PyTorch/XLA也会生成详细的报告,助PyTorch用户发现应用程序瓶颈,在Cloud TPU上,能够高性能的执行机器学习工作负载。

在2019年PyTorch开发者大会上,脸书、Google以及Salesforce Research的工程师开始了PyTorch-TPU项目,目标是要让PyTorch社群,可以更容易运用Cloud TPU高效运算能力,因此该团队创建了PyTorch/XLA组件,结合PyTorch API与XLA线性代数编译器,让PyTorch可以连接到Cloud TPU,将TPU核心作为设备使用。

XLA是Google在2018年推出的优化编译器,通过优划算法运算,可以提升机器学习模型的执行速度,XLA支持处理器以及绘图卡,也能够在Google TPU上执行,通过XLA可以让Cloud TPU更容易支持PyTorch。

最新发布的PyTorch/XLA,使Cloud TPU正式支持PyTorch 1.6,在基础设施层提供模型平行运算能力,允许开发者可以在多个TPU核心上,分散大规模嵌入表,因此有能力创建许多过去无法完成的应用。另外,Google在云计算上发布的深度学习虚拟机(DLVM)镜像文件,其中包括PyTorch等各种深度学习框架,而PyTorch/XLA 1.6现在预装在DLVM中,并且已经对Cloud TPU进行优化,供用户快速激活开始工作。

为了让开发者更好上手PyTorch/XLA,Google云计算还提供一组常用深度学习模型开源实例,以及相关的教程,这些模型包括使用ImageNet资料集的图像分类任务ResNet -50,还有Transformer、RoBERTa以及BERT等知名模型,也能使用PyTorch 1.6才加入,由脸书开发的深度学习推荐模型(DLRM)。官方提到,在Cloud TPU训练这些模型,大部分的情况仅需要很少的程序代码更改。

艾伦人工智能研究所(Allen Institute for AI,A12)最近在多个项目中,开始使用PyTorch/XLA以及Cloud TPU进行研究,他们利用PyTorch/XLA在最新的语言模型中,加入可视化组件,以改善语言理解能力,A12科学家Matthew Peters认为,虽然PyTorch/XLA目前还只是新技术,但提供已经投入使用PyTorch的组织,一个加速训练机器学习模型的新运算平台。

相关文章