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

面临的远程工作挑战以及如何克服

发布时间:2021-02-07 11:56:14 所属栏目:外闻 来源:互联网
导读:如此巨大的参数量,也为模型推理部署带来了挑战。以机器翻译为例,目前 WMT[4]比赛中 SOTA 模型已经达到了 50 层以上。主流深度学习框架下,翻译一句话需要好几秒。这带来了两个问题:一是翻译时间太长,影响产品用户体验;二是单卡 QPS (每秒查询率)太低

如此巨大的参数量,也为模型推理部署带来了挑战。以机器翻译为例,目前 WMT[4]比赛中 SOTA 模型已经达到了 50 层以上。主流深度学习框架下,翻译一句话需要好几秒。这带来了两个问题:一是翻译时间太长,影响产品用户体验;二是单卡 QPS (每秒查询率)太低,导致服务成本过高。

因此,今天给大家安利一款速度非常快,同时支持非常多特性的高性能序列推理引擎——LightSeq。它对以 Transformer 为基础的序列特征提取器(Encoder)和自回归的序列解码器(Decoder)做了深度优化,早在 2019 年 12 月就已经开源,应用在了包括火山翻译等众多业务和场景。据了解,这应该是业界第一款完整支持 Transformer、GPT 等多种模型高速推理的开源引擎。

LightSeq 可以应用于机器翻译、自动问答、智能写作、对话回复生成等众多文本生成场景,大大提高线上模型推理速度,改善用户的使用体验,降低企业的运营服务成本。

相比于目前其他开源序列推理引擎,LightSeq具有如下几点优势:

1. 高性能

LightSeq推理速度非常快。例如在翻译任务上,LightSeq相比于Tensorflow实现最多可以达到14倍的加速。同时领先目前其他开源序列推理引擎,例如最多可比Faster Transformer快1.4倍。

2. 支持模型功能多

LightSeq支持BERT、GPT、Transformer、VAE 等众多模型,同时支持beam search、diverse beam search[5]、sampling等多种解码方式。下表详细列举了Faster Transformer[7]、Turbo Transformers[6]和LightSeq三种推理引擎在文本生成场景的功能差异:
 

听得见的代码

普通人很难看懂代码,却有机会听懂代码。

在微信小程序“代码变音乐”里,选择滴滴的“口罩检测”、“智能派单”等功能,点下“生成音乐”按钮,它们背后密密麻麻、艰涩难懂的代码,在“转换机”里流转,经由映射,便被转为风格各异的音乐。

“智能派单”对应的音乐欢快激昂,“失物找回”映射而成的音乐悦耳悠扬,“疲劳提醒”代码转成的音乐则大气舒畅……

这5段台前可感知的音乐,是由滴滴的5个常用功能映射而来。在1024程序员节这个特殊的节日,滴滴的几个程序员们组成了一个兴趣小组,在两三天的业余时间内将滴滴App背后的代码变成了音乐,并制作成小程序,让程序员敲出的代码变成了公众能感知到的语言。

在这个小程序里,用户还可以自行新建代码或者选择随机一段代码,一键将其映射为音乐。普通人不识代码,却也能借由代码之手,创造音乐——这是来自程序员们的浪漫。
 

检查是否有语法错误-n:
bash -n script_name.sh
使用下面的命令来执行并调试 Shell 脚本-x:
bash -x script_name.sh
调试count_odd_number.sh 程序案例:

  1. #!/usr/bin.env bash
  2. # 用于计算数组中奇数的和
  3. # @author liyangyang
  4. # @time 2019/09/17
  5. sum=0
  6. for num in 1 2 3 4;do
  7. re=${num}%2
  8. if (( ${re} == 1 ));then
  9. sum=$[${sum}+${num}]
  10. fi
  11. done
  12. echo ${sum}
  1. 首先检查有无语法错误:
    bash -n count_odd_number.sh
  2. 没有输出,说明没有错误,开始实际调试:
    bash -x count_odd_number.sh
  3. 调试结果如下:
    1. + sum=0
    2. + for num in 1 2 3 4
    3. + re=1%2
    4. + (( 1%2 == 1 ))
    5. + sum=1
    6. + for num in 1 2 3 4
    7. + re=2%2
    8. + (( 2%2 == 1 ))
    9. + for num in 1 2 3 4
    10. + re=3%2
    11. + (( 3%2 == 1 ))
    12. + sum=4
    13. + for num in 1 2 3 4
    14. + re=4%2
    15. + (( 4%2 == 1 ))
    16. + echo 4
    17. 4
  1. 其中的输出显示了程序执行的每一步,通过观察程序执行的步骤是否满足预期从而达到调试的效果
    带有 + 表示的是 Shell 调试器的输出,不带 + 表示程序的输出

(编辑:桂林站长网)

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

    热点阅读