内容简介:原作:Jack Pertschuk鱼羊 编译整理量子位 报道 | 公众号 QbitAI
原作:Jack Pertschuk
鱼羊 编译整理
量子位 报道 | 公众号 QbitAI
在各大NLP榜单大杀四方的BERT,自打正式加入搜索引擎中,用户搜索体验确实更丝滑了。
不过,强大往往也意味着复杂。
BERT对算力、内存要求很高,为了使其顺利应对成百万次的搜索,谷歌不得不搭建起专门的Cloud TPU来满足其计算量。
那么,问题来了。不像谷歌那样财大气粗,就用不上BERT搜索了呗?
不知道你是否听说过,华为诺亚方舟实验室和华中科技大学联手打造的 TinyBERT ?
现在,就有人用这个Transformer蒸馏方法,让BERT搜索 变快6倍 ,模型大小则只有原来的 1/20 。
TinyBERT搜索
首先,用微软的MS Marco训练三元组,在PyTorch中训练一个基于BERT的教师网络。
注:MS Marco:微软机器阅读理解数据集,由10万个问答组成
然后,让教师网络训练一个较小的学生BERT网络,这个学生网络只有4个隐藏层,而非标准的12层。
每一层的大小仅为312,以使模型更为轻巧。
在整个模型的最后,采用前馈二进制分类层来生成得分,进行搜索排名。
模型的具体参数如下,加粗部分是与标准BERT不同的部分。
<img src="http://www.qbitai.com/wp-content/uploads/2020/01/屏幕快照-2020-01-23-上午10.54.25-300x184.png" alt="" width="300" height="184" srcset="https://www.qbitai.com/wp-content/uploads/2020/01/屏幕快照-2020-01-23-上午10.54.25-300x184.png 300w, https://www.qbitai.com/wp-content/uploads/2020/01/屏幕快照-2020-01-23-上午10.54.25-768x472.png 768w, https://www.qbitai.com/wp-content/uploads/2020/01/屏幕快照-2020-01-23-上午10.54.25-1024x629.png 1024w, https://www.qbitai.com/wp-content/uploads/2020/01/屏幕快照-2020-01-23-上午10.54.25.png 1026w" sizes="(max-width: 300px) 85vw, 300px" />
那么,用TinyBERT来做搜索,效果如何呢?
作者用MS Marco数据集对其进行检验。这一数据集采集自Bing的实际使用情况,是最大的公共搜索引擎使用情况数据集。
虽然在搜索效果的改进上,TinyBERT的性能只达到了BERT的90%,但速度提升了5倍,并且模型大小仅为BERT的1/20。
谷歌:用BERT做搜索
2019年10月底,谷歌将BERT加入到他们的搜索引擎当中。
谷歌搜索副总裁Pandu Nayak表示:
对于比较长、会话性比较强的查询,或者在“for”、“to”这样的介词比较重要的语句中,使用了BERT的搜索引擎能够更好地理解查询中单词的上下文。
比如,当输入“2019 brazil traveler to usa need a visa”(2019年前往美国的巴西旅行者需要签证)这样一条查询语句时,“to”这个词起到了关键的联系作用(巴西人→美国)。
BERT未加入前,搜索引擎的算法无法理解这种关联,因此返回了有关前往巴西的美国公民(美国人→巴西)的结果。
而有了BERT,搜索引擎就能把握住其中细微而关键的差别了。
TinyBERT
而针对BERT这样的庞大模型难以部署到算力、内存有限的设备中的问题,华为诺亚方舟实验室和华中科技大学合作开源了 TinyBERT 。
应用知识蒸馏(knowledge distillation,KD)的方法,大型教师模型BERT中编码的大量知识,能被很好地迁移到小型学生模型TinyBERT中。
研究人员还提出了一种专门用于TinyBERT的两段式学习框架,分别在预训练阶段和特定任务学习阶段进行transformer蒸馏。
这样,就能确保TinyBERT可以获取教师模型在通用和特定任务知识上的经验。
在GLUE基准上,TinyBERT的性能与BERT相当,仅下降了3个百分点。
并且,模型大小不到不到BERT的1/7,推理速度是BERT的9.4倍。
传送门
博客:https://towardsdatascience.com/tinybert-for-search-10x-faster-and-20x-smaller-than-bert-74cd1b6b5aec
TinyBERT论文:https://arxiv.org/abs/1909.10351
TinyBERT开源地址:https://github.com/huawei-noah/Pretrained-Language-Model/tree/master/TinyBERT
— 完 —
版权所有,未经授权不得以任何形式转载及使用,违者必究。
以上所述就是小编给大家介绍的《速度×6,模型缩小20倍:用华为&华科的TinyBERT做搜索,性能达BERT 90%》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 缩小是破坏我的AngularJs代码
- go服务docker实践-缩小镜像占用
- Laravel框架中缩小Vue应用的体积
- 网页图片等比例缩小实现方案总结以及最佳实践
- 移动端上传图片进行平移放大缩小操作后生成海报
- 记录一次磁盘镜像的LVM分区缩小调整过程
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
JavaScript DOM编程艺术
Jeremy Keith / 杨涛、王建桥、杨晓云 / 人民邮电出版社 / 2006年12月 / 39.00元
本书讲述了JavaScript和DOM的基础知识,但重点放在DOM编程技术背后的思路和原则:预留退路、循序渐进和以用户为中心等,这些概念对于任何前端Web开发工作都非常重要。本书将这些概念贯穿在书中的所有代码示例中,使你看到用来创建图片库页面的脚本、用来创建动画效果的脚本和用来丰富页面元素呈现效果的脚本,最后结合所讲述的内容创建了一个实际的网站。 本书适合Web设计师和开发人员阅读。一起来看看 《JavaScript DOM编程艺术》 这本书的介绍吧!