DALI: ディープラーニング・パイプラインにおけるCPUボトルネックを解消するGPU加速データロードおよび前処理ライブラリ
DALI: ディープラーニング・パイプラインにおけるCPUボトルネックを解消するGPU加速データロードおよび前処理ライブラリ
何を解決するか
NVIDIA DALI (Data Loading Library) は、ディープラーニング・パイプラインにおけるCPUボトルネックを解消します。従来のワークフローでは、データのロードと前処理(デコード、クロップ、リサイズなど)はCPUによって処理されますが、これは多くの場合、トレーニングおよび推論の全体的なパフォーマンスとスケーラビリティを制限する要因となります。
仕組み
DALIは、データの前処理タスクをGPUにオフロードします。透過的なプリフェッチ、並列実行、およびバッチ処理を通じてスループットを最大化するように設計された専用の実行エンジンを使用します。機能的なPython APIを提供し、定義されたグラフ用の「Pipeline mode」と、より柔軟なな実行用の「Dynamic mode」の両方をサポートしています。
対象ユーザー
画像、ビデオ、オーディオデータを使用し、PyTorch、TensorFlow、JAX、および PaddlePaddle などのフレームワークにわたって入力パイプラインを加速させることでGPU利用率を最大化する必要がある、ディープラーニングの実践者および研究者。
ハイライト
- マルチフォーマット対応: JPEG、JPEG 2000、WAV、FLAC、OGG、H.264、VP9、HEVC、LMDB、および TFRecord を含む幅広いフォーマットをサポートしています。
- フレームワークのポータビリティ: PyTorch、TensorFlow、JAX、および PaddlePaddle のデータローダーのドロップイン置換として機能します。
- ハードウェア加速: CPUとGPUの両方の実行をサポートし、複数のGPU間でスケールします。
- ダイレクトデータパス: GPUDirect Storage を介して、ストレージとGPUメモリ間の直接パスを可能にします。
- 拡張性: 開発者がカスタムパイプラインやオペレーターを作成することを可能にします。
- Triton 統合: NVIDIA Triton Inference Server と簡単に統合できます。
Sources
- undefinedNVIDIA/DALI