TinyBERT搜索: 比BERT快10倍,小20倍
关注上方“深度学习技术前沿”,选择“星标公众号”,
资源干货,第一时间送达!
TinyBERT是谷歌开发的新模型,与传统BERT相比,它快10倍,小20倍,可在CPU上运行。
作者:Jack Pertschuk,Cole Thienes
最近,Google推出了一种新的搜索模型。该方法基于流行的开源Transformer BERT,它使用语言理解来解决传统关键字方法无法做到的搜索,提升搜索的体验。
特别是对于更长的,更多的对话查询,或诸如“ for”和“ to”之类的介词与含义有很大关系的搜索,改进后的搜索引擎将能够理解查询中单词的上下文。用户可以通过一种自然的方式进行搜索。
-Google搜索副总裁Pandu Nayak
本文构建了NBoost模型,并在此过程中使用了TinyBERT进行搜索,以使非专业人也可以轻松使用高级搜索排名模型。
更小,更快的BERT
BERT可以改善搜索结果,但有一个要点:要运行这些查询理解模型需要资源。尤其是当响应时间至关重要且必须处理数百万次搜索时。这项挑战是如此艰巨,以至于Google甚至构建了自己的硬件(云TPU)来运行模型。
为了在标准硬件上运行这些模型,我们使用知识蒸馏,该过程,用较大的教师网络训练较小的学生网络,学生网络保证了大多数准确性,但使用的层数较少(通常较小),从而使其变得更小且更快。
TinyBERT架构
参考华为的代码(https://github.com/huawei-noah/Pretrained-Language-Model/tree/master/TinyBERT),并对其进行了修改,我们进行了知识蒸馏。并在MS Marco数据集进行训练和评估。我们先使用MS Marco训练三元组在PyTorch中训练了一个基于bert的教师网络。然后,我们用它作为教师来训练一个较小的学生BERT网络,该网络只有4个隐藏层(标准BERT是12)。此外,这些层中的每一个只有312维(标准BERT是768),从而使模型更加轻巧。我们在BERT的末尾增加二元分类的前馈网络来生成得分以进行搜索排名。
以下是我们使用的tinyBERT架构的示例bert_config.json,与标准bert_config的显着区别是加粗的。
{“attention_probs_dropout_prob”: 0.1,“cell”: {},
“emb_size”: 312,“hidden_act”: “gelu”,“hidden_dropout_prob”: 0.1,“hidden_size”: 312,“initializer_range”: 0.02,“intermediate_size”: 1200,“max_position_embeddings”: 512,“num_attention_heads”: 12,“num_hidden_layers”: 4,“pre_trained”: “”,“structure”: [],“type_vocab_size”: 2,“vocab_size”: 30522
}
评估
MS Marco是现实世界中搜索引擎使用情况数据的最大公共来源,使其非常适合评估搜索和问答模型。当BERT Base首次在MSMarco上使用时,它以0.05的MRR击败了最新技术。基于BERT的解决方案仍然位于排行榜的顶部。我们的目标是找到一种方法,以一种足以在现实世界中使用的模型来实现这一目标。
TinyBERT,虽然不如BERT Base有效,但我们的实验表明,它保留了BERT Base MRR分数的90%(0.26与BM25排名前50位的0.29对比0.29,而使模型快10倍,小20倍)。但是,基于学术基准(例如MS Marco)的结果通常缺乏现实世界的可概括性,因此应谨慎考虑。
点击阅读原文,可直达原文网页地址!!!
TinyBERT搜索: 比BERT快10倍,小20倍相关推荐
- 速度×6,模型缩小20倍:用华为华科的TinyBERT做搜索,性能达BERT 90%
原作:Jack Pertschuk 鱼羊 编译整理 量子位 报道 | 公众号 QbitAI 在各大NLP榜单大杀四方的BERT,自打正式加入搜索引擎中,用户搜索体验确实更丝滑了. 不过,强大往往也意味 ...
- 比可微架构搜索DARTS快10倍,第四范式提出优化NAS算法
关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 神经架构搜索一直被认为是高算力的代表,尽管可微架构搜索的概念非常吸引人,但它目前的 ...
- 谷歌出品EfficientNet:比现有卷积网络小84倍,比GPipe快6.1倍
https://www.toutiao.com/a6697763565677314573/ [新智元导读]谷歌AI研究部门华人科学家再发论文<EfficientNet:重新思考CNN模型缩放&g ...
- 比 Spring Boot 快 10 倍的 Bootique 框架
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 来源:jdon.com/53098 Bootique是一个最低限度 ...
- 横空出世,比Visio快10倍的画图工具来了。
来源:网络 图片 总有童鞋问,这个流程图图怎么绘制的,这个UML类图用什么工具做的等等,今天给大家推荐一款idea插件PlantUml,来帮助大家快速快速完成绘制. PlantUml是什么 Plant ...
- 快10倍效率的3dmax建模技术,这些技巧你不能错过!【上】
俗话说得好:"工欲善其事必先利其器",配置一个适合自己的工作界面,是可以提高我们的工作效率.让我们做起作品来更加顺手,介绍快10倍效率的3dmax建模技术,这些技巧你不能错过![上 ...
- 横空出世,比 Visio 快 10 倍的画图工具来了
来源:网络 图片 总有童鞋问,这个流程图图怎么绘制的,这个UML类图用什么工具做的等等,今天给大家推荐一款idea插件PlantUml,来帮助大家快速快速完成绘制. PlantUml是什么 Plan ...
- 10个小窍门,让你轻松准确搜索。
10个小窍门,让你轻松准确搜索. 在今天,用户可以通过搜索引擎轻松找出自己想要的信息,但还是难以避免结果不尽如人意的情况.实际上,用户仅需掌握几个常用技巧即可轻松化解这种尴尬. 下面介绍10个在进行G ...
- 中国天眼新发现登Nature封面:恒星形成速度比我们想象快10倍
晓查 发自 凹非寺 量子位 报道 | 公众号 QbitAI 好消息! "中国天眼"FAST又有新的重大发现,而且还登上了最新一期的Nature封面. 这一次,由国家天文台庆道冲.李 ...
最新文章
- php easyui tree 结构,EasyUI Tree树组件无限循环的解决方法
- linux主机常用管理命令
- [Android问答] 开发环境问题集锦
- java语言程序设计考点_计算机二级考试Java语言程序设计考点:关键字
- java课设电子门禁_Door门禁系统.doc
- 30道Web前端面试题,你能答出多少道?
- windows与linux中的路径书写,斜杠、反斜杠用法总结
- 深入浅出MongoDB(二)概述
- two+few+arguments+php,PHP5.5 ~ PHP7.2 新特性整理
- 使用Ant 实现批量打包Android应用
- 黑灰产技术手段不断“进阶”,如何防御双十二“羊毛党”?
- 软件测试典型缺陷分析,几种典型的软件缺陷分析方法
- SQL Server无法安装问题
- html tbody边框,tbody边框呈现问题
- 关于java中JDBC读取字段属性原理
- scala项目的全局配置实践
- kgdb调试aarch64内核模块
- Thinking in Flex
- Blender 物理属性 (二)布料和碰撞
- 算法导论读书笔记(20)van Emde Boas树
热门文章
- sql语句 case
- Android fill_parent、wrap_content和match_parent的区别
- C# 将数据写入DataGridView 中并显示
- java非阻塞 串口读数据_串口阻塞与非阻塞
- mysql 单标递归_MySQL递归CTE(公共表表达式)
- ubuntu下解决“无法获得锁 ”的方法_cppmylove的博客-CSDN博客_无法获得锁
- NLP开源 CMU Sphinx
- 深入理解Java自带的线程池和缓冲队列
- windows下DOS命令关闭占用的端口
- 用什么软件测试mate9的闪存_超越苹果?余承东重拳出击,华为Mate40 Pro确认采用海思自研闪存!...