- bert核心流程:先pre-train后微调
- Pre-train Model:将每一个token表示成一个embedding vector
- 传统embedding手段(类似于Wordvec之类的)最大的缺点就是没有考虑上下文的意思,同一个词放到不通的上下文下embedding是一样的。
- bert之类的模型采用的是Contextualized word Embedding:与传统embedding最大的区别是产生每一个embedding的时候会将上下文的意思考虑进来,同样的单词在不同的句子中embedding不会一样。
- 现在类似于bert之类的模型有越来越大的趋势。
- 现在主流趋势是让bert之类的大模型变小,有很多(类似于知识蒸馏)技术可以让大模型变小,性能损失还不大。
How to fine-tune
NLP任务分类
输入部分:如果输入是一个sentence,直接就丢入model进行train就可以了,但是如果是多个sentence,那么就需要在每个句子之间加入一个sep分割符,将n个sentence拼成一个整体sentence丢入model进行train
pre-train和fine-tune的搭配方式
一种是pre-train和fine-tune是解耦的,训练完pre-train就不管了,我们只是需要微调fine-tune
另一种是将pre-train和fine-tune进行融合,统一训练,在训练过程中统一调整fine-tune和pre-train的参数
因此一种创新的方式就是adaptor方式,即将pre-train model和fine-tune model进行merge,但是每次只需要修订pre-train 大model里面的一部分参数就可以了,就类似于图中apt中的参数,因此这样训练难度就下来了
glue模型:专门用来测试一个NLP模型对人类语言的了解程度(一种评价指标)