[論文レビュー] RecD: Deduplication for End-to-End Deep Learning Recommendation Model Training Infrastructure
RecD は、セッション中心の特徴量重複を活用することで、産業用 Deep Learning Recommendation Model (DLRM) のトレーニングパイプラインにおけるエンドツーエンド最適化のスイートを導入し、ストレージ、前処理、トレーニングのオーバーヘッドを削減する。トレーニングバッチ内での重複特徴量を統合し、新規のテンソル形式である InverseKeyedJaggedTensors (IKJTs) でエンコードすることで、トレーニングと前処理のスループットをそれぞれ最大 2.48× および 1.79× に向上させるとともに、ストレージ効率を 3.71× 向上させる。
We present RecD (Recommendation Deduplication), a suite of end-to-end infrastructure optimizations across the Deep Learning Recommendation Model (DLRM) training pipeline. RecD addresses immense storage, preprocessing, and training overheads caused by feature duplication inherent in industry-scale DLRM training datasets. Feature duplication arises because DLRM datasets are generated from interactions. While each user session can generate multiple training samples, many features' values do not change across these samples. We demonstrate how RecD exploits this property, end-to-end, across a deployed training pipeline. RecD optimizes data generation pipelines to decrease dataset storage and preprocessing resource demands and to maximize duplication within a training batch. RecD introduces a new tensor format, InverseKeyedJaggedTensors (IKJTs), to deduplicate feature values in each batch. We show how DLRM model architectures can leverage IKJTs to drastically increase training throughput. RecD improves the training and preprocessing throughput and storage efficiency by up to 2.48x, 1.79x, and 3.71x, respectively, in an industry-scale DLRM training system.
研究の動機と目的
- セッション中心のデータ生成に起因する産業スケールの DLRM トレーニングデータセットにおける特徴量値の重複の広がりを特定すること。
- エンドツーエンドの DLRM パイプライン全体で生じる重複する特徴量値に起因するストレージ、前処理、トレーニングのオーバーヘッドを低減すること。
- トレーニングバッチ内での特徴量の効率的重複除去と処理を可能にする新しいテンソル形式、InverseKeyedJaggedTensors (IKJTs) を設計・導入すること。
- IKJTs を活用してデータインジェスト、前処理、トレーニングワークロードを最適化し、余分な計算、メモリ、ネットワーク使用量を排除すること。
- IKJTs が既存の DLRM アーキテクチャに最小限の変更でシームレスに統合可能であり、広範な互換性とパフォーマンス向上を実現できることを実証すること。
提案手法
- 同じユーザー セッションからのトレーニングサンプルをバッチ内で統合して重複する特徴量値をグループ化し、データローカリティと圧縮効率を向上させること。
- 各バッチ内での値の重複除去を可能にする新しいテンソル形式である InverseKeyedJaggedTensors (IKJTs) を導入し、特徴量値とその逆引き照会をエンコードすること。
- Scribe における生のインジェスチョンログのセッション ID を基準としたシャーディングを実施し、データストレージおよびインジェスト段階での圧縮比を向上させること。
- データ処理パイプラインを変更して読み取り段階でデータを IKJT 形式に変換し、リーダーとトレーナーが直接 IKJTs を処理できるようにすること。
- シフトベースのエンコードを用いて部分的重複を処理するように IKJTs を拡張し、正確な一致に加え追加で 7.8% の重複値をカバーすること。
- 標準化されたジャグドテンソルインターフェースを活用して、既存の前処理関数およびモデルアーキテクチャに対する IKJT 向けの変更を最小限に抑え、互換性を確保すること。
実験結果
リサーチクエスチョン
- RQ1産業スケールの DLRM トレーニングデータセットにおける特徴量値の重複はどの程度広がっており、ストレージ、前処理、トレーニングにどのようなシステムレベルの影響を及ぼすか?
- RQ2同じユーザー セッションからのサンプルをトレーニングバッチ内で統合することで、データ量を著しく削減し、圧縮効率を向上させられるか?
- RQ3トレーニング中に特徴量の効率的重複除去を可能にしつつ、ランタイム オーバーヘッドを最小限に抑える新しいテンソル形式は何か?
- RQ4既存の DLRM モデルアーキテクチャおよびトレーニングパイプラインは、大きなアーキテクチャ的変更なしに重複除去されたテンソルを処理できる程度に最適化可能か?
- RQ5実世界の展開において、標準的な KJTs と比較して IKJTs はストレージ、前処理、トレーニングスループットのどの分野でパフォーマンス向上を達成するか?
主な発見
- 産業用 DLRM データセットにおいて、同じユーザー セッションからのサンプルでは特徴量値の 81.6–89.4% が重複しており、これは主要なリソース浪費要因であることが示された。
- RecD は産業スケールの DLRM トレーニングシステムにおいて、トレーニングスループットを最大 2.48×、前処理スループットを最大 1.79× 向上させた。
- セッションベースのデータ統合による効果的な重複除去と圧縮向上のおかげで、ストレージ効率が最大 3.71× 向上した。
- InverseKeyedJaggedTensor (IKJT) 形式は、最小限のランタイム オーバーヘッドで効率的な重複除去を可能にし、前処理およびトレーニングパイプラインでの直接利用が可能である。
- 部分的 IKJTs により、正確な一致に加え 7.8% の部分的重複がカバーされ、全体の重複除去カバレッジが 91.7%(81.6% 精確 + 7.8% 部分的)にまで向上した。
- RecD の最適化は、さまざまなテーブルスキーマおよびモデルアーキテクチャに一般化可能であり、コンpatible にするために、特徴量コンバーターと index_select のみを追加すれば十分である。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。