速度×6,模型缩小20倍:用华为&华科的TinyBERT做搜索,性能达BERT 90%

栏目: IT技术 · 发布时间: 4年前

内容简介:原作:Jack Pertschuk鱼羊 编译整理量子位 报道 | 公众号 QbitAI

原作:Jack Pertschuk

鱼羊 编译整理

量子位 报道 | 公众号 QbitAI

在各大NLP榜单大杀四方的BERT,自打正式加入搜索引擎中,用户搜索体验确实更丝滑了。

不过,强大往往也意味着复杂。

BERT对算力、内存要求很高,为了使其顺利应对成百万次的搜索,谷歌不得不搭建起专门的Cloud TPU来满足其计算量。

那么,问题来了。不像谷歌那样财大气粗,就用不上BERT搜索了呗?

不知道你是否听说过,华为诺亚方舟实验室和华中科技大学联手打造的 TinyBERT

现在,就有人用这个Transformer蒸馏方法,让BERT搜索 变快6倍 ,模型大小则只有原来的 1/20

速度×6,模型缩小20倍:用华为&华科的TinyBERT做搜索,性能达BERT 90%

TinyBERT搜索

首先,用微软的MS Marco训练三元组,在PyTorch中训练一个基于BERT的教师网络。

注:MS Marco:微软机器阅读理解数据集,由10万个问答组成

然后,让教师网络训练一个较小的学生BERT网络,这个学生网络只有4个隐藏层,而非标准的12层。

每一层的大小仅为312,以使模型更为轻巧。

在整个模型的最后,采用前馈二进制分类层来生成得分,进行搜索排名。

速度×6,模型缩小20倍:用华为&华科的TinyBERT做搜索,性能达BERT 90%

模型的具体参数如下,加粗部分是与标准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的实际使用情况,是最大的公共搜索引擎使用情况数据集。

速度×6,模型缩小20倍:用华为&华科的TinyBERT做搜索,性能达BERT 90%

虽然在搜索效果的改进上,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”这个词起到了关键的联系作用(巴西人→美国)。

速度×6,模型缩小20倍:用华为&华科的TinyBERT做搜索,性能达BERT 90%

BERT未加入前,搜索引擎的算法无法理解这种关联,因此返回了有关前往巴西的美国公民(美国人→巴西)的结果。

而有了BERT,搜索引擎就能把握住其中细微而关键的差别了。

速度×6,模型缩小20倍:用华为&华科的TinyBERT做搜索,性能达BERT 90%

TinyBERT

而针对BERT这样的庞大模型难以部署到算力、内存有限的设备中的问题,华为诺亚方舟实验室和华中科技大学合作开源了 TinyBERT

速度×6,模型缩小20倍:用华为&华科的TinyBERT做搜索,性能达BERT 90%

应用知识蒸馏(knowledge distillation,KD)的方法,大型教师模型BERT中编码的大量知识,能被很好地迁移到小型学生模型TinyBERT中。

研究人员还提出了一种专门用于TinyBERT的两段式学习框架,分别在预训练阶段和特定任务学习阶段进行transformer蒸馏。

这样,就能确保TinyBERT可以获取教师模型在通用和特定任务知识上的经验。

速度×6,模型缩小20倍:用华为&华科的TinyBERT做搜索,性能达BERT 90%

在GLUE基准上,TinyBERT的性能与BERT相当,仅下降了3个百分点。

速度×6,模型缩小20倍:用华为&华科的TinyBERT做搜索,性能达BERT 90%

并且,模型大小不到不到BERT的1/7,推理速度是BERT的9.4倍。

速度×6,模型缩小20倍:用华为&华科的TinyBERT做搜索,性能达BERT 90%

传送门

博客: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%》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Web Design Handbook

Web Design Handbook

Baeck, Philippe de 编 / 2009-12 / $ 22.54

This non-technical book brings together contemporary web design's latest and most original creative examples in the areas of services, media, blogs, contacts, links and jobs. It also traces the latest......一起来看看 《Web Design Handbook》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

在线进制转换器
在线进制转换器

各进制数互转换器