理解GPT-2:论文解析 - 无监督的多任务学习者,展现语言模型的强大效果
这里有ACC,PPL,BPC,BPB 四个指标:
详细可以看这篇文章:困惑度(perplexity)的基本概念及多种模型下的计算(N-gram, 主题模型, 神经网络) - 知乎 (zhihu.com)
ACC 指的是准确度: A C C = T P + T N T P + T N + F P + F N ACC=\frac{TP+TN}{TP+TN+FP+FN} ACC=TP+TN+FP+FNTP+TN
介绍后面的指标之前需要先介绍一下Cross entropy也就是交叉熵:
H
(
P
,
Q
,
s
)
=
−
∑
i
=
1
n
P
(
x
i
)
l
n
Q
(
x
i
)
H(P,Q,s)=-\sum_{i=1}^n P(x_i)lnQ(x_i)
H(P,Q,s)=−i=1∑nP(xi)lnQ(xi)
这里P指的是真实概率,Q指的是预测概率,
x
i
x_i
xi指的是每一个unit,而s由n个unit的
x
i
x_i
xi组成,这里表示s这一句话的交叉熵;
PPL 指的是困惑度,也就是一句话出现的概率,句子出现的概率越大,困惑度越小:
P
P
L
=
P
(
x
1
,
x
2
,
…
,
x
n
)
−
1
N
PPL=P(x_1,x_2,\dots,x_n)^{-\frac{1}{N}}
PPL=P(x1,x2,…,xn)−N1
BPC,BPW和BPB 分别指的是bits-per-character, bits-per-word,bits-per-byte:
B
P
C
/
B
P
W
/
B
P
B
=
1
T
∑
t
=
1
T
H
(
P
,
Q
,
s
t
)
BPC/BPW/BPB=\frac{1}{T}\sum_{t=1}^{T}H(P,Q,s_t)
BPC/BPW/BPB=T1t=1∑TH(P,Q,st)
其不同就是在计算H的时候计算的分别是character,word,byte;主要在于分词;
由于PPL中P的特殊性,只有一个1,其余都是0,有公式如下:
B P C = − 1 T ∑ t = 1 T ∑ i = 1 n P ( c t i ) l n Q ( c t i ) = − 1 T ∑ t = 1 T l n Q ( s t ) = − 1 T l n P ( d o c u m e n t ) = l n P P L \begin{align} BPC & = -\frac{1}{T}\sum_{t=1}^T\sum_{i=1}^{n}P(c_{ti})lnQ(c_{ti}) \\ & = -\frac{1}{T}\sum_{t=1}^TlnQ(s_t) \\ & = -\frac{1}{T}lnP(document) \\ & = lnPPL \end{align} BPC=−T1t=1∑Ti=1∑nP(cti)lnQ(cti)=−T1t=1∑TlnQ(st)=−T1lnP(document)=lnPPL
即有:
P
P
L
=
e
B
P
C
PPL=e^{BPC}
PPL=eBPC
从上图中可以看出GPT-2都表现出了不错的性能;
同时在儿童读物测试中 随着参数量的增加,性能都出现了一定的增强;
还有一些结果证实了无标注训练模型的能力,这里就不展示了,这篇文章证明了当一个大型语言模型在一个足够大和多样化的数据集上进行训练时,它能够在许多领域和数据集上表现良好。