关注上方深度学习技术前沿”,选择“星标公众号”

资源干货,第一时间送达!

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倍相关推荐

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

    原作:Jack Pertschuk 鱼羊 编译整理 量子位 报道 | 公众号 QbitAI 在各大NLP榜单大杀四方的BERT,自打正式加入搜索引擎中,用户搜索体验确实更丝滑了. 不过,强大往往也意味 ...

  2. 比可微架构搜索DARTS快10倍,第四范式提出优化NAS算法

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 神经架构搜索一直被认为是高算力的代表,尽管可微架构搜索的概念非常吸引人,但它目前的 ...

  3. 谷歌出品EfficientNet:比现有卷积网络小84倍,比GPipe快6.1倍

    https://www.toutiao.com/a6697763565677314573/ [新智元导读]谷歌AI研究部门华人科学家再发论文<EfficientNet:重新思考CNN模型缩放&g ...

  4. 比 Spring Boot 快 10 倍的 Bootique 框架

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 来源:jdon.com/53098 Bootique是一个最低限度 ...

  5. 横空出世,比Visio快10倍的画图工具来了。

    来源:网络 图片 总有童鞋问,这个流程图图怎么绘制的,这个UML类图用什么工具做的等等,今天给大家推荐一款idea插件PlantUml,来帮助大家快速快速完成绘制. PlantUml是什么 Plant ...

  6. 快10倍效率的3dmax建模技术,这些技巧你不能错过!【上】

    俗话说得好:"工欲善其事必先利其器",配置一个适合自己的工作界面,是可以提高我们的工作效率.让我们做起作品来更加顺手,介绍快10倍效率的3dmax建模技术,这些技巧你不能错过![上 ...

  7. 横空出世,比 Visio 快 10 倍的画图工具来了

    ‍来源:网络 图片 总有童鞋问,这个流程图图怎么绘制的,这个UML类图用什么工具做的等等,今天给大家推荐一款idea插件PlantUml,来帮助大家快速快速完成绘制. PlantUml是什么 Plan ...

  8. 10个小窍门,让你轻松准确搜索。

    10个小窍门,让你轻松准确搜索. 在今天,用户可以通过搜索引擎轻松找出自己想要的信息,但还是难以避免结果不尽如人意的情况.实际上,用户仅需掌握几个常用技巧即可轻松化解这种尴尬. 下面介绍10个在进行G ...

  9. 中国天眼新发现登Nature封面:恒星形成速度比我们想象快10倍

    晓查 发自 凹非寺 量子位 报道 | 公众号 QbitAI 好消息! "中国天眼"FAST又有新的重大发现,而且还登上了最新一期的Nature封面. 这一次,由国家天文台庆道冲.李 ...

最新文章

  1. php easyui tree 结构,EasyUI Tree树组件无限循环的解决方法
  2. linux主机常用管理命令
  3. [Android问答] 开发环境问题集锦
  4. java语言程序设计考点_计算机二级考试Java语言程序设计考点:关键字
  5. java课设电子门禁_Door门禁系统.doc
  6. 30道Web前端面试题,你能答出多少道?
  7. windows与linux中的路径书写,斜杠、反斜杠用法总结
  8. 深入浅出MongoDB(二)概述
  9. two+few+arguments+php,PHP5.5 ~ PHP7.2 新特性整理
  10. 使用Ant 实现批量打包Android应用
  11. 黑灰产技术手段不断“进阶”,如何防御双十二“羊毛党”?
  12. 软件测试典型缺陷分析,几种典型的软件缺陷分析方法
  13. SQL Server无法安装问题
  14. html tbody边框,tbody边框呈现问题
  15. 关于java中JDBC读取字段属性原理
  16. scala项目的全局配置实践
  17. kgdb调试aarch64内核模块
  18. Thinking in Flex
  19. Blender 物理属性 (二)布料和碰撞
  20. 算法导论读书笔记(20)van Emde Boas树

热门文章

  1. sql语句 case
  2. Android fill_parent、wrap_content和match_parent的区别
  3. C# 将数据写入DataGridView 中并显示
  4. java非阻塞 串口读数据_串口阻塞与非阻塞
  5. mysql 单标递归_MySQL递归CTE(公共表表达式)
  6. ubuntu下解决“无法获得锁 ”的方法_cppmylove的博客-CSDN博客_无法获得锁
  7. NLP开源 CMU Sphinx
  8. 深入理解Java自带的线程池和缓冲队列
  9. windows下DOS命令关闭占用的端口
  10. 用什么软件测试mate9的闪存_超越苹果?余承东重拳出击,华为Mate40 Pro确认采用海思自研闪存!...