当前位置:   article > 正文

bert性能优化及实现一个简单的文本分类任务_bert优化方向

bert优化方向

导读:bert性能优化的方法比较多,这一问题在NLP算法面试中时常被提起,平时做项目过程中,对bert模型进行优化也是经常遇到的。
对bert进行优化前,需要了解bert是个什么鬼,bert简言之是一个语言模型,它由Google公司所发明,英文全称是Bidirectional Transformer。架构图如下:
bert架构图
对其优化可从以下几点入手:
1 、压缩层数,然后蒸馏,直接复用12层bert的前4层或者前6层,效果能和12层基本持平,如果不蒸馏会差一些。
2 、双塔模型(短文本匹配任务),将bert作为一个encoder,输入query编码成向量,输入title编码成向量,最后加一个DNN网络计算打分即可。离线缓存编码后的向量,在线计算只需要计算DNN网络。
3 、int8预估,在保证模型精度的前提下,将Float32的模型转换成Int8的模型。
4 、提前结束,大致思想是简单的case前面几层就可以输出分类结果,比较难区分的case走完12层,但这个在batch里面计算应该怎么优化还没看明白,有的提前结束有的最后结束,如果在一个batch里面的话就不太好弄。
5 、ALBERT 做一些改进优化,主要是不同层之间共享参数,以及用矩阵分解降低embedding的参数。
6、BERT上面加一些网络结构,比如attention,rcnn等,个人得到的结果感觉和直接在上面加一层transformer lay

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/秋刀鱼在做梦/article/detail/877003
推荐阅读
相关标签
  

闽ICP备14008679号