BERT的一些实践

BERT与ERNIE解析
本文对比分析了BERT和ERNIE两种预训练模型的特点与应用。探讨了如何通过改进Masked Language Model任务来优化预训练效果,并介绍了ERNIE在中文领域的优势。

阅读材料

关于BERT的解读有很多,我在学习的时候主要阅读了以下的几篇分享:

关于Pre-train

作者在Github的BERT的README里提到了几点需要注意的事项:

  • 如果domain的数据集够大,可以在BERT Google model基础上进行额外的pre-training,也可以理解为对BERT原始的语言模型进行fine-tuning
  • BERT的paper中pre-train的lr为1e-4,如果进行额外pre-training 应该设小一点的lr,如2e-5。我自己的实验也表明了,lr=1e-4会得到比较差的结果。但是
  • sequences 越长带来的显存压力越大,而且是和sequence length的平方呈线性相关。

关于fine-tune Google的原始语言模型

用Domain数据集对Google的原始语言模型进行fine-tuning,之后再训练任务的方式(即ULMFit论文采用的模式)不一定会有效果。

我的实验发现,这种方式对于小数据集有比较大的提升,但是对大数据集基本没差异。猜测,

  • 一方面,对于大数据集,BERT在训练任务的同时就完成了在Domain上的fine-tuning。
  • 另一方面,即便是Domain相关的语料,但是其中大部分的字词都是和Domain无关的,相关的仅仅是部分实体,因此再基于这份语料训练语言模型,其实已经起不到多大的作用。

还有一个方式是改造BERT里的Masked Language Model任务,BERT是随机Mask一些token来预测,但是对于中文其实是Mask了一些的字(因为BERT的谷歌模型对中文是按字来处理的)。或许我们选择Mask Domain下的一些entity来预测的方式能更好地学习Domain下的语言模型。近日,百度也放出的工作ERNIE也是采用的这种思想,其在中文多项任务上超过了BERT。

ERNIE模型的一个例子如下:

Learnt by BERT :哈 [mask] 滨是 [mask] 龙江的省会,[mask] 际冰 [mask] 文化名城。

Learnt by ERNIE:[mask] [mask] [mask] 是黑龙江的省会,国际 [mask] [mask] 文化名城。
复制代码

ERNIE使模型根据上下文就能推断出整个实体。当然ERNIE还引入了对话语料来改造 Next Sentence Prediction的任务。ERNIE的论文还没有放出,后续可以关注一下。


欢迎访问个人博客Alex Chiu的学习空间

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值