最新リリースのPoplar SDK 2.3では性能が大幅に最適化されたほか、使いやすさの向上や実稼働ワークロードの実用的サポートなども実現されています。
Poplar SDK 2.3の新機能
SDK 2.3で導入された多くの新機能や最適化は、学習や推論にかかる時間を短縮したり、モデルの効率を高めたり、大規模なモデルやデータセンター規模のアプリケーションの性能を向上させたりするなど、開発者を全面的に支援するものばかりです。
性能の最適化
- 新たな最適化で推論アプリケーションを高速化
- RTS(Replicated Tensor Sharding)用にLAMBオプティマイザのサポートを追加
- 大規模スケールアウトシステムのためのマルチPOD RTS(Replicated Tensor Sharding)
ユーザーエクスペリエンスの強化
- コンパイル時間を高速化
- ホストのメモリ使用量を削減
- ロギングとエラー処理を改善
- Debian 10.7 OSをサポート(プレビュー)
PopVisionツールおよびプラットフォームのサポート
これらの新機能の詳細については、SDK 2.3.0のリリースノートをご覧ください。
性能と最適化
より大規模なワークロードや実稼働のスケールアウトをサポートするために、SDK 2.3では新たな最適化と性能の向上が実現されています。
Poplarの新バージョンのリリースでは毎回、大幅な性能の向上が図られています。開発者はSDK 2.3を使用することで、BERT-Largeで1.6倍、畳み込みニューラルネットワークEfficientNet-B4で1.6倍、ResNet-50で2.4倍の学習速度を得ることができます。
推論アプリケーション向けの新たな最適化により、遅延が最適化されて一貫性が確保されるようになったため、推論の性能が最大化されます。
今回のリリースでは、オプティマイザの状態を表すReplicated Tensor Sharding(RTS)がTensorFlowで完全にサポートされました。これにより、オプティマイザの状態が外部のストリーミングメモリにオフロードされている、複製モデルのスループットを向上させることができます。また今回のリリースの改良によって、より大きなバッチサイズを使用するために開発者が利用しているLAMBオプティマイザとRTSとの互換性が確保されました。詳細については、BERT-Large学習ブログをお読みいただくか、GitHubでのBERT TensorFlow実装ウォークスルーをご覧ください。
大規模な実稼働ワークロードにおいては、RTSが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による機能強化も予定されています。
さらに、証券取引所からスーパーコライダーまで、様々な場面で使用されているOS、Debian 10.7のプレビューサポートが追加されました。
また、エラーやログの処理が改善されたことで、より簡単に問題を解決できるようになっています。
PopVisionツールの新機能について
PopVision Graph AnalyserツールとSystem Analyserツールの最新バージョンでは、性能を向上させる新機能が追加されて、より使いやすいツールになりました。今回のアップデートでは、新しいリリースが利用可能になった場合にユーザーに通知し、アップデートをすぐに開始するか延期するかを選択できるソフトウェアも含まれています。今回のリリースで導入されたPopVisionの主な新機能は以下の通りです。
モデルが大きくなり、ワークロードをサポートするIPUの数が増えると、プロファイリング情報のサイズも大きくなります。今回、10倍の大きさのプロファイルにも対応するようにPopVision Graph Analyserの実行トレースレポートが大規模に更新され、性能と使いやすさが向上しました。
また、開発者がタイル間やIPUとホスト間の情報交換をより深く理解できるように、どの変数が情報交換に関与しているかを表示するオプションがGraph Analyserに追加されました。
PopVision System Analyserでは、開発者がスレッドやグラフを選択してレポートの上部にピン留めすることができ、比較が容易になりました。
開発者向け資料
YOLOv4やMobileNetV3といった、物体検出のユースケースに適した新しいモデルも含め、イノベーター向けの幅広い用途に対応するために、当社の大規模なモデルガーデンを更新しました。
当社の開発者ポータルでは、最新のドキュメンテーションやチュートリアル、コード例、ウェビナー、ビデオ、研究論文など、IPUのプログラミングに関するあらゆる資料をご覧いただけます。ぜひご活用ください。