Graphcore Poplar SDK的最新版本现已推出,带来了一系列的功能增强和性能改进。Poplar SDK支持最新的第三代Bow Pod系统和上一代系统,赋能客户的产品创新并使其能够在IPU上开发高性能应用。
Poplar SDK 2.5已在我们的支持门户和Docker Hub开放下载,在那里您亦可以找到我们最新的Poplar容器。这些Poplar容器方便易用,而且还在不断丰富中。
我们还为持续丰富中的模型花园添加了许多新的示例,涉及多个应用领域,如自然语言处理、视觉、语音和图神经网络等,展示了不断提升的丰富度和能力。
Poplar SDK 2.5的亮点
以下为部分新功能介绍,完整的更新列表请移步随附的发布说明。
- 支持TensorFlow 2.5和Keras模型子类
- 提升了对TensorBoard的支持
- 减少编译工作的主机存储的要求
- 在PyTorch和PopART中以半精度训练模型的自动误差缩放
- 扩展了对算子的支持和优化
- 改进的监控工具
- 用于服务推理模型的Poplar Triton后端
- 完全支持Ubuntu 20.04
TensorFlow 2增强功能
此次发布,我们已将TensorFlow 2的开源版本更新至2.5版。通过启用Keras模型子类,我们扩展了对Keras的支持,并改进了与TensorBoard(TensorFlow的可视化工具包)的集成,以用于Keras模型。我们在GitHub上发布了有关将TensorBoard与IPU结合使用的新教程。
序列化编译
除了Poplar SDK 2.5中默认提供的主机存储功能优化外,用户还可以通过使用新选项每次为IPU的子集编译模型,显著减少编译期间对主机存储的占用。该实验性功能允许用户在资源有限的系统上编译大型模型。进一步的改进将在Poplar SDK 2.6中实现。
自动误差缩放
此版本包括我们实验性的自动误差缩放功能,用于以半精度训练模型。该功能可以在训练期间根据梯度统计调整误差缩放系数,将表示梯度的有限动态域以IEEE 754 16位浮点数格式来表示。它可用于用PyTorch和PopART编写的模型,并且无需用户手动查找正确的误差缩放系数。
改进的算子覆盖范围和优化
我们持续扩大所支持的PyTorch算子的数量,进一步扩大模型支持。TensorFlow中基于循环的模型(如RNN)将从优化中受益,改善编译时间、存储使用和运行时性能。除此之外,整个Poplar SDK还进行了许多其他优化。
监控工具和库
Poplar SDK包括一套全面的工具,用于监控IPU和库,使客户能够将这些功能集成到他们自己的系统中。该版本实现的一些改进包括多用户/多主机功能,使用户能够更好地了解大型部署中IPU的可用性和状态。
Poplar Triton后端
该版本增加了对使用Triton推理服务器在IPU上运行的服务模型的预览支持,使用户能够更容易地部署推理模型。用户可以编译使用PopART和TensorFlow为IPU编写的模型并将其保存在PopEF(Poplar交换格式)文件中,从而得以让Poplar Triton后端提供服务。更多细节,请参阅新的Poplar Triton后端用户指南。
Ubuntu 20.04
Poplar SDK 2.5包括对Ubuntu 20.04操作系统的全面支持(之前为预览版)。
新模型示例
Graphcore致力于帮助用户尽可能轻松地部署各种针对IPU进行了优化的模型。我们正持续更新模型花园和相关的GitHub存储库。
作为Poplar SDK 2.5版本的一部分,我们正在推出以下新示例:
计算机视觉
- ViT——在现有的微调示例中加入预训练(PyTorch)
- DINO(PyTorch)
- EfficientDet-推理(TensorFlow 2)
- 神经图像场(TensorFlow 2)
- Swin Transformer-预训练(PyTorch)
- ViT(Hugging Face Optimum,微调)
- ConvNext(Hugging Face Optimum)
自然语言处理
- PackedBERT(PyTorch、PopART)
- BERT-Large(TensorFlow 2)
- GPT2-S/XL-推理(PyTorch)
- GPT2-M/L-训练(PyTorch)
- BERT-Base/Large(Hugging Face Optimum,预训练和微调)
- RoBERTa-Base/Large(Hugging Face Optimum,微调)
- DeBERTa-Base(Hugging Face Optimum,微调)
- LXMERT(Hugging Face Optimum,微调)
- GPT2-S/M(Hugging Face Optimum,微调)
- T5-Small(Hugging Face Optimum,微调)
- BART-Base(Hugging Face Optimum,微调)
语音
- FastSpeech2-推理(TensorFlow 2)
- Conformer-Large(PyTorch)
- Fastpitch(PyTorch)
- HUBERT(Hugging Face Optimum,微调)
- Wave2Vec2(Hugging Face Optimum)
图神经网络
- 集群GCN(TensorFlow 2)
用于模拟的人工智能
- DeepDriveMD(TensorFlow 2)
IPU编程人员指南
IPU编程人员指南自推出以来已被证明是开发人员开始Graphcore系统之旅的重要资源并广受欢迎,在从一般性的硬件和软件概述到在IPU上编译和执行程序的过程中为使用者提供引领。
新版IPU编程人员指南现已推出,内含大量的更新和内容扩充,包括关于常见算法技术的新章节,如复制、重新计算和模型并行化及流水线。
欲获取最新的文档、教程、代码示例、网络研讨会、视频、研究论文和IPU编程的更多资源,请查看我们的开发者门户网站。