1. 什么是PPL?
PPL是Perplexity的缩写,是用于衡量语言模型的常用指标,特别是在语言模型的自回归和因果语言模型的评估上。PPL反映的是在处理一段文本时 在预测下一个词汇时的不确定性和困惑度。数值越低越好。PPL定义为序列的指数化平均负对数似然。对于一个序列
X
=
(
x
0
,
x
1
,
.
.
.
,
x
t
)
X = (x_0, x_1,..., x_t)
X=(x0,x1,...,xt), 则PPL的定义是:
P
P
L
(
X
)
=
e
x
p
(
−
1
t
∑
i
=
1
t
l
o
g
p
θ
(
x
i
∣
x
<
i
)
)
PPL(X) = exp(-\frac{1}{t}\sum^{t}_{i=1}logp_\theta(x_i | x_{<i}))
PPL(X)=exp(−t1∑i=1tlogpθ(xi∣x<i))
其中
l
o
g
p
θ
(
x
i
∣
x
<
i
)
logp_\theta(x_i | x_{<i})
logpθ(xi∣x<i) 是模型给定前i-1个词
x
<
i
x_{<i}
x<i条件下,对第i个词
x
<
i
x_{<i}
x<i的对数似然。
- PPL低则说明 模型更准确地预测文本中的词汇,模型对语言结构掌握较好
- PPL高则说明模型对文本预测不太确定,困惑度高,模型表现较差
PPL的使用场景和使用方式
- 在大语言模型量化研究中,PPL可以用于评估不同量化方法对模型预测能力的影响。
- 通常采用跨步滑动窗口来移动上下文的方式,评估PPL,这样即避免因为上下文缺失导致的PPL过大,也能保证处理速度较快。