Pre-train模型

0.概述

资料来源:李宏毅教授教程Deep Learning of Human Language Process

1.Pre-Train Model

为什么需要Pre-Train Model

Pre-Train Model的具体流程如下图所示。

由许多层组成,有如下的几种架构方法:
1.LSTM
2.Self-attention layers
流行的model
3.Tree-based model
在公式表示中有很好的表现

Pre-Train发展:
ELMO
Predict Next Token(Bidirectional):

BERT(类似与CBOW)
Masking Input:

补充:

bert看所有的sequence,而CBOW有固定的窗口

Mask Input:
首先,Original BERT Input
probability
pro [MASK] ##lity

然后,Whole Word Masking(WWM)
probability
[MASK]

最后,Phrase-level和Entity-level(Enhanced Representation through Knowledge Integration,ERNIE)

小的BERT模型有:
ALBERT 每一层的参数都相同,小一些,但是效果没怎么变

Network Compression https://youtu.be/dPp8rCAnU_A
其中:
Network Pruning
Knowledge Distillation
Parameter Quantization
Architecture Design

BERT模型压缩:
http://mitchgordon.me/machine/learning/2019/11/18/all-the-ways-to-compress-BERT.html
all the ways to compress BERT

减少self-attention的运算量(n^2,其中n为sequence的长度):
Reformer
Longformer

有了Pre-Train Model之后,如何Fine-Tune?如图所示。

2.优化

2.1 Adaptor

当我们进行Fine-Tune任务的时候,通常是如下图所示。

增加adaptor模块

将效果进行对比

3.GPT-3

参考论文:language model are few-shot learners
其中,few-shot是什么意思呢?

首先,GPT-3的few-shot和其他模型的few-shot不同,如上图所示。
在其他模型中,few-shot learning是指用少量的训练资料去Fine Tune它。
在GPT-3中没有Fine Tune的内容,直接将问题的简介、样例(有的没有)和问题作为模型的输入,然后输出问题的答案。

如下图所示:

这种学习被称为In-context learning,图中有三种类型。

精度随着变量变化的趋势。

精度随着样本的变化趋势

在数学计算上的精度:

4.GPT和BERT对比

首先,BERT是使用了MASK Input模型来获取上下文的资料,而GPT是根据前面的token来进行预训练。

所以GPT在autoregressive生成句子中有劣势,但是,在non-regressive中可能会有好的效果。