alibaba/RecIS

A unified architecture deep learning framework designed specifically for ultra-large-scale sparse models.

何を解決するか

RecISは、超大規模な推薦システムの学習における課題に対応するように設計されています。特に、スパースおよびディエンス計算に関連するパフォーマンスのボトルネックを解決し、産業用の推薦モデルを、マルチモーダルおよび大規模モデルの学習と一つのフレームワーク内で統合可能にします。

動作方法

PyTorchエコシステムに基づき、モジュールアーキテクチャを採用して学習パイプラインを簡素化しています。

  • ColumnIO: 分散シャーデッドデータの読み取りと事前計算を処理。
  • Feature Engine: ハッシングやバケット化などの特徴工学をオペレータ融合で管理し、GPUオーバーヘッドを低減。
  • Embedding Engine: スケーラブルで競合のないKVストレージの埋め込みテーブルを管理し、複数テーブルの融合によりメモリアクセスを最適化。
  • Saver: SafeTensors形式を使用してスパースパラメータの保存と読み込みを実行。
  • Pipelines: マルチステージおよびマルチオブジェクティブ計算を含む、全体の学習ワークフローを調整。

パフォーマンス最適化のため、動的埋め込み用の2段階ストレージアーキテクチャ(IDMapとEmbeddingBlocks)を採用し、All-to-All集約通信を用いて分散パラメータのシャーディングとリクエストのマージを実現しています。

対象ユーザー

産業規模の推薦、広告、検索システムにおいて、スパースモデルの高性能学習を必要とする機械学習エンジニアおよび研究者向けです。

特徴

  • 統合フレームワーク: 推薦および大規模モデルのシナリオにおけるスパース・ディエンス計算の要件を統合。
  • GPU最適化: オペレータ融合とベクトル化されたメモリアクセスにより、GPUの利用効率を最大化し、起動オーバーヘッドを削減。
  • 分散スケーリング: 計算ノード間での効率的なパラメータ集約とシャーディングを実装。
  • 動的埋め込み: 埋め込みストレージのための柔軟なハードウェア適応(GPU/CPU配置)をサポート。

関連

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