Fine-tuning 微调
微调阶段根据不同任务使用不同网络模型。在微调阶段,大部分模型的超参数跟预训练时差不多,除了 batchsize,学习率,epochs。
训练参数:
- Batch size: 16, 32
- Learning rate (Adam): 5e-5, 3e-5, 2e-5
- Number of epochs: 3, 4
1. 文本长度
随着文本长度的增加,所需显存容量也会随之呈现线性增加, 运行时间也接近线性,对于不同任务而言, 文本长度所带来的影响也不相同。对于分类问题, 到一定的文本长度后,模型表现就几乎没有变化了,这个时候再去提升文本长度意义就不大了。
预训练 BERT 模型的文本长度最多支持 512, 这是由于 Position Embedding 决定的,如果你的文本长度很长, 你就需要采用截断或分批读取的方式来读入。
2. 截取文本
由于 BERT 支持最大长度为 512 个 token,有三种方式截取文本:
- head-only: 保存前 510 个 token (留两个位置给 [CLS] 和 [SEP] )
- tail-only: 保存最后 510 个token
- head + tail : 选择前128个 token 和最后382个 token
这三种思路都值得一试。
网友评论