alibaba/RecIS
A unified architecture deep learning framework designed specifically for ultra-large-scale sparse models.
解決的問題
RecIS 旨在應對超大規模推薦系統帶來的挑戰,特別是統一稀疏計算與密集計算的需求。它解決了與稀疏算子記憶體存取相關的效能瓶頸,以及結合多模態或大規模模型訓練工業級推薦模型的複雜性。
工作原理
RecIS 構建在 PyTorch 生態系統之上,使用模組化架構來管理訓練流水線:
- ColumnIO:處理分散式分片數據讀取與特徵預計算。
- Feature Engine:透過算子融合(operator fusion)管理特徵工程(如雜湊與分桶),以減少開銷。
- Embedding Engine:管理可擴展、無衝突的 KV 儲存嵌入表,並透過多表融合實現更好的記憶體存取。
- Saver:使用 SafeTensors 標準進行稀疏參數的儲存與載入。
- Pipelines:編排整個訓練工作流,包括多階段與多目標計算。
為了優化效能,它為動態嵌入實現了一個兩級儲存架構(IDMap 與 EmbeddingBlocks),並使用 All-to-All 集體通訊進行分散式參數分片與請求合併。
適用對象
適用於從事工業級推薦、廣告與搜尋系統的工程師與研究人員,這些系統需要對結合了稀疏特徵與密集深度學習組件的模型進行高效能訓練。
亮點
- 統一框架:在 PyTorch 生態系統中整合了稀疏-密集計算。
- 高效能:透過算子融合與向量化記憶體存取優化 GPU 利用率。
- 動態嵌入:為 HashTable 嵌入實現了一個靈活的兩級儲存系統,可以放置在 GPU 或 CPU 上。
- 分散式擴展:使用參數聚合與分片將大型嵌入表分散到計算節點。
相關
- 專案
- 專案
- 專案
- 專案
- 專案