DeepRec稀疏模型业务场景的训练/预测引擎
DeepRec 是基于 TensorFlow1.15, Intel-TensorFlow和NVIDIA-TensorFlow之上构建的针对搜索、推荐、广告场景的训练、推理引擎。
背景
稀疏模型,是指在模型结构中离散特征计算逻辑占比较高的一类深度学习模型的统称。离散特征通常表现为id、tag、文字、词组等算法不能直接处理的非数值化特征,其广泛应用于搜索、广告、推荐等高价值业务中。
DeepRec(PAI-TF) 作为阿里巴巴集团统一的稀疏模型业务场景的训练/预测引擎,支持了淘宝搜索、猜你喜欢、定向广告、直通车广告等核心业务,支撑着千亿特征、万亿样本超大规模的稀疏训练。积累了核心的稀疏场景的功能及性能优化。针对稀疏模型在分布式、图优化、算子、Runtime等方面进行了深度的性能优化,同时提供了稀疏场景下特有的Embedding相关的功能。
DeepRec项目从2016年开发至今,由阿里巴巴集团内AOP团队、XDL团队、PAI团队、RTP团队以及蚂蚁集团AIStudio Infra团队等共建,并且得到了首猜、主搜、广告等算法团队的支持。DeepRec是NVIDIA、Intel相关深度学习团队合作共建项目。
关键功能
DeepRec支持超大分布式训练的能力,支持着阿里巴巴集团内部千亿特征、万亿样本的超大规模的训练场景,针对搜索、推荐、广告场景进行了定制的深度优化,主要包含以下三类的优化:
稀疏功能
- 动态弹性特征(Embedding Variable)
- 动态弹性维度(Dynamic Dimension Embedding Variable).
- 自适应动态弹性特征(Adaptive Embedding Variable).
- 多Hash Variable(Multiple Hash Embedding Variable).
- EmbeddingVariable多级混合存储(Multi-tier Hybrid Embedding Storage).
性能优化
- 分布式训练优化,包括grpc+seastar,FuseRecv,StarServer,HybridBackend等等。
- Runtime优化,包括内存分配器(PRMalloc),显存分配器,基于cost-model和关键路径的执行引擎等.
- 算子优化,包括BF16混合精度优化,稀疏算子优化,算子的GPU/CPU实现等.
- 图优化,包括自动子图融合(AutoGraphFusion),自动流水线(SmartStage),结构化特征(StructureFeature),MicroBatch等.
- 编译优化,支持BladeDISC,XLA等.
部署及推理
- 增量模型导出及加载.
- 超大模型分布式Serving.
- 超大模型多级混合存储Serving支持.
- 在线深度学习支持.
- 高性能Serving框架SessionGroup支持.
评论