Google在2018年推出了加速线性代数(XLA),这是一种优化的编译器,通过将过去由多个内核组成的一个内核合并在一起来加快机器学习模型的运行速度。(在这种情况下,“内核”是指用于模式分析的算法类别。)虽然XLA支持处理器和图形卡硬件,但它也运行在Google专有的张量处理单元(TPU)上,并有助于将TPU支持引入Facebook的PyTorch AI和机器学习框架。截至目前,PyTorch / XLA对Cloud TPU(Google的托管TPU服务)的支持现已普遍可用,使PyTorch用户可以通过第一方集成利用TPU。
Google的TPU是专用于加速AI的专用集成电路(ASIC)。它们是液冷的,旨在插入服务器机架中。交付多达100 petaflops的计算;并增强Google产品的功能,例如Google搜索,Google相册,Google翻译,Google助手,Gmail和Google Cloud AI API。谷歌在2018年的年度I / O开发人员大会上宣布了第三代产品,并于7月完成了其后续产品的研发工作。
谷歌和Facebook表示,PyTorch / XLA(使用XLA连接PyTorch和TPU的Python软件包)代表了两年的工作。据两家公司称,PyTorch / XLA只需修改最少即可运行大多数标准的PyTorch程序,而后退到处理器以执行TPU不支持的操作。借助PyTorch / XLA生成的报告,PyTorch开发人员可以发现瓶颈并调整程序以在Cloud TPU上运行。
谷歌表示,艾伦人工智能研究所最近在多个项目中将PyTorch / XLA用于云TPU上,其中包括探索如何在语言模型中添加视觉组件以提高他们的理解能力。
Alongside PyTorch/XLA, Google and Facebook today debuted tools to facilitate continuous AI model testing, which they say they’ve helped the PyTorch Lightning and Hugging Face teams use with Cloud TPUs. Google and Facebook also released a new image — Deep Learning VM — that has PyTorch/XLA preinstalled, along with PyTorch 1.6.
Facebook于2016年10月公开发布的PyTorch是一个基于Torch的开源库,Torch是一种科学计算框架和脚本语言,而该脚本语言又是基于Lua编程语言的。尽管TensorFlow的时间略长一些(自2015年11月以来),但PyTorch继续在数据科学和开发人员社区中迅速普及。Facebook最近透露,在2019年,该平台的贡献者数量同比增长了50%以上,达到近1200名。Gradient进行的分析发现,2019年的每个主要AI会议都有PyTorch实施的大多数论文。O'Reilly指出,仅在2019年上半年,论文中PyTorch的引用就增长了194%以上。
毫不奇怪,在PyTorch之上构建了许多领先的机器学习软件项目,包括Uber的Pyro和HuggingFace的Transformers。软件开发商Preferred Networks最近加入了这一行列,并承诺在不久的将来从AI框架Chainer迁移到PyTorch。