简述六种优雅的精调方法

电子说

1.3w人已加入

描述

经常会收到一些比较简要的技术咨询,描述了是什么任务,发现用BERT粗暴精调效果不好之后,问我有什么办法可以提升。

在面对第一把梭就失败时,我通常是这么判断的:

  1. 如果效果差的很离谱,比如二分类准确率在60%以下,那大概率是模型有问题,开始用小数据集debug
  2. 如果有点效果,但一言难尽,那估计是数据有问题,要不然噪声多,要不然是真的难,可以自己看一下训练集,如果人看完后在几秒内都不能给出答案,就别太指望模型可以做好

在第一把效果还行的情况下,推荐尝试以下策略:

  1. In-Domain Further Pre-train:利用同领域下的无监督数据继续MLM预训练,这个方法我真的百试不厌,一般用一两百万的数据就能提升1-2个点
  2. Within-Task Further Pre-Training:利用不同领域的同任务数据预先精调,选通用一些的一般也有提升
  3. Multi-Task Fine-Tuning:利用不同任务预先精调
  4. Layer-wise Decreasing Layer Rate:每层学到的知识都是不同的,前面几层会更通用,所以学的时候可以用小一点的学习率,防止灾难性遗忘
  5. Features from Different layers:把不同层的输出集成起来,不过这个方法不一定有提升
  6. 长文本处理:截断或使用层次化编码

以上这些方法,都出自复旦邱锡鹏老师的《How to fine-tune BERT for text classification?》,该文进行了各种详细的实验,得出了不少有用的结论,推荐大家去学习。即使有的方法在论文数据集中表现一般,在自己的数据上也可以尝试。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分