学术到工业的挑战|学习笔记

简介: 快速学习学术到工业的挑战

开发者学堂课程【阿里小蜜中的机器阅读技术:学术到工业的挑战】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/43/detail/964


学术到工业的挑战


内容介绍:

一、工业应用需解决的问题

二、工业应用总结

三、从学术到工业的三个挑战


一、工业应用需解决的问题

第三小节学术到工业的挑战与解法是本次分享的一个重点。首先在此先总结一下,之前介绍的是机器阅读理解学术研究的一个特点,在前面的那张各种模型图里列到的都是一种基于神经网络的、有多层的

端到端的一个解决方案,它要解决的一个问题或者面向的领域相对于比较简单,是基于百科的一些简单的段落和比较简单的实体性答案,在其中它也涉及到一些通常来说比较正规不太口语化的问答,而且也有一定的标注数据,SQL 数据集已经达到了10万的数据量级,同时整个评测更关注于数据模型的最终的准确性,而对它的复杂度关注比较少。

在工业应用中要去解决什么样的问题?首先是数据问题。如下图一个著名的曲线:

数据驱动的机器学习革命

image.png

上图是由著名的 AI 学者安卓 NG 提出的,其中它有两个维度,纵轴是关于模型的性能,横轴是关于模型所需要的数据量,在此要思考的是为什么深度学习近几年来会获得比传统的继续学习更好的性能?主要是因为在同样的数据上,在随着数据量不断的增加,当达到了一定的规模后,深度学习的学习能力往往会比传统的统计机器学习的学习能力更好,所以它能达到一个更好的性能。

而随着数据的再度的增加,其中也会表现为不同的 AI 产品之间的性能差距的一个根本原因,也就是说其背后的数据积累程度不一样,越多的数据往往会代表着更好的一个学习效果。由此可见,数据对于模型学习来说是非常重要的一环。

但是此处存在一个问题:

因为学术创新它往往是比较简单的,而在工业应用里,比如说之前最开始提到的基于活动来去做一个阅读问答的场景,去收集大量的问题以及它相关的答案,其构建成本是较高的。

另外一个问题也是工业场景的复杂性的一个表现,

如下图:

单一文档 VS 多文档/长文档

image.png

如上图可以看到在最左边的是 score 数据集用到的数据,即维基百科,维基百科通常在其中只是一篇文章,针对里面各个段落,其内容不会特别的长。但是在真实情况中,比如活动规则里,它往往会有500~1000词的规模,在政府办事或者说税务法规等场景中,往往会有多篇的文章,在问答中需要被阅读、需要被理解,在多篇文章的阅读过程中,通常会超过500词,甚至有几千词的文档规模,由此,单一段落与多文档/长文档的一个差异,也是造成从学术到工业的 gap 的原因。接下来是介绍模型的核心计算单元,如下图:

image.png

在整个机器阅读理解相关的模型中,其主要有两类的结构,第一个是在深度学习中最常见的 RN 结构,其擅长处理序列级的任务;还有一个的是基于transformer,其虽然不是序列的,但是需要去对整个输入的级别,做不同的 attention 或者点击的一些操作。

在此过程中其具体的复杂度,比如对于 rn 结构来说,其计算的复杂度往往取决于整个输入的序列,因为当前的序列或者说序列中的某一个点是依赖于前一个序列的,因此其是线性结构,文章越长其处理的会越慢,而对于 transformer 结构来说,其虽然没有一个创新的问题,但是因为其本身有一个基于序列长度n平方级的一个计算,此计算会导致整个计算量随着文章的长度变成平方级的增长,而且其特别依赖于整个transformer 结构的深度,即文章越长、深度越深,所需要的计算资源就越多。

基于之前的两中计算单元,如下具体不同模型的表现:

复杂性的背后是对性能的忽视

image.png

首先是 BiDAF 如上图所示,当其文章超过100/200的长度时,基本上可以看到其整个的响应时间已经达到了一秒钟的时长,而对于 DrQA 来说,其本身是以一个高效的机械图模型来提出来的,当整个文章超过了1000以上时,其自身也是需要超过100毫秒的时间来去做整个文章的阅读。在图上有一条额外画出的线(10毫秒),10毫秒意味着双11当天整个天猫的交易峰值达到了49.1万笔/秒,在海量的实时交易下面,店小蜜承接了整体天猫商家客服咨询量的67%,在2/3的服务占比的情况下,店小蜜其本身承接的服务也是海量的。而在此处选取了阿里小蜜其作为一种平台服务,一分钟内最高的同时服务量已经超过8.3万,在整个一个高性能、高并发的在线环境中,往往要求把模型做到10毫秒以内,才不至于去影响整个链路的响应时间,或者说不会因为过程的响应时间而拖垮整个链路。在此再回到最左边处,仅仅只有绿色的一条线,就是利用了膨胀卷机来做阅读理解。

此模型在大规模、长序列的文章上有一定的性能保障,在实践情况下也遗憾的发现其与其他模型之间的一个准确率差距是比较明显的。除了对性能的,真实场景远不止前面提到的像数据集那样简简单单的去做一些实体替换,或者说反义词的替换来构建用户问题。

如下图列出几种典型的问题:

真实问题复杂多样

image.png

比如“用户会问领的卷在哪里?”可以看到这是一种错别字现象。“是啥意思啊?”其本身是需要去结合用户的上下文来去对问题的回答。还有一个问题是“津贴领多了怎么办?”一般的活动规则其实不会特别全面的把所有问题都覆盖到,处理超纲性问题要涉及一些简单的推理,比如说“昨天7折买的,能参加今天6折活动吗?”这也意味着真实的场景远远要比学术界比较单一、比较简单的问题更为复杂。


二、工业应用总结

学术研究 VS 工业应用

image.png

在此整体对工业应用做一个总结,首先其应该是一个系统性工程,面向的场景会更加复杂,用户的问题更加多不一样,而因其场景复杂性和真实问题的多样性也导致了其数据标注的困难,同时实际中不单单要去考虑其效果,对于整个模型的性能也要做一定的权衡。


三、从学术到工业的三个挑战

三个挑战

接入门槛高,领域扩展难

数据复杂,速度和效果难平衡

深度模型黑盒化,可控性差

首先机器阅读理解其本身问题比较难,接入的门槛高、领域空域扩展相对来比较难;另外是其整个数据比较复杂,速度与效果难以得到很好的平衡;第三,其本身是一个多层的深度网络,它作为一个深度模型,有一些黑盒化,可控性比较差,无法很好的兼顾或者很好的处理特别复杂、特别多样的用户问题场景,没有规则那么可控。

相关文章
|
Android开发 iOS开发
iOS 替换WebView网页图片为本地图片
iOS 替换WebView网页图片为本地图片
471 0
|
12月前
|
API 开发者 索引
Python中的省略号(Ellipsis)赋值方式
在Python中,省略号(`...`)是一种特殊对象,称为Ellipsis,虽不常用但在特定场景下非常实用,如函数占位、未实现方法示例及NumPy数组处理。本文通过示例介绍`a = ...`的用法。省略号类似于`None`,可用作代码结构的占位符,保持代码完整性和可读性,同时在API设计中标识待实现的方法。特别是在NumPy中,省略号用于表示多维数组的剩余维度,简化数组操作,提高代码灵活性和可读性。掌握这一技巧有助于提升Python编程能力。
319 1
|
监控 关系型数据库 Unix
PostgreSQL ident和peer基于操作系统用户的认证
PostgreSQL支持的认证方法非常多,除了自身的密码认证以外,还支持很多其他认证服务。 trust md5 password GSSAPI SSPI Ident Peer LDAP RADIUS PAM Certificate BSD 详见https://
10246 56
Moment.js获取当前时间格式化
Moment.js获取当前时间格式化
611 0
|
前端开发
认识盒子模型,盒子模型的边框、内外边距、水平布局、垂直布局、设置浮动、处理高度塌陷的基本方法(1)
网页是一个多层的结构,设置样式样式,也是一层一层的设置,最终我们看到的最上面的一层。
176 0
认识盒子模型,盒子模型的边框、内外边距、水平布局、垂直布局、设置浮动、处理高度塌陷的基本方法(1)
|
XML 前端开发 Java
深入了解数据校验(Bean Validation):从深处去掌握@Valid的作用(级联校验)以及常用约束注解的解释说明【享学Java】(上)
深入了解数据校验(Bean Validation):从深处去掌握@Valid的作用(级联校验)以及常用约束注解的解释说明【享学Java】(上)
深入了解数据校验(Bean Validation):从深处去掌握@Valid的作用(级联校验)以及常用约束注解的解释说明【享学Java】(上)
|
Linux
Linux: journal日志文件维护
Linux: journal日志文件维护
147 0
|
Web App开发
一张图看懂互联网史上最大规模的公共云迁移案例
6月7日,阿里云与国内领先的云存储企业115科技在2018云栖大会·上海峰会上宣布,已将公司全部数据迁移至阿里云上,总量超过100PB。 至此,双方合力完成了互联网史上规模最大的公共云数据迁移,仅耗时45天,创造了百PB级数据公共云迁移的新纪录,而这都要依托于阿里云推出的全新离线数据迁移方案——闪电立方。
2095 0
|
SQL 分布式计算 DataWorks
TiDb和MaxCompute同步数据
一、环境准备 保证TiDb集群外网可以访问 DataWorks 二、开发 1、允许TiDb远程连接 登录到TiDb执行授权语句 grant all privileges on *.* to 'user'@'%' identified by 'password' with grant optio.
1849 0
TiDb和MaxCompute同步数据
|
关系型数据库 数据库 PostgreSQL
PostgreSQL的DB在表空间之间迁移
Background The  /data/01 disk space is insufficient, but /data/02 is sufficient, so we migrate some data to /data/02.
1639 0