我们最新发布的Poplar SDK 2.3提供了显著的性能优化、更高的易用性和对生产工作负载的实用支持。
Poplar SDK 2.3的新功能
得益于SDK 2.3中的许多新功能和新优化,开发人员将受益于更快的训练和推理速度、更高的模型效率和更好的大型模型和数据中心规模应用程序的性能。
性能优化
  • 对推理应用程序进行加速的新优化

  • 为复制张量切分(Replicated Tensor Sharding,RTS)添加LAMB优化器

  • 用于大型横向扩展系统的多POD复制张量切分

用户体验提升
  • 加速编译时间

  • 减少主机存储使用

  • 改进的日志和错误处理

  • 支持Debian 10.7操作系统(预览)
PopVision工具和平台支持
  • 性能改善

  • 线程固定

  • 交换变量
如欲了解这些新功能的更多信息,请参阅我们的SDK 2.3.0发行说明[1]
性能和优化
新的优化和性能改善已经被添加进SDK 2.3,以支持更大型的工作负载和生产的横向扩展。
每个新的Poplar版本都会带来实质性的性能改进。使用SDK 2.3的开发人员将受益于BERT-Large的1.6x、卷积神经网络EfficientNet-B4的1.6x和ResNet-50的2.4x的训练加速。
用于推理应用程序的新优化确保了时延的优化和一致性,最大限度地提高推理性能。
TensorFlow现在完全支持优化器状态的复制张量切分(RTS)。这可以增加复制模型的吞吐量,其中优化器状态被卸载到外部流存储。由于此版本的改进,LAMB优化器使开发人员能够使用更大的批尺寸,并在当前可与RTS兼容。阅读我们的《在IPU上训练BERT-Large详述》以了解更多信息,或查看我们在GitHub上的BERT TensorFlow实施演练[2]
对于大规模生产工作负载,RTS现在可以在多个IPU-POD系统(IPU-POD128及以上)上部署。阅读IPU-POD系列又一个里程碑:IPU-POD128和IPU-POD256,了解有关IPU-POD128和IPU-POD256及其在数据中心规模创新能力方面的更多信息。
提升易用性
使用我们最新版本的Poplar软件栈来加速您的模型和对IPU进行编程,这比以往任何时候都更容易。
SDK 2.3 进一步改进了编译时间,BERT、ResNet-50和EfficientNet的速度提高了10%或更多,包括框架和图形构建时间。NLP模型BERT的主机内存利用率也降低了6.8%,并于12月在SDK 2.4下进行了额外的增强。
凭借添加对Debian 10.7的预览支持,该操作系统可用于从证券交易所到超级对撞机的广泛场景。
通过改进错误和日志处理,开发人员现在能够更轻松地解决问题。
我们的PopVision工具有哪些新功能?
在最新版本的PopVision计算图分析器和系统分析器工具中,我们添加了新功能以提高性能并使我们的工具更易于使用。作为更新的一部分,我们还包含了软件以通知用户有可用的新版本,以及具有立即开始更新或推迟更新的选项。此版本PopVision中的主要新功能详述如下。
随着模型变得更大,支持工作负载的IPU数量增加,分析信息的大小也在增加。我们在PopVision计算图分析器中发布了执行跟踪报告的重大更新,现在支持大10倍的配置文件,从而提高性能和易用性。
为了帮助开发人员更深入地了解tile之间以及IPU与主机之间的交换,计算图分析器中添加了查看交换中涉及哪些变量的选项。
在PopVision系统分析器中,开发人员现在可以选择线程或计算图,并将它们固定在报告的顶部,以便于比较它们。
开发人员资源
查看我们的开发者门户[3],即可访问所有最新的文档、教程、代码示例、网络研讨会、视频、研究论文和更多IPU编程资源。
[1]
https://docs.graphcore.ai/projects/release-notes/en/2.3.0/

[2]https://github.com/graphcore/examples/tree/master/applications/tensorflow/bert#pre-training-with-bert-on-ipu-
[3]https://www.graphcore.cn/developer
获取更多Graphcore资讯,阅读深度技术文章,并与其他创新者们一起交流,请至中国官网graphcore.cn,以及关注Graphcore微信、微博和知乎创新社区。
Graphcore中国官网
Graphcore微信创新社区
Graphcore微博创新社区
Graphcore知乎创新社区
点击阅读原文,查看英文blog。
继续阅读
阅读原文