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

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

3天内不再提示

SOK将HugeCTR中的高级特性进行包装使用

星星科技指导员 来源:NVIDIA 作者:HugeCTR 2022-04-07 16:02 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

1. Introduction

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

pYYBAGJOmyGAEKlZAACdxZaXMq8920.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 的性能进行测试。

poYBAGJOmyiAeiA8AADnMNf4awU433.png

图 2. SOK性能测试数据

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

3. API

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

定义模型结构

poYBAGJOmy2ARBajAADRQdPyK68016.png

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

使用 Horovod 来定义 training loop

pYYBAGJOmziAPRIaAAEf6YbWwDc794.png

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

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

poYBAGJOm0WAXaRPAAFOJm89KHA665.png

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

开始训练

pYYBAGJOm02AGDvJAACSvcfi_CM767.png

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

4. 结语

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

关于作者

NVIDIA GPU 计算专家研发团队成立于2020年7月,主要面向全球用户开发基于英伟达通用计算产品的软件解决方案。 目前团队致力于推荐系统训练框架 Merlin HugeCTR的开发。作为Merlin 系统三大核心软件之一,Merlin HugeCTR 是一套针对于推荐系统设计的模型训练框架。项目启动于2018年,目前产品应用于多家国际互联网公司,自2020年以来,HugeCTR持续参与并推动国际性竞赛MLPerf DLRM训练项目,从而实现了业界领先的优化性能。 NVIDIA GPU 计算专家研发团队是一个小型国际化工程团队,核心成员来自于多个国家(中国,韩国,荷兰,德国),客户分布于世界各地。日常工作使用英语沟通。 团队主要工作围绕软件产品开发展开,涉及产品维护、文档、测试、发布、部署,日常工作中与各国硬件、产品、工程、客户支持团队有着紧密的合作。

审核编辑:郭婷

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

    关注

    14

    文章

    5682

    浏览量

    110111
  • gpu
    gpu
    +关注

    关注

    28

    文章

    5268

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    EdgePLC在高速立式包装的应用解决方案

    精度、温度调节的响应速度以及整机运行的稳定性提出了较高要求。本文结合EdgePLC BL245系列工业AI边缘控制器的技术特性,探讨其在高速立式包装机控制系统的应用方案,分析如何通过边缘智能技术应对多轴同步、精密温控、远程运维
    的头像 发表于 04-17 15:14 84次阅读

    EdgePLC在枕式包装的应用解决方案

    枕式包装机是食品、日化、医药等行业广泛使用的自动化包装设备,用于产品封装在枕形薄膜袋。随着制造业数字化转型的深入,传统枕式包装机在设备互
    的头像 发表于 04-16 16:13 515次阅读

    电子元件的带盘包装技术解析

    包装形式,在自动化生产中扮演着关键角色。本文深入探讨带盘包装的相关技术,结合Analog Devices的产品规格,为电子工程师们提供全面的参考。 文件下载: AD7724ACPZ-REEL.pdf 一、带盘
    的头像 发表于 03-30 10:30 280次阅读

    Socionext 产品包装规格变更通知

    日起,Socionext 公司引入新的包装规格。 文件下载: MB90F342CESPQC-GSE2.pdf 二、变更对象 所有标有 Socionext 公司的产品
    的头像 发表于 03-28 12:50 304次阅读

    NXP 产品包装革新:轻量级卷轴的引入

    ,1.pdf 二、变更详情 变更类别 此次变更属于包装/运输/标签类别。NXP 引入使用更少材料的新设计轻量级包装卷轴,不过材料本身不会改变。 卷轴情况 NXP 在
    的头像 发表于 03-25 14:10 213次阅读

    工控一体机在泡罩包装的应用

    佳维视工控一体机在泡罩包装主要承担核心控制与智能化管理任务,通过集成高性能计算、实时控制与多模态交互功能,显著提升包装设备的自动化水平与生产效率。以下是其具体应用场景与技术优势:
    的头像 发表于 03-24 15:22 143次阅读

    面包自动化包装产线数据采集解决方案

    某企业从事各类面包糕点等食品的生产及销售工作,市场规模持续扩大。为应对产能提升的挑战,已经实现包装环节的自动化,实现从开箱-套袋-装箱-称重-封箱的全过程。现要求包装产线设备数据采集起来,对接到本地值班室
    的头像 发表于 12-13 11:17 853次阅读
    面包自动化<b class='flag-5'>包装</b>产线数据采集解决方案

    食品厂自动包装产线物联网解决方案

    ,食品厂希望新的自动包装产线接入到MES平台中,要求通过无线方式进行通信,以避免停机布线并减少施工成本。对此,物通博联提供高效可靠的物联网解决方案。通过部署PLC数采网关接入控制器PLC,能够实时采集设备状态、运行参数、故障信
    的头像 发表于 09-29 14:19 698次阅读
    食品厂自动<b class='flag-5'>包装</b>产线物联网解决方案

    中国包装行业权威专家一行莅临汇川技术参观指导

    8月27日,中国包装行业权威专家——中国医药包装协会特聘会长、中国包装联合会包装印刷与标签专业委员会主任许文才教授,包联
    的头像 发表于 09-03 18:03 960次阅读

    用visionboard进行视觉项目,如何openmv示例项目烧录到开发板脱机运行?

    用visionboard进行视觉项目,如何openmv示例项目烧录到开发板脱机运行
    发表于 08-15 06:59

    罗克韦尔助力逸超包装实现设备智能化升级

    例如,传统的设备在生产过程要改变包装速度,就必须先停机。然而面对市场竞争的白热化,逸超包装提出了在生产过程实时动态调整生产速度的需求,以便适配上下游的设备,与此同时,还需要适配上游
    的头像 发表于 07-23 14:16 964次阅读

    滚珠导轨:物流输送与包装分拣的“高速轨道”

    滚珠导轨凭借其低摩擦、高刚性的特点,广泛应用于输送线、分拣机及包装机械,确保货物搬运与包装流程的稳定性和速度,成为行业自动化升级的关键部件。
    的头像 发表于 07-21 17:54 1244次阅读
    滚珠导轨:物流输送与<b class='flag-5'>包装</b>分拣的“高速轨道”

    油类包装机远程监控物联网解决方案

    油类包装机(油包机)门用于包装具有一定流动性的粘体物品的设备,如方便面的调味酱包、果酱、番茄酱、发乳、酱类等产品,能够实现自动计量、下料、制袋、封口、打标、撕口等整套包装流程。 在数
    的头像 发表于 06-16 17:08 559次阅读

    利用普源示波器进行功率器件动态特性测试的研究

    深度等优点,在功率器件动态特性测试具有广泛的应用前景。本文旨在研究利用普源示波器进行功率器件动态特性测试的方法,为相关领域的研究和应用提供参考。 功率器件动态
    的头像 发表于 06-12 17:03 779次阅读
    利用普源示波器<b class='flag-5'>进行</b>功率器件动态<b class='flag-5'>特性</b>测试的研究

    Modbus老铁别掉队!EtherCAT闪电侠带你狂飙包装流水线!

    的功能特性,成功攻克了不同协议设备间通信不畅的难题,为包装行业的智能化变革注入了强劲动力,成为推动行业发展的重要技术支撑。 包装行业设备通信的复杂现状 现代包装生产线是一个高度集成且复
    的头像 发表于 04-25 14:36 585次阅读
    Modbus老铁别掉队!EtherCAT闪电侠带你狂飙<b class='flag-5'>包装</b>流水线!