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)=\sqrt[n]{\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 个选项一样,这反映了模型对单词序列的预测能力。

相关推荐
被制作时长两年半的个人练习生10 分钟前
【pytorch】权重为0的情况
人工智能·pytorch·深度学习
Elastic 中国社区官方博客25 分钟前
使用 Vertex AI Gemini 模型和 Elasticsearch Playground 快速创建 RAG 应用程序
大数据·人工智能·elasticsearch·搜索引擎·全文检索
说私域1 小时前
地理定位营销与开源AI智能名片O2O商城小程序的融合与发展
人工智能·小程序
Q_w77421 小时前
计算机视觉小目标检测模型
人工智能·目标检测·计算机视觉
创意锦囊1 小时前
ChatGPT推出Canvas功能
人工智能·chatgpt
知来者逆2 小时前
V3D——从单一图像生成 3D 物体
人工智能·计算机视觉·3d·图像生成
碳苯2 小时前
【rCore OS 开源操作系统】Rust 枚举与模式匹配
开发语言·人工智能·后端·rust·操作系统·os
whaosoft-1433 小时前
51c视觉~CV~合集3
人工智能
网络研究院5 小时前
如何安全地大规模部署 GenAI 应用程序
网络·人工智能·安全·ai·部署·观点
凭栏落花侧5 小时前
决策树:简单易懂的预测模型
人工智能·算法·决策树·机器学习·信息可视化·数据挖掘·数据分析