0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

NVIDIA Merlin 助力陌陌推荐业务实现高性能训练优化

NVIDIA英伟达 来源:未知 2023-11-09 10:45 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

通过 Merlin 大幅提升大规模深度多目标精排模型训练性能

本案例中,NVIDIA 团队与陌陌推荐系统团队深度合作,共同使用 NVIDIA GPU Merlin 软件解决方案替代其原有解决方案。

通过使用 Merlin TensorFlow Plugin (即 Sparse Operation Kit,SOK) 和 HierarchicalKV(HKV),相较于原方案在相同规模模型和 GPU 下,显著提高了陌陌大规模深度多目标精排模型的训练性能。在不影响模型效果的前提下,模型整体吞吐提升了 5 倍以上,再结合通信和 IO 等进一步优化后,极限情况下可以提升 12 倍吞吐。

客户简介

挚文集团于 2011 年成立,2014 年 12 月 11 日在美国纳斯达克交易所挂牌上市(NASDAQ: MOMO),拥有陌陌、探探等多款手机应用,以及电影制作发行、节目制作等多元业务。陌陌是挚文集团于 2011 年 8 月推出的一款基于地理位置的移动视频社交应用,是中国领先的开放式社交平台之一。

训练速度面临挑战,

需有效提升算法迭代

陌陌的原始解决方案本质是基于 PS-Worker 的 CPU + GPU 混合训练方案,可支持大规模稀疏参数的训练。然而,随着用户规模的增加和业务的发展,对于推荐算法的准确度也有了更高的要求。这导致模型的复杂性和训练样本量显著增加,对单次模型训练速度和新模型算法探索效率都有更大的挑战。尽管原方案在功能上支持了大规模稀疏参数的训练,但在性能上难以满足业务日益增长的需求。因此,陌陌亟需对训练速度进行优化,加快算法迭代,以提高业务效果。

SOK 和 HKV

为推荐系统提升性能与灵活性

NVIDIA Merlin HugeCTR 是 NVIDIA 推出的可以高效利用 GPU 来进行推荐系统训练的解决方案,为了使它能直接被其他 DL 用户,比如 TensorFlow 所直接使用,NVIDIA 开发了 Merlin TensorFlow Plugin (以下简称 SOK),将 HugeCTR 中的高级特性封装为 TensorFlow 可直接调用的形式,从而帮助用户在 TensorFlow 中直接使用 HugeCTR 中的高级特性来加速他们的推荐系统。

wKgZomVMSOCAaFAxAAB8kg4r-to254.jpg

图 1. Merlin TensorFlow Plugin(SOK)模型并行示意图

Merlin TensorFlow Plugin 以数据并行的方式接收输入数据,将稀疏参数以模型并行的方式分布在多个 GPU 上,将稠密参数以数据并行的方式分布在多个 GPU 上,内部实现“数据并行-模型并行-数据并行”的转换流程。整个使用方式上尽可能的与原有 TensorFlow 算子对齐,减少对用户已有的代码的修改,以更方便、快捷地在多个 GPU 上进行扩展。此外,SOK 针对 embedding vector 的拷贝和 combiner 进行了高度优化和内核融合,使整个 lookup 的前后向过程拥有更好的性能。

Merlin HierarchicalKV (以下简称HKV)是 Merlin 下的针对于推荐系统训练设计的 KV 加速库。为兼容大模型训练支持了层次化动态 Embedding 存储(CPU+GPU),灵活的 eviction(淘汰) 机制和丰富的 API。目前已经集成入 SOK, 协同加速推荐系统 Embedding 的相关计算。

在应用了 SOK 和 HKV 后,相同规模模型和 GPU 下,陌陌精排模型的训练性能相比于原方案,整体吞吐提升了 5 倍以上。除此之外,陌陌推荐团队在当前 SOK + HKV 的架构基础上,基于业务场景特点,进一步优化整体性能,包括梯度合并,减少梯度计算的通信开销;并行特征数据读取与转换,以及特征数据预取到 GPU 等操作提速特征 IO;使用 XLA 进行编译优化,融合 kernel 以减少 kernel launch 时间;设置 GPU 亲和等操作,使得整体性能提升达到 12 倍。

wKgZomVMSOCASRl0AABRC-I4vSg388.jpg

图 2. 性能加速效果

在陌陌的实际应用中,动态 Embedding 的特性大大简化了推荐系统中连续训练需人工控制显存中 embedding tab 大小的问题。而 SOK 与 HKV 为陌陌提供了完整的功能和性能支持。

除此之外,我们跟陌陌的合作过程中,也结合产品部署中的需求进一步对产品进行了性能优化和功能迭代,比如:

