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

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

3天内不再提示

基于TensorFlow的阿里巴巴本地生活推荐系统

星星科技指导员 来源:NVIDIA 作者:NVIDIA 2022-04-11 17:31 次阅读

案例简介

本案例中,阿里巴巴本地生活场景中,部署了大量使用 TensorFlow深度学习推荐模型,这些模型需要对每个用户附近的数千家商户和产品进行排名,对用户响应时间和业务吞吐量(QPS)要求极高。为了满足这样的要求 GPU 落地使用是必然,但由于 TensorFlow 目前对 GPU 使用采用单一 steam 方式,并且逐个调用 GPU 算子的过程中存在大量的 GPU kernel 启动开销, 因此如何在这些系统中充分发挥 GPU 计算能力则需要探索。

阿里巴巴本地生活推荐系统结合 NVIDIA CUDA Graphs 对 GPU 进行算力释放优化,让推理过程单机吞吐增长 110%,耗时 P99 下降 66.7%。

本案例主要应用到 NVIDIA V100 Tensor Core GPU 和 NVIDA CUDA Graphs。

客户简介及应用背景

阿里巴巴集团旗下的阿里巴巴本地生活服务公司,是由饿了么和口碑会师合并组成国内领先的本地生活服务平台,使命是“重新定义城市生活,让生活更美好。”口碑专注到店消费服务,饿了么专注到家生活服务,蜂鸟即配专注即时配送服务,客如云专注为商家提供数字化升级的产品和服务,共同推动本地生活市场的数字化,让天下没有难做的生意。

阿里巴巴本地生活服务公司智能推荐系统基于智能AI系统对用户所在区域万级商户商品进行实时智能推荐和服务。实时智能推荐伴随着深度学习技术的发展,为了追求智能推荐的准确度,推荐模型朝着两个维度快速发展:1. 更宽更深的网络,更复杂的特征增强方式。2. 更多的不同维度的特征。这对在线推理阶段的实时性能和算力提出了更高的挑战。伴随着搜索推荐模型的在 GPU 的广泛落地使用,GPU 在各个场景下的算力优化也被广泛关注。

在线 Inference 过程中,由于考虑到存储 cache 的友好性,会把计算密集型算子和其周边的数据变换算子都在 GPU 中执行,算子数量的增长会导致严重的 kernel 启动开销,主要原因是:1. 大量小 kernel 的执行

2. TensorFlow 的调度机制使得通过大量的线程启动 kernel 到同一个 stream 中;多个线程竞争同个资源加剧 launch 开销。

客户挑战

在阿里巴巴本地生活推荐搜索场景中,有大量的深度学习模型在用户和商户,用户和商品匹配场景中使用,但是总体来看 GPU-Utilization 并不高,GPU 使用成本显得比较高。随着模型复杂度不断攀升(Inference 计算达到 10~20 GFLOPS),算法同学的收益产出一定程度上和模型复杂度成正比关系。目前搜推广的模型设计中部分子结构设计和变换很多,但是基本范式如下:

Feature Generation -》 Embedding -》 Attention/Transformer -》 MLP

绿色部分基本属于计算密集型部分,但是在搜推广场景中,这部分算子不但包含对于算力需求旺盛的深度网络相关算子,也包含数据合并,数据变换等轻量级计算算子,这类算子的特点是:运算时长通常很短(1-10 微秒),而且这一类轻量级计算算子的数量伴随着 Transformer 的落地,数量占比逐步增高。

我们从另一个角度来量化这一过程轻量级计算算子的数量占比,GPU 的繁忙情况通常来说有两个指标:

1. GPU-Utilization,表示 GPU 在单位时间内在执行 kernel 的时间片比例。

2. SM Activity,表示 GPU 中 SM 在单位时间内用于执行 kernel 的 SM 使用比例*时间片比例。

我们可以看到在推荐搜索模型线上 Inference 过程中 SM Activity 通常远远低于 GPU-Utilization,这表示 GPU 虽然在忙碌,但是由于轻量级计算算子的数量占比较高,SM 使用比例使用比例不高,GPU 的实际 “工作量” 并不大。

轻量级计算算子的比例高会导致该部分算子在 CPU 上调度过程中 kernel launch 的执行时长远远大于算子在 GPU 上的执行时长,这个现象会导致严重的 kernel launch bound 现象。

