Graphcore的Poplar SDK最新2.6版本已在我们的支持门户和Docker Hub开放下载。
Poplar SDK支持Graphcore最新的Bow Pod系统以及上一代系统,赋能客户的产品创新并使其能够在IPU上开发高性能应用。
对Graphcore模型花园和公共示例的补充
我们的目标是使用户尽可能容易地部署一系列为IPU优化的模型。我们正在不断地更新模型花园和相关的GitHub存储库。为此,我们准备了大量新的模型和公共示例。
- GPT-2-Large – 推理(PyTorch)
- GPT-2-Medium – 推理(PyTorch)
- CLIP – 训练(PyTorch)
- Conformer-Medium – 训练 (PyTorch)
针对SDK2.6,我们对许多模型花园中的模型在多框架和多平台上的benchmark性能结果进行了更新,并已发布在我们网站的性能结果页面。
Poplar SDK 2.6的亮点和新功能
以下为Poplar SDK 2.6版本的更新摘要,完整的更新列表请详见版本说明。
支持TensorFlow 2.6并增加了
TensorFlow Serving(预览版)
对于此版本,我们已将 TensorFlow 2的开源版本的代码库(从2.5版本)升级到到了2.6版本。
此外,Poplar SDK 2.6的升级还包括用于IPU的TensorFlow Serving 预览版,作为用于生产服务的Poplar Triton后端的替代方案。此发行版将允许用户将预编译模型导出为标准SavedModel格式,以便日后部署使用TensorFlow Serving的Graphcore发行版的推理。
Graphcore文档门户提供了TensorFlow Serving 2和TensorFlow Serving 1的用户指南。
IPU TensorFlow Addons的开放源代码
IPU TensorFlow Addons是一个为TensorFlow的Graphcore端口创建的附加插件集合,包括Keras和传统TensorFlow的层和优化器。
这个软件包最初在Poplar SDK 2.4发布时被添加,现在已开源给社区。
Keras:新的独立软件包
TensorFlow 2.6版本提供了一个单独的Keras软件包,使用pip安装。Poplar SDK 2.6的升级还包括TensorFlow 2.6的Graphcore版本,为Graphcore发布包含了IPU特定扩展的Keras提供了一个新的载体。新的Keras实现已开源。
TensorFlow 2的最新安装说明可以在Pod系统入门指南和Graphcloud TensorFlow 2快速入门中找到。
Keras梯度聚合筛选和训练稳定性改进
Poplar SDK 2.6版本增加了在使用具有梯度累积或流水线的Keras模型时控制梯度聚合方式的功能。在使用float16梯度时,使用运行平均值可以改善训练稳定性。
与Keras模型的梯度累积和流水线有关的文档在IPU TensorFlow 2用户指南中提供。作为参考,请参阅GitHub上的TensorFlow 2 BERT和ResNet50模型。
PopXL
PopXL是一个允许显式优化从而以充分利用计算、通信和存储的框架库,已经获得了一些新的功能、错误修复和改进,在Poplar SDK 2.6版本说明中有详细介绍。
PopXL用户指南已被大幅更新,并发布了6个新的PopXL教程(基本概念、自定义优化器、数据并行性、流水线化、远程变量、分阶段执行)。
我们还发布了popxl-addons,这是一个新的公共GitHub存储库,通过包含额外的操作、转换、模块和实用工具来扩展PopXL框架。
全新的、升级后的开发者资源
除了上面详述的模型花园和公共示例的亮点、特点和新增内容外,Poplar SDK 2.5版本和2.6版本发布期间,还创建或升级了以下开发者资源。
- 关于轻量级分析的新PopVision教程
- 关于在IPU上使用Hugging Face Optimum对视觉变换器(ViT)模型进行微调的新教程
- 新的功能实例,演示如何在TensorFlow 2中使用重新计算检查点
- 在PopVision关于应用程序工具化的教程中新增了关于生成和分析即时事件的章节
- 更新了Graphcloud入门指南
- 更新了PopTorch简介教程的介绍,包括将本人图像导入模型的部分
欲获取最新的文档、教程、代码示例、网络研讨会、视频、研究论文和IPU编程的更多资源,请查看我们的开发者门户网站。