Poplar SDK 2.5现已推出
Graphcore Poplar SDK的最新版本现已推出,带来了一系列的功能增强和性能改进。Poplar SDK支持最新的第三代Bow Pod系统和上一代系统,赋能客户的产品创新并使其能够在IPU上开发高性能应用。
Poplar SDK 2.5已在我们的支持门户和Docker Hub[1]开放下载,在那里您亦可以找到我们最新的Poplar容器。这些Poplar容器方便易用,而且还在不断丰富中。
我们还为持续丰富中的模型花园添加了许多新的示例,涉及多个应用领域,如自然语言处理、视觉、语音和图神经网络等,展示了不断提升的丰富度和能力。
Poplar SDK 2.5的亮点
以下为部分新功能介绍,完整的更新列表请移步随附的发布说明[2]。
支持TensorFlow 2.5和Keras模型子类
提升了对TensorBoard的支持
减少编译工作的主机存储的要求
在PyTorch和PopART中以半精度训练模型的自动损耗缩放
扩展了对算子的支持和优化
改进的监控工具
用于服务推理模型的Poplar Triton后端
完全支持Ubuntu 20.04
TensorFlow 2增强功能
此次发布,我们已将TensorFlow 2的开源版本[3]更新至2.5版。通过启用Keras模型子类,我们扩展了对Keras的支持,并改进了与TensorBoard(TensorFlow的可视化工具包)的集成,以用于Keras模型。我们在GitHub[4]上发布了有关将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后端用户指南[5]。
Ubuntu 20.04
Poplar SDK 2.5包括对Ubuntu 20.04操作系统的全面支持(之前为预览版)。
新模型示例
Graphcore致力于帮助用户尽可能轻松地部署各种针对IPU进行了优化的模型。我们正持续更新模型花园[6]和相关的GitHub存储库[7]。
作为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编程人员指南[8]现已推出,内含大量的更新和内容扩充,包括关于常见算法技术的新章节,如复制、重新计算和模型并行化及流水线。
欲获取最新的文档、教程、代码示例、网络研讨会、视频、研究论文和IPU编程的更多资源,请查看我们的开发者门户网站[9]。
[1]https://hub.docker.com/u/graphcore
[2]https://docs.graphcore.ai/projects/release-notes/en/2.5.1/
[3]https://github.com/graphcore/tensorflow
[4]https://github.com/graphcore/tutorials/tree/master/tutorials/tensorflow2/tensorboard
[5]https://docs.graphcore.ai/projects/poplar-triton-backend
[6]https://www.graphcore.ai/resources/model-garden
[7]https://github.com/graphcore
[8]https://docs.graphcore.ai/projects/ipu-programmers-guide/en/latest/
[9]https://www.graphcore.cn/developer
获取更多Graphcore资讯,阅读深度技术文章,并与其他创新者们一起交流,请至中国官网graphcore.cn,以及关注Graphcore微信、微博和知乎创新社区。
Graphcore中国官网
Graphcore官方微信
Graphcore微博创新社区
Graphcore知乎创新社区
点击阅读原文,查看英文blog。
微信扫码关注该文公众号作者