pYYBAGJT9cOAWBKFAAAsG_KhnbY467.png

应用方案

基于以上挑战,阿里巴巴本地生活搜索推荐模型选择了 NVIDIA 提供的 AI 加速方案:CUDA Graphs。

1、首先,我们根据业务场景的具体问题,使用 NVIDIA Nsight Systems 进行问题定位和分析。我们利用 NVIDIA Nsight Systems 集成到线上 Inference 环境中,获取了真实环境下 Inference 过程的 GPU Profing 文件。通过 Profing 文件,我们可以清晰的看到 Inference 过程中,kernel launch bound 现象异常严重,符合我们的分析预想(如下图)。

poYBAGJT9cuAPLIxAAClZF52Kso979.png

2、后续,我们采用集成 CUDA Graphs 进行模型 Inference 过程优化,理论上 CUDA Graphs 会大幅缓解 kernel launch bound 现象,因为 CUDA Graphs 会合并 N 个 kernel 独立的 launch 操作,变为 1 个 graph launch 操作,这样 kernel launch 不再是整个推理的瓶颈(如下图)。

poYBAGJT9dGACNttAACPZanBkeY752.png

使用效果及影响

经过集成 NVIDIA Nsight System 进行 GPU 使用情况查看和细节问题的诊断,我们充分了解和分析了业务中对 GPU 的使用情况的 kernel 执行流程。对性能进一步优化起到了指导作用。后续集成 CUDA Graphs 后,符合预期效果。推荐深度学习模型在 Inference 过程中的耗时 P99 下降 66%,单机吞吐提升 110%。让用户在毫无感知的时间范围内完成了模型算力达到 10 GFLOPS 的 Inference 过程,用户体验得到了极大的提升。

在使用 NVIDIA Nsight Systems 进行 GPU 瓶颈分析过程中,文档查阅和使用教程很方便上手,集成过程也较为方便,指标介绍很丰富,快速完成 GPU 使用情况分析。后续 CUDA Graphs 使用过程中,相关文档也比较完善,包括图的切割和分装,算子 Capture 标准等。

本次优化过程,团队内部积累了一套较为完善的 GPU 优化手段和优化方法理论,后续遇到其他模型性能问题时也有的放矢。多场景进行优化后,对整个 GPU。

审核编辑:郭婷

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

    关注

    14

    文章

    4597

    浏览量

    101762
  • gpu
    gpu
    +关注

    关注

    27

    文章

    4424

    浏览量

    126724
  • AI
    AI
    +关注

    关注

    87

    文章

    26472

    浏览量

    264102
