Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

开启NLP新时代的BERT模型,是怎么一步步封神的?

NLP领域的伸手党们,上个月简直像在过年!

不仅号称谷歌最强NLP模型的BERT如约开源了,而且最新版本还支持中文,可以用于中文命名实体识别的Tensorflow代码!最关键的是,这个强大的模型还横扫11项记录,"阅读理解超过人类"。

谷歌团队的Thang Luong更直接宣告:BERT模型开启了NLP的新时代。“BERT在手,天下我有”的既视感啊!

人工智能漫长的发展史上,能够让行业“锣鼓喧天,鞭炮齐鸣”的算法模型还真不多见。不过,在跟风成为这个模型的舔狗之前,我们先来扒下它的外衣,看看到底有没有那么神奇。

什么是BERT模型?

这个让全球开发者们为之欢欣鼓舞的新模型,全称是Bidirectional Encoder Representation from Transformers,即对Transformer的双向编码进行调整后的算法。

这种预训练模型所针对的核心问题,就是NLP的效率难题。

众所周知,智能语音交互要理解上下文、实现通顺的交流、准确识别对象的语气等等,往往需要一个准确的NLP模型来进行预测。

但越是精准的模型,越是依赖于海量的训练语料,往往需要人工来进行标注和制作,因此,通过某种模型来预训练一个语言模型,帮助进行超大规模的表征学习,就成了一种靠谱且被广泛采用的方法。

而传统采用的预训练模型,比如AI2的 ELMo,以及OpenAI的fine-tune transformer,也同样需要通过人力标注来制作训练数据。

譬如说常用的中文汉字有3500个,词汇数量50万,制作中文语言预训练模型的参数数量自然也就十分庞大,中文的预训练模型需要对每个都进行人工标注,这就又陷入了“有多人工就有多少智能”的死胡同。

那么,呱呱落地的BERT为什么能解决这一问题呢?它的优势主要体现在三个方面:

1. BERT拥有一个深而窄的神经网络。transformer的中间层有2018,BERT只有1024,但却有12层。因此,它可以在无需大幅架构修改的前提下进行双向训练。由于是无监督学习,因此不需要人工干预和标注,让低成本地训练超大规模语料成为可能。

2. BERT模型能够联合神经网络所有层中的上下文来进行训练。这样训练出来的模型在处理问答或语言推理任务时,能够结合上下文理解语义,并且实现更精准的文本预测生成。

3. BERT只需要微调就可以适应很多类型的NLP任务,这使其应用场景扩大,并且降低了企业的训练成本。BERT支持包括中文在内的60种语言,研究人员也不需要从头开始训练自己的模型,只需要利用BERT针对特定任务进行修改,在单个云TPU上运行几小时甚至几十分钟,就能获得不错的分数。

用一些开发者的话来说,就是BERT的“效果好到不敢相信”,这也是其快速蹿红的核心原因。

BERT是如何工作的?

这样厉害的模型,是怎样被训练出来的呢?主要分为五个步骤:

首先,将语料中的某一部分词汇遮盖住,让模型根据上下文双向预测被遮盖的词,来初步训练出通用模型。

然后,从语料中挑选出连续的上下文语句,让transformer模型来识别这些语句是否连续。

这两步合在一起完成预训练,就成为一个能够实现上下文全向预测出的语言表征模型。

最后,再结合精加工(fine tuning)模型,使之适用于具体应用。

BERT应用起来也非常简单,具体到什么程度呢?个人开发者可以在任意文本语料库上完成“预测下一句”之类的任务。

只需要进行数据生成,把整个输入文件的纯文本做成脚本保存到内存,就可以用BERT进行预训练了。

通过一段简单代码,预训练20步左右,就能得到一个基础的NLP任务模型。如果想在实际应用中有更好的表现,训练10000步以上也不会花费很长时间。

从上述实验成果来看,似乎可以直接得出结论:BERT开启了一个NLP的新世界!

以前我们总是吐槽机器翻译自然语言理解等NLP技术都是“实验室的人工智能,生活中的“人工智障”,而且每个厂商的语音产品似乎都停留在用论文和跑分隔空叫板,实际应用场景上体验感其实差异并不明显。但BERT的出现,不仅让机器语言理解上有了更好的效果,尤其是上下文理解和文本生成上,表现十分惊艳。更重要的是,它为自然语言处理技术带来的新想象空间。

封神之前,BERT还要面对哪些问题?

说到这里,是不是已经有种“有条件要上BERT,没有条件创造条件也要上BERT”的感觉了?

别急,BERT模型看起来很美好,但并不是一枚谁拿来都能快速见效的“救心丸”,至少有三点需要额外注意:

