LLM(大语言模型)常用评测指标-困惑度(Perplexity)

困惑度(Perplexity)

是自然语言处理(NLP)中常用的一种评估语言模型的指标。它衡量的是模型对测试数据的预测能力,即模型对测试集中单词序列出现概率的预测准确度。困惑度越低,表示模型对数据的预测越准确。

计算方法

困惑度通常定义为测试集上的交叉熵的指数。对于一个语言模型,如果给定一个长度为 N N N 的词序列 W = w 1 , w 2 , ... , w N W=w_1,w_2,\ldots,w_N W=w1,w2,...,wN,其困惑度可以表示为:

P P ( W ) = 1 P ( w 1 , w 2 , ... , w N ) n PP(W)=\sqrtn{\frac1{P(w_1,w_2,\ldots,w_N)}} PP(W)=nP(w1,w2,...,wN)1

其中, P ( w 1 , w 2 , ... , w N ) P(w_1,w_2,\ldots,w_N) P(w1,w2,...,wN)是模型赋予该词序列的概率。在实际计算中,为了避免数值下溢,通常使用对数概率,并将公式转化为:

P P ( W ) = 2 − 1 N ∑ i = 1 N log ⁡ 2 P ( w i ∣ w 1 , w 2 , ... , w i − 1 ) PP(W)=2^{-\frac1N\sum_{i=1}^N\log_2P(w_i|w_1,w_2,\ldots,w_{i-1})} PP(W)=2−N1∑i=1Nlog2P(wi∣w1,w2,...,wi−1)

这里, ∑ i = 1 N log ⁡ 2 P ( w i ∣ w 1 , w 2 , ... , w i − 1 ) \sum_{i=1}^N\log_2P(w_i|w_1,w_2,\ldots,w_{i-1}) ∑i=1Nlog2P(wi∣w1,w2,...,wi−1)表示对整个测试集的对数似然,并且 N {N} N是测试集中的单词总数。

应用场景

困惑度常用于比较不同的语言模型或评估同一模型在不同数据集上的性能。它广泛应用于语言模型的训练和评估、机器翻译、语音识别等自然语言处理领域。

示例

假设一个简单的语言模型,给定一个测试集包含三个词的序列 "the cat sat",模型对这三个词的预测概率分别为 0.5, 0.4, 0.3。则该序列的困惑度计算如下:

P P ( W ) = 2 − ( 1 3 ( log ⁡ 2 0.5 + log ⁡ 2 0.4 + log ⁡ 2 0.3 ) ) ≈ 2.45 PP(W)=2^{-\left(\frac13(\log_20.5+\log_20.4+\log_20.3)\right)}\approx2.45 PP(W)=2−(31(log20.5+log20.4+log20.3))≈2.45

这意味着在这个简单的例子中,模型对测试集中单词序列的预测平均每个位置的不确定性相当于二进制选择中的2.45个选项。

当我们说模型对测试集中单词序列的预测平均每个位置的不确定性相当于二进制选择中的 2.45 个选项时,我们是在尝试将困惑度的数值转化为一个更直观的概念。具体来说,假设你面前有一个盒子,里面有若干个按钮,每个按钮代表一个不同的单词。每次你要预测下一个单词时,就需要按下一个按钮。如果模型对下一个单词的预测非常准确,那么你每次基本上只需要在少数几个按钮中选择。如果模型的预测非常不准确,那么你可能需要在很多按钮中进行选择。

困惑度的数值可以告诉我们,平均来看,你需要在多少个按钮中进行选择。在上面的例子中,困惑度为 2.45,这意味着平均每次预测时,你需要在大约 2.45 个按钮中进行选择。这个数值越小,表示模型的预测越准确,你需要在越少的选项中进行选择。

换句话说,困惑度可以被理解为模型在预测下一个单词时的平均"不确定性"。如果困惑度是 2.45,那么就好像你在进行二进制选择时平均有 2.45 个选项一样,这反映了模型对单词序列的预测能力。

相关推荐
王中阳Go15 分钟前
预算给够了,时间花错了地方:三跳链路给了 27 秒,实际只用掉 9 秒
人工智能·后端·性能优化
方方洛26 分钟前
ray教程-25-附录E-端到端实战案例
人工智能·分布式·机器学习
火山引擎开发者社区34 分钟前
上万个 Agent 在线不乱跑,云沙箱给 Agent 造了间“独立办公室”
人工智能
神鹰手哥_起飞版34 分钟前
一句话生成带品牌 logo 的架构图:方舟 Seed 2.1 负责听懂,代码负责画准
人工智能
老马识码35 分钟前
WorkBuddy 的连接器是怎么统一到 MCP 的
人工智能
武子康39 分钟前
动作和画面时间最近,就能配成训练样本吗?
人工智能·深度学习
wangfpp40 分钟前
Skill渐进式披露指南
人工智能
Marco_康41 分钟前
AgentFleet 跨设备调度实测:303 tasks/s,设备掉线 0 丢任务
人工智能
QYR_111 小时前
年复合增长率11.4%!机器人指端视触觉传感器加速迈向规模化应用
人工智能·数码相机
武天旭1 小时前
AI安全--AI大模型的数据投毒攻击解析
人工智能·深度学习·安全