收藏 人收藏

    评论

    相关推荐

    阿里巴巴减持小鹏汽车股份至9.24%

    据美东时间 3 月 20 日披露,小鹏汽车于美国证券交易委员会文件中透露,阿里巴巴旗下淘系平台淘宝中国控股有限公司(Taobao China Holding Limited)正计划出售 3300 万份小鹏汽车 ADS,市值约为 3.14 亿美元(约合人民币 22.61 亿元)。
    的头像 发表于 03-21 10:45 324次阅读

    阿里巴巴推出全新AI图生视频模型EMO

    近日,阿里巴巴集团智能计算研究院宣布推出了一款革命性的AI图片-音频-视频模型技术——EMO。据官方介绍,EMO是一种先进的音频驱动肖像视频生成框架,能够将静态照片转化为生动逼真的动态视频,并且能够随着任意音频文件“说话”或“唱歌”。
    的头像 发表于 03-05 11:00 577次阅读

    阿里巴巴重返中国顶级电商轨道

    阿里巴巴集团董事会主席蔡崇信近日宣布,经过一系列架构重组和管理层变动后,阿里巴巴已成功重返中国顶级电商轨道。蔡崇信在讲话中强调,公司正在逐步调整战略,重新定位其在电商领域的领导地位。
    的头像 发表于 02-27 14:29 513次阅读

    阿里巴巴涨超3% 财报或超预期

    阿里巴巴涨超3% 今日港股开盘后阿里巴巴涨超3%,恒生科技表现也很亮眼。快手、比亚迪电子、联想集团等多股上涨。 阿里巴巴将于2月7日发布2024财年第三季度财报,业界分析会超预期。
    的头像 发表于 02-06 16:05 1221次阅读

    阿里巴巴推出自主多模态AI代理MobileAgent

    阿里巴巴最近推出了一款名为MobileAgent的自主多模态AI代理,这款产品模拟人类操作手机,并采用纯视觉解决方案,无需任何系统代码。
    的头像 发表于 02-04 10:34 513次阅读

    软银子公司确认减持阿里 阿里巴巴最大股东易主

    软银子公司确认减持阿里 软银集团旗下全资子公司Skybridge LLC在回应关于买卖阿里巴巴股票时表示,此前已经与金融机构签订了预付远期合约涉及5.21亿股;由于近几年已经分阶段实施并完成实物结算
    的头像 发表于 01-26 20:45 1538次阅读

    软银已完成减持阿里巴巴股份

    近日,软银集团全资子公司Skybridge LLC宣布,已完成对阿里巴巴股份的减持。这一决定是在经过深思熟虑后作出的,旨在优化公司的财务结构和未来的投资策略。
    的头像 发表于 01-26 15:58 455次阅读

    马云大幅增持阿里股票 马云取代软银成为阿里巴巴最大股东

    马云大幅增持阿里股票 马云取代软银成为阿里巴巴最大股东 有媒体报道,阿里巴巴创始人马云、蔡崇信近期大笔增持了阿里的股票,而且已经买成了最大股东,马云取代软银成为
    的头像 发表于 01-24 18:55 729次阅读

    镭神智能入选阿里巴巴诸神之战2023年度智能制造赛道之星

    近日,阿里云发布《Create@阿里巴巴诸神之战2023年度新势力榜单》,镭神智能入选Create@阿里巴巴诸神之战2023年度智能制造赛道之星。据悉,2023年,Create@阿里巴巴
    的头像 发表于 01-20 08:23 198次阅读
    镭神智能入选<b class='flag-5'>阿里巴巴</b>诸神之战2023年度智能制造赛道之星

    深夜,阿里巴巴“出售”小鹏?

    对此,阿里巴巴集团相关负责人表示,“我们根据自身的资本管理目标,出售了所持的部分小鹏股份。小鹏是中国电动汽车领域的领军者之一,我们已与其建立了战略合作关系。我们相信小鹏的前景,期待与该公司的持续合作。”
    的头像 发表于 12-18 16:31 324次阅读

    受半导体新规影响,阿里云股价跌超9%,分拆IPO计划搁置!

    响,阿里巴巴美股股价大跌9.14%。 今年3月底,阿里巴巴集团宣布启动1+6+N组织变革,成立云智能集团、淘天集团、本地生活集团、阿里国际数
    的头像 发表于 11-21 09:31 190次阅读

    2023云栖大会 阿里巴巴要打造AI时代最开放的云

    2023云栖大会 阿里巴巴要打造AI时代最开放的云 2023杭州·云栖大会以“计算,为了无法计算的价值”为主题开启。2023云栖大会昨天开幕,阿里巴巴集团董事会主席蔡崇信在开幕式上致辞;2023
    的头像 发表于 11-01 17:42 788次阅读

    英特尔携手阿里巴巴制定多重优化方案,助力阿里Noslate吞吐量提升49%至61%

    的需求,阿里巴巴借助长期的技术积累与创新探索,在 Node.js 的基础上打造了 Noslate 这一面向无服务架构和云原生场景的 JavaScript 容器方案。 作为阿里巴巴多年的深度合作伙伴,英特尔提供的先进全栈软硬件产品与技术,一直是
    的头像 发表于 10-27 20:00 287次阅读
    英特尔携手<b class='flag-5'>阿里巴巴</b>制定多重优化方案,助力<b class='flag-5'>阿里</b>Noslate吞吐量提升49%至61%

    出资10亿元,阿里巴巴等成立创投基金

    据合伙人信息,该企业由阿里巴巴(中国)网络技术有限公司及其下属的杭州航运管理咨询有限公司,天津和创汇科咨询合伙企业(有限合伙企业),共青城中科国创创业投资合伙企业(有限合伙企业)共同出资。
    的头像 发表于 09-26 15:13 1700次阅读

    阿里巴巴java开发手册

    《Java开发手册》是阿里巴巴集团技术团队的集体智慧结晶和经验总结,经历了多次大规模一线实战的检验及不断完善,公开到业界后,众多社区开发者踊跃参与,共同打磨完善,系统化地整理成册,当前的版本是泰山
    发表于 06-08 15:18 0次下载