GraphcoreのPoplar SDKの最新リリースであるバージョン2.6が、当社のサポートポータルおよびDocker Hubからダウンロードできるようになりました。
Poplar SDKでは、最新のBow Podシステムだけでなく前世代もサポートされており、お客様がIPUで高性能なアプリケーションを革新的に開発することを可能にしています。
Graphcoreモデルガーデンへの追加と公開サンプル
ユーザーがIPU用に最適化された幅広いモデルを、可能な限り簡単に導入できるようにすることが当社の目的です。当社はモデルガーデンや関連するGitHubリポジトリを継続的に更新しています。そのために、新しいモデルや公開サンプルを多数用意しています。
- GPT-2-Large – 推論(PyTorch)
- GPT-2-Medium – 推論(PyTorch)
- CLIP – 学習(PyTorch)
- Conformer-Medium – 学習(PyTorch)
複数のフレームワークや複数のプラットフォームにまたがる当社モデルガーデンの多くのモデルについて、ベンチマーク性能結果をSDK2.6用に更新し、当社ウェブサイトの性能結果ページで公開しています。
Poplar SDK 2.6のハイライトと新機能
ここからは、Poplar SDK 2.6リリースの概要を紹介します。更新内容の全リストはPoplar SDK 2.6のリリースノートでご覧いただけます。
TensorFlow 2.6への対応とTensorFlow Servingの追加(プレビュー)
このリリースでは、オープンソースバージョンのTensorFlow 2のコードベースを、バージョン2.5から2.6に移行しました。
さらに、Poplar SDK 2.6には、Poplar Tritonバックエンドに代わるIPU向けのTensorFlow Servingのプレビューリリースが含まれており、プロダクション環境での配信に対応しています。今回のディストリビューションでは、コンパイル済みのモデルを標準のSavedModel形式でエクスポートし、後でGraphcoreディストリビューションのTensorFlow Servingを使った推論に展開することができます。
TensorFlow Serving 2とTensorFlow Serving 1のユーザーガイドはGraphcoreのドキュメントポータルで公開されています。
IPU TensorFlow Addonsのオープンソース化
IPU TensorFlow AddonsはTensorFlowのGraphcore移植版のために作成されたアドオンコレクションです。Keras用のレイヤーやオプティマイザのほか、レガシーなTensorFlowのレイヤーやオプティマイザも含まれています。
このパッケージは当初、Poplar SDK 2.4リリースに追加されましたが、現在はコミュニティにオープンソース化されています。
Keras:新しい独立したパッケージ
TensorFlow 2.6リリースではKerasパッケージが別途用意されており、pipでインストールできます。 TensorFlow 2.6のGraphcoreディストリビューションが含まれているPoplar SDK 2.6リリースでは、IPU固有の拡張を組み込んだKerasのGraphcoreディストリビューション用の新しいホイールが提供されます。この新しい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チュートリアル(基本概念、カスタムオプティマイザ、データ並列処理、パイプライン化、リモート変数、段階的実行)が公開されました。
また、新しいパブリックGitHubリポジトリの「popxl-addons」を公開し、追加の操作、変換、モジュール、ユーティリティを含めることでPopXLフレームワークを拡張しています。
新規および更新された開発者向け資料
これまでに紹介したハイライトや機能、モデルガーデンへの追加や公開サンプルに加え、Poplar SDKバージョン2.5と2.6のリリース間には、以下の開発者向け資料が作成または更新されています。
最新のドキュメンテーションやチュートリアル、コード例、ウェビナー、ビデオ、研究論文など、IPUのプログラミングに関するあらゆる資料は当社の開発者ポータルでご覧いただけます。ぜひご活用ください。