alibaba/RecIS
A unified architecture deep learning framework designed specifically for ultra-large-scale sparse models.
解決する課題
RecISは、超大規模レコメンデーションシステムにおける課題、特にスパースコンピューティングとデンスコンピューティングを統合する必要性に対処するために設計されています。スパースオペレータにおけるメモリアクセスのパフォーマンスボトルネックや、マルチモーダルまたは大規模モデルと組み合わせた産業グレードのレコメンデーションモデルのトレーニングに伴う複雑さに対処します。
仕組み
PyTorchエコシステム上に構築されたRecISは、モジュール式アーキテクチャを使用してトレーニングパイプラインを管理します:
- ColumnIO: 分散シャードデータの読み込みと特徴量の事前計算を処理します。
- Feature Engine: オーバーヘッドを削減するためのオペレータ融合を用いて、特徴量エンジニアリング(ハッシュ化やバケツ分けなど)を管理します。
- Embedding Engine: より良いメモリアクセスのためにマルチテーブル融合を備えた、スケーラブルで衝突のないKVストレージ埋め込みテーブルを管理します。
- Saver: スパースパラメータの保存と読み込みにSafeTensors標準を使用します。
- Pipelines: マルチステージおよびマルチオブジェクティブ計算を含む、トレーニングワークフロー全体をオーケストレートします。
パフォーマンスを最適化するために、動的な埋め込みのための2レベルストレージアーキテクチャ(IDMapおよびEmbeddingBlocks)を実装し、分散パラメータシャーディングとリクエストマージにAll-to-All集合通信を使用します。
対象者
スパース特徴量とデンスディープラーニングコンポーネントを組み合わせたモデルの高パフォーマンスなトレーニングを必要とする、産業規模のレコメンデーション、広告、検索システムに従事するエンジニアおよび研究者向けです。
ハイライト
- 統合フレームワーク: PyTorchエコシステム内でスパース・デンスコンピューティングを統合します。
- 高いパフォーマンス: オペレータ融合とベクトル化されたメモリアクセスを通じてGPU利用率を最適化します。
- 動的な埋め込み: GPUまたはCPUに配置可能なHashTable埋め込みのための柔軟な2レベルストレージシステムを実装しています。
- 分散スケーリング: パラメータの集約とシャーディングを使用して、大規模な埋め込みテーブルを計算ノードに分散させます。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト