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

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

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

课程地址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网页图片为本地图片
535 0
|
3月前
|
存储 人工智能 容灾
阿里云服务器2核8G、4核16G、8核32G配置热门实例性能对比与场景化选型指南
2核8G/4核16G/8核32G配置的阿里云服务器在阿里云活动中目前有经济型e、通用算力型u1、通用型g7、通用型g8y和通用型g9i五种实例可选,目前2核8G配置选择u1实例活动价格652.32元1年起,4核16G月付选择经济型e实例最低89元1个月,8核32G配置160元1个月起,本文将为大家解析经济型e、通用算力型u1、通用型g7及通用型g8y实例,帮助用户根据自身需求合理选择最适合的实例规格和配置。
|
4月前
|
云栖大会
2025 云栖大会来了|免费门票限量抢!
云栖大会 2025 门票免费领取!
317 0
|
5月前
|
人工智能 安全 JavaScript
革新低代码开发!VTJ.PRO v0.12.58 发布:首推「AI代码校验修复引擎」,破解生成式代码质量隐患
VTJ.PRO发布v0.12.58版本,推出「AI-CodeFix」智能引擎,实现AI生成代码的自动校验、诊断与修复,解决低代码开发调试难题。通过动态语义扫描、智能修复策略和开发者体验升级,大幅降低错误率,提升开发效率与代码质量,助力企业实现安全可控的AI开发。
214 0
|
9月前
|
SQL 数据库 数据安全/隐私保护
SQL查询优化:where子句的高效使用方式
总的来说,如果将 SQL 查询比喻为一个乐团的演奏,WHERE 子句就像是独奏者,它需要各位乐手的协助,才能发挥出最美妙的音乐。计划好你的演奏,挑选对的音符,在最适当的时间开始演奏,那么,你可以更高效地运用 SQL 查询,更好地把握数据的篇章。
206 19
|
API 开发者 索引
Python中的省略号(Ellipsis)赋值方式
在Python中,省略号(`...`)是一种特殊对象,称为Ellipsis,虽不常用但在特定场景下非常实用,如函数占位、未实现方法示例及NumPy数组处理。本文通过示例介绍`a = ...`的用法。省略号类似于`None`,可用作代码结构的占位符,保持代码完整性和可读性,同时在API设计中标识待实现的方法。特别是在NumPy中,省略号用于表示多维数组的剩余维度,简化数组操作,提高代码灵活性和可读性。掌握这一技巧有助于提升Python编程能力。
399 1
|
10月前
|
人工智能
RAG没有银弹!四级难度,最新综述覆盖数据集、解决方案,教你LLM+外部数据的正确使用姿势
在人工智能领域,大型语言模型(LLM)结合外部数据展现出强大能力,尤其检索增强生成(RAG)和微调技术备受关注。然而,不同专业领域的有效部署仍面临挑战,如准确检索数据、理解用户意图等。综述文章《Retrieval Augmented Generation (RAG) and Beyond》提出RAG任务分类方法,将用户查询分为四个级别,并探讨了外部数据集成的三种形式:上下文、小型模型和微调。文章提供了宝贵见解和实用指导,帮助更好地利用LLM潜力解决实际问题。论文链接:https://arxiv.org/abs/2409.14924
313 6
|
10月前
|
监控 图形学
Unity 倒计时的实现
在 Unity 中实现倒计时功能,主要利用 `Time.deltaTime` 进行精确的时间计算和监控。本文介绍两种常见实现方法:一是通过 `WaitForSeconds(1)` 每秒递减时间,二是基于 `Update()` 函数每帧减去 `Time.deltaTime`。代码中包含详细的注释和示例,需确保挂载 Text 组件以显示倒计时。
|
Shell iOS开发 MacOS
Python 自动化指南(繁琐工作自动化)第二版:二十、使用 GUI 自动化控制键盘和鼠标
Python 自动化指南(繁琐工作自动化)第二版:二十、使用 GUI 自动化控制键盘和鼠标
756 0
|
弹性计算
根据预算选择阿里云服务器,活动价2000元左右的阿里云服务器汇总
2000元是大部分企业级用户购买阿里云服务器的预算,因为阿里云服务器价格是由实例规格、配置、带宽等众多配置决定的,所以,目前阿里云活动中的价格在2000元左右的云服务器实例规格和配置都是不同的,2023年9月,阿里云更新了云服务器的活动价格,其中通用算力型u1实例云服务器活动价格有所下降,同时新增了新品经济型u1实例云服务器,本文为大家介绍一下阿里云服务器价格如何查询以及截止目前活动价2000元左右的阿里云服务器。
根据预算选择阿里云服务器,活动价2000元左右的阿里云服务器汇总