加入收藏 | 设为首页 | 会员中心 | 我要投稿 桂林站长网 (https://www.0773zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 外闻 > 正文

你该知道的GRASP职责分配模式

发布时间:2021-02-07 11:55:25 所属栏目:外闻 来源:互联网
导读:可以发现,在小 batch 场景下,Faster Transformer 和 LightSeq 对比 Tensorflow 都达到了 10 倍左右的加速。而随着 batch 的增大,由于矩阵乘法运算占比越来越高,两者对 Tensorflow 的加速比都呈衰减趋势。LightSeq 衰减相对平缓,特别是在大 batch 场景下

可以发现,在小 batch 场景下,Faster Transformer 和 LightSeq 对比 Tensorflow 都达到了 10 倍左右的加速。而随着 batch 的增大,由于矩阵乘法运算占比越来越高,两者对 Tensorflow 的加速比都呈衰减趋势。LightSeq 衰减相对平缓,特别是在大 batch 场景下更加具有优势,最多能比 Faster Transformer 快 1.4 倍。这也对未来的一些推理优化工作提供了指导:小 batch 场景下,只要做好非计算密集型算子融合,就可以取得很高的加速收益;而大 batch 场景下则需要继续优化计算密集型算子,例如矩阵乘法等。

最后在 WMT14 标准的法英翻译任务上,笔者测试了 Transformer big 模型的性能。LightSeq 在 Tesla P4 显卡上平均每句翻译延迟为 167ms ,Tesla T4 上减小到了 82ms。而作为对比, TensorFlow 延迟均为 1071ms,LightSeq 分别达到了 6.41 和 13.06 倍加速。另外,笔者尝试了其他多种模型配置,得到了比较一致的加速效率。例如更深层的模型结构上(encoder加深至 16 层),LightSeq 得到的加速比,分别是 6.97 和 13.85 倍。

文本生成性能

上述机器翻译通常采用 Beam Search 方法来解码, 而在文本生成场景,经常需要使用采样( Sampling )来提升生成结果的多样性。下图展示了 Transformer base 模型采用 top-k/top-p sampling 的性能测试对比:
 

性能测试

在 NVIDIA Tesla P4 和 NVIDIA Tesla T4 显卡上,笔者测试了 LightSeq 的性能,选择了深度学习框架 Tensorflow v1.13 和解码场景支持较为丰富的 Faster Transformer v2.1 实现作为对比。Turbo Transformers 解码方法比较单一(只支持 Beam Search ,不支持文本生成中常用的采样解码),尚未满足实际应用需求,因此未作对比。

机器翻译性能

在机器翻译场景下,笔者测试了 Transformer base 模型(6层 encoder、6层 decoder 、隐层维度 512 )采用 beam search 解码的性能,实验结果如下:
 

3. 简单易用,无缝衔接Tensorflow、PyTorch等深度学习框架

LightSeq通过定义模型协议,支持各种深度学习框架训练好的模型灵活导入。同时包含了开箱即用的端到端模型服务,即在不需要写一行代码的情况下部署高速模型推理,同时也灵活支持多层次复用。

使用方法

利用 LightSeq 部署线上服务比较简便。LightSeq 支持了 Triton Inference Server[8],这是 Nvidia 开源的一款 GPU 推理 server ,包含众多实用的服务中间件。LightSeq 支持了该 server 的自定义推理引擎 API 。因此只要将训练好的模型导出到 LightSeq 定义的模型协议[9]中,就可以在不写代码的情况下,一键启动端到端的高效模型服务。更改模型配置(例如层数和 embedding 大小)都可以方便支持。具体过程如下:

首先准备好模型仓库,下面是目录结构示例,其中 transformer.pb 是按模型协议导出的模型权重,libtransformer.so 是 LightSeq 的编译产物。
 

服务是技术捧出的浪漫

如果你经常用打车软件,可能会发现每个平台的派单速度、远近、效率都不一样。

事实上,派单系统是各大平台的核心技术之一。乘客发单后,应该派给周边的哪个司机?哪个司机接单速度最快?最佳行驶路径是哪条?怎么能让总行驶时间最短?

这并不是静态的问题——车辆永远在不停地移动,可能几秒后这个司机就通过一个路口,或行驶到了高速路。不仅如此,每一次派单的决策也将影响未来的司机分布。这需要预测未来情况,并且快速地对司机和乘客进行动态、实时匹配。

智能派单正是滴滴的核心技术之一。这项技术在程序员手中,经历了层层迭代。

早期,平台派单算法的目标急迫而朴素,就是在确保用户体验的基础上,同时让2秒钟之内更多乘客被应答。

到了2016年,算法优化的目标变得更加长远——比如能不能在更长时间内优化提升效率?比如在1小时或者1天?本质上,派单是序列决策问题,系统做出的每一个决策都能影响未来司机的分布。举例来说,一个司机接一个乘客可以认为是一个动作,动作带来的结果是,这个司机过了一段时间到了乘客目的地,这个动作导致状态发生变化,这也是类似AlphaGo的强化学习问题。

2017年滴滴开发了一套基于强化学习的智能派单匹配系统,把目标从2秒钟最优改成了1天最优,2017年上线时就在确保乘客接驾体验的基础上,进一步提升了全局成交率和司机的收入。

但此时滴滴还只能模拟简单的时间、空间信息,不能模拟更加动态的复杂信息,比如天气,一个区域如果下雨,会对派单会产生很大的影响,就需要把这些信息都包括进来。 2018年,滴滴进一步开发一套基于深度强化学习的方法V-Net,能尽可能多地把潜在有价值的信息包含起来,建立深度学习模型,能进一步优化用户体验。2019年10月,滴滴基于强化学习的网约车派单解决方案获得了2019年度INFORMS Daniel H. Wagner Prize,这是这个奖项22年以来第一次颁给中国公司。

从全局视角出发,由算法综合考虑接驾距离、口碑值、拥堵情况、安全等因素,自动将订单匹配给最合适的司机接单,让乘客接驾时长最短,让司机有更好的收入,滴滴通过将数学、机器学习及仿真问题进行了创新性结合,非常新颖地应对了一个运筹学难题,wagner奖的评审委员会发表了如此评价。

(编辑:桂林站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读