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

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

3天内不再提示

HugeCTR能够高效地利用GPU来进行推荐系统的训练

NVIDIA英伟达企业解决方案 来源:NVIDIA英伟达企业解决方案 作者:NVIDIA英伟达企业解 2022-04-01 09:40 次阅读

1. Introduction

HugeCTR 能够高效地利用 GPU 来进行推荐系统的训练,为了使它还能直接被其他 DL 用户,比如 TensorFlow 所直接使用,我们开发了 SparseOperationKit (SOK),来将 HugeCTR 中的高级特性封装为 TensorFlow 可直接调用的形式,从而帮助用户在 TensorFlow 中直接使用 HugeCTR 中的高级特性来加速他们的推荐系统。

796b3d68-b14e-11ec-aa7f-dac502259ad0.png

图 1. SOK embedding 工作流程

SOK 以数据并行的方式接收输入数据,然后在 SOK 内部做黑盒式地模型转换,最后将计算结果以数据并行的方式传递给初始 GPU。这种方式可以尽可能少地修改用户已有的代码,以更方便、快捷地在多个 GPU 上进行扩展。

SOK 不仅仅是加速了 TensorFlow 中的算子,而是根据业界中的实际需求提供了对应的新解决方案,比如说 GPU HashTable。SOK 可以与 TensorFlow 1.15 和 TensorFlow 2.x 兼容使用;既可以使用 TensorFlow 自带的通信工具,也可以使用 Horovod 等第三方插件来作为 embedding parameters 的通信工具。

2. TF2 Comparison/Performance

使用 MLPerf 的标准模型 DLRM 来对 SOK 的性能进行测试。

798ed8f4-b14e-11ec-aa7f-dac502259ad0.png

图 2. SOK 性能测试数据

相比于 NVIDIA 的 DeepLearning Examples,使用 SOK 可以获得更快的训练速度以及更高的吞吐量。

3. API

SOK 提供了简洁的、类 TensorFlow 的 API;使用 SOK 的方式非常简单、直接;让用户通过修改几行代码就可以使用 SOK。

1. 定义模型结构

79ad3c54-b14e-11ec-aa7f-dac502259ad0.png

左侧是使用 TensorFlow 的 API 来搭建模型,右侧是使用 SOK 的 API 来搭建相同的模型。使用 SOK 来搭建模型的时候,只需要将 TensorFlow 中的 Embedding Layer 替换为 SOK 对应的 API 即可。

2. 使用 Horovod 来定义 training loop

79d96892-b14e-11ec-aa7f-dac502259ad0.png

同样的,左侧是使用 TensorFlow 来定义 training loop,右侧是使用 SOK 时,training loop 的定义方式。可以看到,使用 SOK 时,只需要对 Embedding Variables 和 Dense Variables 进行分别处理即可。其中,Embedding Variables 部分由 SOK 管理,Dense Variables 由 TensorFlow 管理。

3. 使用 tf.distribute.MirroredStrategy 来定义 training loop

79f46584-b14e-11ec-aa7f-dac502259ad0.png

类似的,还可以使用 TensorFlow 自带的通信工具来定义 training loop。

4. 开始训练

7a0c4bae-b14e-11ec-aa7f-dac502259ad0.png

在开始训练过程时,使用 SOK 与使用 TensorFlow 时所用代码完全一致。

4. 结语

SOK 将 HugeCTR 中的高级特性包装为 TensorFlow 可以直接使用的模块,通过修改少数几行代码即可在已有模型代码中利用上 HugeCTR 的先进设计。

审核编辑 :李倩

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

    关注

    28

    文章

    4682

    浏览量

    128624
  • SOK
    SOK
    +关注

    关注

    0

    文章

    5

    浏览量

    6325

原文标题:Merlin HugeCTR Sparse Operation Kit 系列之一