一是开销巨大,在GPU上跑一次成本很高,而Google推荐的云TPU价格虽然低廉(500美元),却需要两周时间。

二是数据规模要求高。如果没有足够庞大的训练语料,很难在针对性开发中复现同样的评测效果。

三是BERT无法单独完成计算问题,需要后续任务补全推理和决策环节。而且BERT本身是无监督学习,因此不能直接用于解决NLP问题,往往需要结合现有的有监督学习以避免算法歧视或偏见。

目前看来,BERT的魅力虽然让开发者和企业们难以抗拒,但也存在着诸多门槛,想要见效并不是一朝一夕的事儿。但它能够被人吹爆,并不仅仅只是因为算法和数据上的突破,真正的价值还是隐藏在对产业端的推动力量。

BERT带来的想象空间

众所周知,自然语言处理技术被称为AI领域的明珠,但在产业端,智能语音企业对于自家技术的竞争力,不是宣传又在SQuAD这样的顶级赛事中跑了多少分,就是基于各自的数据集大吹特吹准确率。但是,彼此之间的数据往往都十分焦灼,很难真正拉开差距。

BERT的出现,显然为智能语音技术公司的竞争带来了全新的关键要素,那就是效率,以及成本。

BERT的横空出世,抹平了训练语料的人工标注成本,让超大规模的模型训练不再遥不可及,从而使得产业端研发出交互更友好、理解力更高的语音交互产品成为了可能。

另一方面,在垂直应用端,多种语言支持和低成本地针对性训练,让BERT可以很快在垂直领域进行部署,大大提升了智能语音的配置效率和应用范围,为NLP的产业端实锤落地提供了长期发展的支撑力量。

解决了模型和应用的问题,NLP领域的新赛道自然就落在了语料和算力上。

想要借助BERT训练出更精准、更好的应用模型,考验着企业的两方面能力:一个是训练语料的规模;一个是强大算力的支撑。

BERT使用了超大的数据集(BooksCorpus 800M + English Wikipedia 2.5G单词)和超大的算力(对应于超大模型)来在相关的任务上做预训练。未来,是否有足够的训练语料来复现同样的效果,又是否足够的GPU(背后就是钱)来支撑跑BERT,将是智能语音技术企业拉开身位的关键。

总而言之,BERT在NLP界还是个新生事物,但已经有了封神的潜质。比此前的解决方案更优秀,更有发展潜力。

不过,对数据规模和算力的要求,以及与自身业务的耦合,也在无形中提升着智能语音的门槛和成本。

从这个角度看,最终能够借助BERT拉开竞争区位的,要么是搜狗、阿里、百度这样以搜索、电商为主业的大数据“富一代”,要么是凭借强大效率与业务创新实现“弯道超车”的新独角兽,接下来恐怕可以激发不少新脑洞和解题思路。

无论如何,BERT的出现,终于让专注“跑分”和“隔空叫板”的NLP领域,多了一些更有趣的想象力。

本文奇点机智经授权转载自微信公众号:脑极体(unity007)
二次转载请联系脑极体

Naturali 奇点机智
Naturali 奇点机智

致力于让企业轻松创建语音交互体验,让对话与服务有效连接。语音对话平台“对话流”由奇点机智自主研发,利用其领先的语音识别、NLP、深度学习技术,为企业提供智能语音对话解决方案。

产业NLPBERT语音交互
3
相关数据
来也科技机构

来也科技是中国乃至全球的智能自动化领军品牌,为客户提供变革性的智能自动化解决方案,提升组织生产力和办公效率,释放员工潜力,助力政企实现智能时代的人机协同。 来也科技的产品是一套智能自动化平台,包含机器人流程自动化(RPA)、智能文档处理(IDP)、对话式AI(Conversational AI)等。基于这一平台,能够根据客户需要,构造各种不同类型的数字化劳动力,实现业务流程的自动化,全面提升业务效率。

www.laiye.com/
搜狗机构

搜狗是中国互联网领先的搜索、输入法、浏览器和其它互联网产品及服务提供商。从2004年8 月搜狐公司推出全球首个第三代互动式中文搜索引擎——搜狗搜索以来,历经十余载,搜狗搜索已发展成为中国第二大搜索引擎。根据艾瑞咨询2016年12月数据,搜狗PC用户规模达5.28亿,仅次于腾讯,成为中国第二大互联网公司。移动端APP用户仅次于腾讯,成为中国互联网快速发展的标杆性企业。

http://corp.sogou.com/
奇点机智机构

