首页 > 其他 > 详细

Bert源码解读

时间:2021-05-25 23:47:33      阅读:16      评论:0      收藏:0      [点我收藏+]

Bert源码解读

一、速读Bert

技术分享图片

 

Bert预训练部分是在做自注意力。

分类器微调部分就是一层神经网络。

分离矩阵得到起始值和终止值得概率矩阵。

用run_classifier.py,50万样本量,微调阶段训练时间约为半小时。

 

二、注意的要点

1.官网源码中给出的是TPU estimator接口,需要改成普通estimator接口方案。

参考博客:http://shzhangji.com/cnblogs/2018/05/14/serve-tensorflow-estimator-with-savedmodel/

 

2.Out of Memory问题

调节两个参数 max_seq_length 和 train_batch_size ,分别是最长句子的长度和一次批处理的大小,观察 GPU显存的占用情况 。

 

三、Bert as service

Bert的预训练模型部分可以部署。源码中的亮点有提供了图优化方法,包括的过程有:动态图计算--图冻结、剪枝和量化。还有zeromq进行异步并发请求,进行服务化部署。

 

四、总结

Bert的泛化能力很强。我们可以加强学习。

 

较低成本实践Bert的方法:

第一步:有GPU,一般是28GB左右。

第二步:确定一个数据集和确定自己的训练任务。

第三步:修改代码,调参,验证效果。

 

 

 

参考博客:https://zhuanlan.zhihu.com/p/58471554

Bert源码解读

原文:https://www.cnblogs.com/weixq351/p/14810578.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!