TimeRL: Efficient Deep Reinforcement Learning with Polyhedral Dependence Graphs

要約

最新の深層学習 (DL) ワークロードでは、学習ループ内でトレーニング データを生成する複雑な深層強化学習 (DRL) アルゴリズムの使用が増えています。
その結果、プログラムにはいくつかのネストされたループとテンソル間の動的データ依存関係が含まれます。
積極的な実行を備えた DL システムは、このようなダイナミズムをサポートしますが、グラフベースの実行の最適化とスマートなスケジューリングが欠けています。
ただし、グラフベースの実行では動的なテンソル形状を表現できないため、代わりに複数の静的なサブグラフを使用する必要があります。
したがって、DRL のどちらの実行モデルも、冗長な計算、並列処理の低下、およびメモリ管理の効率の低下につながります。
TimeRL について説明します。これは、積極的な実行のダイナミズムと、プログラム全体の最適化およびグラフベースの実行のスケジューリングを組み合わせた、動的 DRL プログラムを実行するためのシステムです。
TimeRL は、リカレント テンソルの宣言的プログラミング モデルを導入することでこれを実現します。これにより、ユーザーは動的な依存関係を直観的な漸化式として定義できるようになります。
TimeRL は、リカレント テンソルを、動的依存関係をシンボリック式として使用する多面体依存グラフ (PDG) に変換します。
TimeRL は、単純な PDG 変換を通じて、自動ベクトル化、増分化、演算子融合などのプログラム全体の最適化を適用します。
PDG を使用すると、バッファの割り当て解除、バッファの寄付、GPU/CPU メモリのスワップを決定する、プログラム全体の効率的な実行スケジュールの計算も可能になります。
TimeRL は、既存の DRL システムよりも最大 47$\times$ 高速に現在の DRL アルゴリズムを実行し、使用する GPU ピーク メモリは 16$\time$ 少ないことを示します。

要約(オリジナル)

Modern deep learning (DL) workloads increasingly use complex deep reinforcement learning (DRL) algorithms that generate training data within the learning loop. This results in programs with several nested loops and dynamic data dependencies between tensors. While DL systems with eager execution support such dynamism, they lack the optimizations and smart scheduling of graph-based execution. Graph-based execution, however, cannot express dynamic tensor shapes, instead requiring the use of multiple static subgraphs. Either execution model for DRL thus leads to redundant computation, reduced parallelism, and less efficient memory management. We describe TimeRL, a system for executing dynamic DRL programs that combines the dynamism of eager execution with the whole-program optimizations and scheduling of graph-based execution. TimeRL achieves this by introducing the declarative programming model of recurrent tensors, which allows users to define dynamic dependencies as intuitive recurrence equations. TimeRL translates recurrent tensors into a polyhedral dependence graph (PDG) with dynamic dependencies as symbolic expressions. Through simple PDG transformations, TimeRL applies whole-program optimizations, such as automatic vectorization, incrementalization, and operator fusion. The PDG also allows for the computation of an efficient program-wide execution schedule, which decides on buffer deallocations, buffer donations, and GPU/CPU memory swapping. We show that TimeRL executes current DRL algorithms up to 47$\times$ faster than existing DRL systems, while using 16$\times$ less GPU peak memory.

arxiv情報

著者 Pedro F. Silvestre,Peter Pietzuch
発行日 2025-01-09 18:05:33+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

カテゴリー: cs.AI, cs.DC, cs.LG, D.4.7, I.1.1, I.1.3, I.2.5 パーマリンク