奇点机智成立于2014年11月,致力于通过机器智能改善用户体验,让人机交互更加简单自然。“小不点”是由奇点机智为安卓系统打造的智能应用助理,用户可通过对话的方式操控手机应用中的各项功能,目前可对200多款应用程序进行操作。“就一句话的事”,即可满足社交、娱乐、购物、支付、出行等需求。另外,用户可以根据个性化需求录制新技能,并可发布分享给其他用户,让“小不点”越用越智能。此外,奇点机智同时为应用开发者、运营者、产品者提供NI开发者平台,无需编码或调用第三方应用API,即可根据用户需求添加语音指令,极大提升产品体验。奇点机智曾获真格基金100万美元天使轮投资,以及襄禾资本/NEA 500万美元A轮投资;于2017年11月被评为“中关村高新技术企业”。

基于Transformer 的双向编码器表征技术

BERT是谷歌发布的基于双向 Transformer的大规模预训练语言模型,该预训练模型能高效抽取文本信息并应用于各种NLP任务,并刷新了 11 项 NLP 任务的当前最优性能记录。BERT的全称是基于Transformer的双向编码器表征,其中“双向”表示模型在处理某一个词时,它能同时利用前面的词和后面的词两部分信息。

自然语言理解技术

自然语言理解是人工智能的核心课题之一,也被广泛认为是最困难和最具标志性的任务。最经典的两个人工智能思想实验——图灵测试和中文房间,都是围绕自然语言理解来构建的。自然语言理解在人工智能技术体系中的重要性不言而喻,它一方面承载着机器和人的交流,另一方面直达知识和逻辑。自然语言理解也是人工智能学者孜孜以求的圣杯,机器学习的巨擘 Michael I. Jordan 就曾经在 Reddit 上的 AMA(Ask Me Anything)栏目中畅想用十亿美元建立一个专门用于自然语言理解的实验室。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

表征学习技术

在机器学习领域,表征学习(或特征学习)是一种将原始数据转换成为能够被机器学习有效开发的一种技术的集合。在特征学习算法出现之前,机器学习研究人员需要利用手动特征工程(manual feature learning)等技术从原始数据的领域知识(domain knowledge)建立特征,然后再部署相关的机器学习算法。虽然手动特征工程对于应用机器学习很有效,但它同时也是很困难、很昂贵、很耗时、并依赖于强大专业知识。特征学习弥补了这一点,它使得机器不仅能学习到数据的特征,并能利用这些特征来完成一个具体的任务。

机器翻译技术

机器翻译(MT)是利用机器的力量「自动将一种自然语言(源语言)的文本翻译成另一种语言(目标语言)」。机器翻译方法通常可分成三大类:基于规则的机器翻译(RBMT)、统计机器翻译(SMT)和神经机器翻译(NMT)。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

监督学习技术

监督式学习(Supervised learning),是机器学习中的一个方法,可以由标记好的训练集中学到或建立一个模式(函数 / learning model),并依此模式推测新的实例。训练集是由一系列的训练范例组成,每个训练范例则由输入对象(通常是向量)和预期输出所组成。函数的输出可以是一个连续的值(称为回归分析),或是预测一个分类标签(称作分类)。

语料库技术

语料库一词在语言学上意指大量的文本,通常经过整理,具有既定格式与标记;事实上,语料库英文 "text corpus" 的涵意即为"body of text"。

命名实体识别技术

命名实体识别(NER)是信息提取(Information Extraction)的一个子任务,主要涉及如何从文本中提取命名实体并将其分类至事先划定好的类别,如在招聘信息中提取具体招聘公司、岗位和工作地点的信息,并将其分别归纳至公司、岗位和地点的类别下。命名实体识别往往先将整句拆解为词语并对每个词语进行此行标注,根据习得的规则对词语进行判别。这项任务的关键在于对未知实体的识别。基于此,命名实体识别的主要思想在于根据现有实例的特征总结识别和分类规则。这些方法可以被分为有监督(supervised)、半监督(semi-supervised)和无监督(unsupervised)三类。有监督学习包括隐形马科夫模型(HMM)、决策树、最大熵模型(ME)、支持向量机(SVM)和条件随机场(CRF)。这些方法主要是读取注释语料库,记忆实例并进行学习,根据这些例子的特征生成针对某一种实例的识别规则。

大数据技术技术

大数据,又称为巨量资料,指的是传统数据处理应用软件不足以处理它们的大或复杂的数据集的术语。

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

语言模型技术

语言模型经常使用在许多自然语言处理方面的应用,如语音识别,机器翻译,词性标注,句法分析和资讯检索。由于字词与句子都是任意组合的长度,因此在训练过的语言模型中会出现未曾出现的字串(资料稀疏的问题),也使得在语料库中估算字串的机率变得很困难,这也是要使用近似的平滑n元语法(N-gram)模型之原因。

推荐文章
暂无评论
暂无评论~