当前位置:首页 > 报告详情

大规模 Embedding 训练优化实践.pdf

上传人: 张** 编号:169143 2024-07-06 33页 1.60MB

1、Large-Scale Embedding Training in Tensorflow&PytorchHui Kang,Shijie Liu,Nvidia Devtch software engineer|2024/06/22IntroductionSparse Operation Kit for TensorflowTorchRec Optimization for PytorchAgendaIntroductionMulti-stage Recommender System Pipelineand Scope of This PresentationOur FocusDeep Learn

2、ing Recommendation Models(DLRM)Simplified View Bottom MLPso Process dense input features,often independent to the embedding lookups Embedding tableso Map one-hot/multi-hot categorical features into the embedding vectors Interactiono Learn effective feature crosses Top MLPso Output the final recommen

3、dation result,e.g.,click probabilityEmbeddingTable 0EmbeddingTable NCategoricalfeature 0Categoricalfeature N.InteractionBottomMLPsNumerical featuresTopMLPs.Goals of This Presentation Introduce Sparse Operation Kit,a TensorFlow plugin to accelerate large scale embedding training Introduce our optimiz

4、ation on TorchRec Share the achieved multi-gpu training performanceSparse Operation Kit For TensorflowSparse Operation Kit Sparse Operation Kit(SOK)is a Python package wrapped GPU accelerated operations dedicated for sparse training/inference cases.SOK,as a plugin for TensorFlow,provides model paral

5、lelism functionality for the embedding part.What are the challenges in the embedding part of model parallelism?Embedding table storage The embedding table is very large and requires a significant amount of storage space.Due to the limited memory of GPUs,it is not possible to store large embedding ta

6、bles.Many users choose TensorFlows PS architecture to train large embedding tables.However,when using the PS architecture for training,network bandwidth often becomes the bottleneck that restricts training speed.The indices of the embedding table are generally hashed,requiring the embedding table to

word格式文档无特别注明外均可编辑修改,预览文件经过压缩,下载原文更清晰!
三个皮匠报告文库所有资源均是客户上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作商用。
本文主要介绍了TensorFlow和PyTorch在处理大规模嵌入式训练时的优化方法。 1. TensorFlow的稀疏操作套件(SOK)是一个Python包,专门用于稀疏训练/推理情况下的GPU加速操作。SOK作为TensorFlow的插件,为嵌入部分提供了模型并行功能。SOK使用分层KV(HKV)哈希表存储嵌入表,可以充分利用GPU内存和主机内存。 2. PyTorch的TorchRec是一个用于在PyTorch中大规模训练推荐系统的域库,允许用户在许多GPU上分片巨大的嵌入表。我们的优化目标是针对MLPerf DLRM-DCNv2模型,不改变其原始API和架构。 3. 我们通过优化CPU启动延迟、使用CUDA图进行MLP和allreduce、为输入分布预取使用多线程内核启动、将D2H复制设置为固定主机内存复制等方式,实现了性能提升。 4. 在16个DGX H100节点上,我们实现了2.25倍的加速,每迭代GPU训练时间从7.68ms降低到3.4ms。
如何使用Sparse Operation Kit加速大规模嵌入式训练? TorchRec优化如何提高Pytorch推荐系统性能? 如何在多GPU环境下高效训练深度学习推荐模型?
客服
商务合作
小程序
服务号
折叠