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

    文章

    4949

    浏览量

    102834
  • gpu
    gpu
    +关注

    关注

    28

    文章

    4704

    浏览量

    128736
  • AI
    AI
    +关注

    关注

    87

    文章

    30272

    浏览量

    268494
收藏 人收藏

    评论

    相关推荐

    阿里巴巴国际站首推全流程AI产品

    近日,阿里巴巴国际站正式推出了其首个全流程AI产品——AI生意助手2.0。这一创新产品的问世,标志着阿里巴巴在助力中小企业外贸经营方面迈出了重要一步。
    的头像 发表于 10-30 16:12 196次阅读

    阿里巴巴完成双重主要上市

    8月28日阿里巴巴在香港联交所主板主要上市,成为在港交所、纽交所双重主要上市的公司。如今,阿里巴巴完成双重主要上市。 此外,有投资机构认为阿里巴巴最快有望于9月份就纳入港股通。 截至8月28日收盘,
    的头像 发表于 08-29 16:06 351次阅读

    阿里巴巴季报出炉 阿里云二季度营收增长6%

    阿里巴巴季报出炉我们一起来围观一下,根据阿里巴巴集团发布的截至2024年6月30日的第二季度经营业绩数据显示,阿里巴巴该季度营收达到2432.4亿元,而上年同期营收2341.56亿元,同比增4%;经
    的头像 发表于 08-16 16:45 469次阅读

    阿里巴巴AI赋能海外扩张新篇章

    中国电商巨头阿里巴巴集团正积极重启并加速其海外扩张战略,以应对国内电商市场竞争加剧的挑战。此次扩张的一大亮点在于,阿里巴巴将人工智能(AI)技术深度融入其国际业务布局中,开启了海外发展的新篇章。
    的头像 发表于 07-12 17:56 952次阅读

    阿里巴巴投资逐际动力,深化智能机器人布局

    近日,阿里巴巴集团对深圳逐际动力科技有限公司(简称:逐际动力)进行战略投资,此举再次体现了阿里巴巴在智能机器人领域的坚定布局。
    的头像 发表于 05-22 11:52 763次阅读

    阿里巴巴集团2024财年稳健增长

    阿里巴巴集团近日公布了其2024财年第四季度及全年业绩报告,数据亮眼。在经历一年的主动变革后,阿里巴巴重回健康增长轨道。
    的头像 发表于 05-16 11:23 645次阅读

    阿里巴巴杭州全球总部正式启用

    近日,阿里巴巴在杭州的未来科技城正式揭开了其全球总部新园区的面纱。这座园区不仅是阿里巴巴目前规模最大的综合性办公空间,更是其绿色、科技、可持续发展理念的生动体现。
    的头像 发表于 05-13 11:15 523次阅读

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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