文章出处:【微信号:NVIDIA-Enterprise,微信公众号:NVIDIA英伟达企业解决方案】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    NPU与GPU的性能对比

    它们在不同应用场景下的表现。 一、设计初衷与优化方向 NPU : 专为加速AI任务而设计,包括深度学习和推理。 针对神经网络的计算模式进行了优化,能够高效地执行矩阵乘法、卷积等操作。 拥有众多小型处理单元,配备专门的内存体系结构和数据流优化策略,对深度学习任务的处理特别
    的头像 发表于 11-14 15:19 184次阅读

    PyTorch GPU 加速训练模型方法

    在深度学习领域,GPU加速训练模型已经成为提高训练效率和缩短训练时间的重要手段。PyTorch作为一个流行的深度学习框架,提供了丰富的工具和方法
    的头像 发表于 11-05 17:43 419次阅读

    使用EMBark进行大规模推荐系统训练Embedding加速

    推荐系统是互联网行业的核心系统,如何高效训练推荐系统是各公司关注的核心问题。目前,推荐系统基本上
    的头像 发表于 10-31 14:46 108次阅读
    使用EMBark<b class='flag-5'>进行</b>大规模推荐<b class='flag-5'>系统</b><b class='flag-5'>训练</b>Embedding加速

    GPU深度学习应用案例

    GPU在深度学习中的应用广泛且重要,以下是一些GPU深度学习应用案例: 一、图像识别 图像识别是深度学习的核心应用领域之一,GPU在加速图像识别模型训练方面发挥着关键作用。通过
    的头像 发表于 10-27 11:13 302次阅读

    为什么ai模型训练要用gpu

    GPU凭借其强大的并行处理能力和高效的内存系统,已成为AI模型训练不可或缺的重要工具。
    的头像 发表于 10-24 09:39 178次阅读

    GPU服务器在AI训练中的优势具体体现在哪些方面?

    能力特别适合于深度学习中的大规模矩阵运算和高维度数据处理,这些是AI训练中常见的计算密集型任务。 2、高效的数据处理:AI训练通常涉及大量的数据,GPU服务器
    的头像 发表于 09-11 13:24 304次阅读

    苹果承认使用谷歌芯片训练AI

    苹果公司最近在一篇技术论文中披露,其先进的人工智能系统Apple Intelligence背后的两个关键AI模型,是在谷歌设计的云端芯片上完成预训练的。这一消息标志着在尖端AI训练领域,大型科技公司正积极探索并实践着英伟达
    的头像 发表于 07-30 17:03 673次阅读

    SOK在手机行业的应用案例

    通过封装 NVIDIA Merlin HugeCTR,Sparse Operation Kit(以下简称 SOK)使得 TensorFlow 用户可以借助 HugeCTR 的一些相关特性和优化加速 GPU 上的分布式 Embed
    的头像 发表于 07-25 10:01 285次阅读
    SOK在手机行业的应用案例

    电磁干扰训练系统原理是什么

    智慧华盛恒辉电磁干扰训练系统的原理主要基于电磁干扰(EMI)的基本原理,即利用电磁波对电子设备或系统产生的干扰,通过模拟真实的电磁环境,对受训人员
    的头像 发表于 07-22 16:34 298次阅读

    llm模型训练一般用什么系统

    LLM(Large Language Model,大型语言模型)是近年来在自然语言处理领域取得显著成果的一种深度学习模型。它通常需要大量的计算资源和数据进行训练。以下是关于LLM模型训练
    的头像 发表于 07-09 10:02 334次阅读

    如何利用Matlab进行神经网络训练

    ,使得神经网络的创建、训练和仿真变得更加便捷。本文将详细介绍如何利用Matlab进行神经网络训练,包括网络创建、数据预处理、训练过程、参数调
    的头像 发表于 07-08 18:26 1593次阅读

    如何提高自动驾驶汽车感知模型的训练效率和GPU利用

    由于采用了多摄像头输入和深度卷积骨干网络,用于训练自动驾驶感知模型的 GPU 内存占用很大。当前减少内存占用的方法往往会导致额外的计算开销或工作负载的失衡。
    的头像 发表于 04-29 09:12 819次阅读
    如何提高自动驾驶汽车感知模型的<b class='flag-5'>训练</b>效率和<b class='flag-5'>GPU</b><b class='flag-5'>利用</b>率

    AI训练,为什么需要GPU

    随着由ChatGPT引发的人工智能热潮,GPU成为了AI大模型训练平台的基石,甚至是决定性的算力底座。为什么GPU能力压CPU,成为炙手可热的主角呢?要回答这个问题,首先需要了解当前人工智能(AI
    的头像 发表于 04-24 08:05 1075次阅读
    AI<b class='flag-5'>训练</b>,为什么需要<b class='flag-5'>GPU</b>?

    FPGA在深度学习应用中或将取代GPU

    上涨,因为事实表明,它们的 GPU训练和运行 深度学习模型 方面效果明显。实际上,英伟达也已经对自己的业务进行了转型,之前它是一家纯粹做 GPU 和游戏的公司,现在除了作为一家云
    发表于 03-21 15:19

    应用大模型提升研发效率的实践与探索

    对于模型训练,我们可以采用 3D 并行训练的方式实现。将模型参数和梯度张量划分为多个分区,分配到不同 GPU 卡上进行计算。每张卡负责自己
    的头像 发表于 02-22 11:47 597次阅读
    应用大模型提升研发效率的实践与探索