SOK 针对 embedding vector 的拷贝和 combiner 进行了高度优化和 kernel 融合,使整个 lookup 的前后向过程拥有更好的性能。

在陌陌 GPU 高水位线的实际业务中,基于陌陌的测试和反馈,SOK 通过优化了性能和功能的平衡点,使得其在保证性能的基础上,稳定性也大大提升。

另外,在陌陌的实际应用中,面临着模型实时训练的挑战,即需要减少对计算资源的占用,因此我们引入了 HKV,它支持了层次化动态嵌入存储(包括 CPU 和 GPU),并提供了灵活的 eviction 机制以及丰富的 API。这种引入在降低资源占用的同时,也提高了系统的灵活性。

陌陌的实际业务场景和 GPU 使用方式对于 SOK 的开发和迭代提供了非常宝贵的经验,同时陌陌的大量测试反馈也帮助 SOK 提升了应对复杂场景的能力,使得 SOK 的 feature 更加稳定和贴近客户。

持续合作:

优化推荐模型性能,降低训练成本

双方团队通过 SOK 和 HKV 对原方案进行深度优化后,成功帮助陌陌提升了 12 倍的训练效率,极大的降低了模型训练的成本和新模型算法尝试的成本。目前,整体方案已上线,全面支持陌陌推荐系统模型训练。

近期,NVIDIA 团队还与陌陌进行了基于 Transformer 的推荐模型性能优化。NVIDIA JOC 团队和 Merlin 团队基于客户的模型做了一系列性能分析,将 XLA+AMP+半精度 allreduce 应用到该模型上后,端到端性能实现了 50% 的加速。在此基础上,团队们进一步对性能热点 multi-head-attention 部分进行优化,正在将 Flash-Attention 以 tf-plugin 形式进行集成,预计此项优化集成后,整体加速比可达到 3 倍,同时整体的优化方案使得显存使用量下降约 70%,可以显著地缓解显存紧张的问题。

未来,陌陌与 NVIDIA 将继续在推荐系统训练和推理等方面持续合作,持续推进 GPU 和 AI 软件加速计算在陌陌的全面落地,期待能够为陌陌的业务及场景应用带来更大的价值。

了解更多本案例中相关的 NVIDIA 产品信息,敬请查阅:

  • NVIDIA Merlin:

    https://developer.nvidia.cn/merlin

  • Merlin TensorFlow Plugin (SOK) :

    https://github.com/NVIDIA-Merlin/HugeCTR/tree/main/sparse_operation_kit

  • Merlin HierarchicalKV (HKV):

    https://github.com/NVIDIA-Merlin/HierarchicalKV

GTC 2024 将于 2024 年 3 月 18 至 21 日在美国加州圣何塞会议中心举行,线上大会也将同期开放。点击“阅读原文”扫描下方海报二维码,立即注册 GTC 大会


原文标题:NVIDIA Merlin 助力陌陌推荐业务实现高性能训练优化

文章出处:【微信公众号:NVIDIA英伟达】欢迎添加关注!文章转载请注明出处。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 英伟达
    +关注

    关注

    23

    文章

    4040

    浏览量

    97673

原文标题:NVIDIA Merlin 助力陌陌推荐业务实现高性能训练优化

文章出处:【微信号:NVIDIA_China,微信公众号:NVIDIA英伟达】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    使用NVIDIA Nemotron RAG和Microsoft SQL Server 2025构建高性能AI应用

    搜索和调用外部 AI 模型的 SQL 原生 API。NVIDIA 与微软共同将 SQL Server 2025 与 NVIDIA Nemotron RAG 开放模型集合无缝连接,这使您能够在云端或本地环境中基于自己的数据构建高性能
    的头像 发表于 12-01 09:31 350次阅读
    使用<b class='flag-5'>NVIDIA</b> Nemotron RAG和Microsoft SQL Server 2025构建<b class='flag-5'>高性能</b>AI应用

    NVIDIA Spectrum-X 以太网交换机助力 Meta 和 Oracle 加速网络性能

    超大规模企业广泛采用 NVIDIA 网络解决方案,驱动十亿瓦级(Giga-Scale)高性能 AI 数据中心 Meta 推出基于 NVIDIA Spectrum 以太网的交换机,用于
    的头像 发表于 10-14 10:26 1437次阅读
    <b class='flag-5'>NVIDIA</b> Spectrum-X 以太网交换机<b class='flag-5'>助力</b> Meta 和 Oracle 加速网络<b class='flag-5'>性能</b>

    NVIDIA Isaac Lab多GPU多节点训练指南

    NVIDIA Isaac Lab 是一个适用于机器人学习的开源统一框架,基于 NVIDIA Isaac Sim 开发,其模块化高保真仿真适用于各种训练环境,可提供各种物理 AI 功能和由 GPU 驱动的物理仿真,缩小仿真与现实世
    的头像 发表于 09-23 17:15 1981次阅读
    <b class='flag-5'>NVIDIA</b> Isaac Lab多GPU多节点<b class='flag-5'>训练</b>指南

    睿海光电以高效交付与广泛兼容助力AI数据中心800G光模块升级

    租户环境提供推理服务,需实现性能隔离与稳定扩展。面对这一技术浪潮,深圳市睿海光电科技有限公司(简称“睿海光电”)凭借其创新的800G光模块解决方案,以交付速度比同行快2-3天的硬核实力、广泛兼容性及全球
    发表于 08-13 19:01

    奇异摩尔田晨荣获中国半导体行业领军人物奖

    实力与发展成果。奇异摩尔创始人兼 CEO 田晨凭借在AI网络互联领域的创新成就,荣膺 “领军人物奖”。
    的头像 发表于 07-08 17:04 1466次阅读

    高性能计算面临的芯片挑战

    高性能计算(简称HPC)听起来像是科学家在秘密实验室里才会用到的东西,但它实际上是当今世界上最重要的技术之一。从预测天气到研发新药,甚至训练人工智能,高性能计算系统都能帮助解决普通计算机无法
    的头像 发表于 05-27 11:08 817次阅读
    <b class='flag-5'>高性能</b>计算面临的芯片挑战

    快手上线鸿蒙应用高性能解决方案:数据反序列化性能提升90%

    普通对象(如 JSON 数据)与类实例进行互转,是实现面向对象编程与数据序列化解耦的核心工具。随着业务复杂度的提升,该库在反序列化过程中逐渐暴露出性能瓶颈,影响用户核心体验。因此
    发表于 05-15 10:01

    NVIDIA助力解决量子计算领域重大挑战

    NVIDIA 加速量子研究中心提供了强大的工具,助力解决量子计算领域的重大挑战。
    的头像 发表于 03-27 09:17 997次阅读

    NVIDIA 推出开放推理 AI 模型系列,助力开发者和企业构建代理式 AI 平台

    NVIDIA训练的全新 Llama Nemotron 推理模型,为代理式 AI 提供业务就绪型基础 埃森哲、Amdocs、Atlassian、Box、Cadence、CrowdStrike
    发表于 03-19 09:31 335次阅读
    <b class='flag-5'>NVIDIA</b> 推出开放推理 AI 模型系列,<b class='flag-5'>助力</b>开发者和企业构建代理式 AI 平台

    EVASH推出高性能Ultra EEPROM芯片,助力智能设备创新

    EVASH推出高性能Ultra EEPROM芯片,助力智能设备创新
    的头像 发表于 03-09 15:30 926次阅读

    国产高性能晶振兼容SiTime助力智能网联汽车关键技术

    国产高性能晶振兼容SiTime助力智能网联汽车关键技术
    的头像 发表于 02-20 10:26 895次阅读
    国产<b class='flag-5'>高性能</b>晶振兼容SiTime<b class='flag-5'>助力</b>智能网联汽车关键技术

    Supermicro高性能服务器量产供货,优化多重工作负载

    Supermicro, Inc.近日宣布其搭载Intel Xeon 6900系列性能核架构处理器的高性能服务器已开始量产供货。 这一系列服务器采用了多种升级后的创新技术,并结合了新型优化架构,专为
    的头像 发表于 01-21 11:00 757次阅读

    鸿蒙原生页面高性能解决方案上线OpenHarmony社区 助力打造高性能原生应用

    高性能鸿蒙原生应用。 Nodepool:优化页面滑动流畅性Nodepool旨在解决应用页面滑动卡顿问题。开发中,相似页面因业务和代码差异,组件复用性差,引发卡顿、丢帧,影响用户体验。Nodepool通过
    发表于 01-02 18:00

    解锁NVIDIA TensorRT-LLM的卓越性能

    NVIDIA TensorRT-LLM 是一个专为优化大语言模型 (LLM) 推理而设计的库。它提供了多种先进的优化技术,包括自定义 Attention Kernel、Inflight
    的头像 发表于 12-17 17:47 1607次阅读

    怎么做电子元器件的销售啊,不知道如何去地推拜,有没有师哥能帮我解答一下,跪谢~

    在成都卖一些TVS管、MOS管、PHY芯片等,也是刚做这行的销售,大学学的物联网嵌入式,今年的毕业生,不清楚如何去做地推拜,求大佬指点一下小弟
    发表于 12-17 09:40