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レベルストレージシステムを実装しています。
  • 分散スケーリング: パラメータの集約とシャーディングを使用して、大規模な埋め込みテーブルを計算ノードに分散させます。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト