Ultralytics YOLO27: 加入候补名单。
获取 YOLO 许可
返回 Ultralytics 术语表

Perplexity

困惑度是模型在文本上的交叉熵取指数后的结果。了解如何计算困惑度、公平比较模型,以及该指标除评分外的用途。

困惑度是一项用于衡量概率模型预测序列能力的指标,计算方式是:模型对实际下一个token所赋负对数似然的平均值取指数。数值越低越好。困惑度为 10,表示模型平均而言的不确定性相当于每一步都从 10 个选项中均匀选择,因此这个数值常被理解为有效分支因子。Frederick Jelinek、Robert Mercer、Lalit Bahl 和 James Baker 于 1977 年在 IBM 提出该指标,用于衡量语音识别任务的难度;它至今仍是语言建模的标准内在指标。例如,OpenAI 的 15 亿参数 GPT-2 在 2019 年的 WikiText-103 基准上达到了 17.48 的困惑度,且未在该基准上训练。

这个词还指另外两个不相关的概念。Perplexity AI 是一家 AI 搜索引擎公司;而 t-SNE 的超参数“perplexity”大致设置每个点在 t-SNE 构建高维数据二维映射时考虑多少个邻居。

计算困惑度#

对于由 N 个 token 构成的序列,困惑度 = exp(-(1/N) x 所有 log p(token_i | 前面所有 token) 的总和)。指数内部的量是文本与模型预测之间的交叉熵,也是训练大型语言模型(LLM)时使用的同一损失函数。使用自然对数时底数为 e;使用以 2 为底的对数时底数为 2,两种算法得出的困惑度相同。PyTorch 的交叉熵损失使用自然对数,并默认对 token 求平均,因此语言模型的困惑度就是 exp(loss)。

import math

# Probability the model assigned to each correct next token
token_probs = [0.50, 0.25, 0.80, 0.40]

# Cross-entropy is the average negative log-likelihood, in nats
cross_entropy = -sum(math.log(p) for p in token_probs) / len(token_probs)
print(f"Cross-entropy: {cross_entropy:.3f}, perplexity: {math.exp(cross_entropy):.2f}")

# A model that spreads probability evenly over 10 tokens has perplexity 10
uniform = -sum(math.log(0.1) for _ in token_probs) / len(token_probs)
print(f"Uniform perplexity: {math.exp(uniform):.2f}")

这四个概率得出的交叉熵为 0.805 纳特,困惑度为 2.24,因此该模型的表现相当于每一步都在大约两个概率相同的 token 之间进行选择。均匀分布的情况也印证了分支因子的解释:每个正确 token 的概率为 0.1 时,困惑度恰好为 10。

处理长文档时需要谨慎。上下文窗口固定的模型会将文本分块评分;在不重叠的块中,开头 token 几乎看不到上下文,因此困惑度会被抬高。滑动窗口评估会让文本块彼此重叠,使每个 token 都能获得模型允许范围内尽可能多的前文上下文,代价是更多计算。上下文窗口

公平比较模型#

只有在使用相同文本和相同tokenization的情况下,困惑度才具有可比性。词表较大的模型会将文本拆分成较少但更难预测的 token,因此它的每 token 困惑度不能直接与使用更小 token 的模型进行比较。将总对数似然按字节数或字符数归一化,并报告每字节比特数或每字符比特数,就能消除这种依赖。

测试数据也必须与训练数据隔离。模型如果以前见过某段文本,就会为其分配异常高的概率;这种数据泄漏会让困惑度看起来优于实际表现。成员推断攻击也利用了同一现象:它们会将困惑度异常低的文本标记为可能属于训练数据。

困惑度衡量模型在固定文本上的下一个 token 预测能力。聊天模型经过指令微调和基于人类反馈的强化学习(RLHF),以便遵循请求并符合人类偏好,因此通常会通过任务基准和人类偏好评分进行比较。

模型比较以外的用途#

数据整理是困惑度的一项重要用途。Facebook AI 研究人员于 2019 年发布的 CCNet 流水线,使用在 Wikipedia 上训练的语言模型为 Common Crawl 网页评分,并按困惑度将网页分为高、中、低三组,其中困惑度低的高质量文本组被视为质量最高。许多预训练流水线会以类似方式筛选网页数据,这是大规模数据清洗的一环。GPTZero 等 AI 文本检测器也会计算困惑度,因为从语言模型采样的文本通常比人类写作更容易预测。

该公式适用于任何使用交叉熵训练的模型。Ultralytics YOLO26分类模型使用平均交叉熵损失进行训练,因此 exp(验证损失)就是针对真实类别标签计算的困惑度。验证损失为 0.35 时,困惑度约为 1.42,这意味着对于平均图像,模型的置信度分布相当于在大约 1.4 个类别之间犹豫。

Explore solutions

体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

借助 Ultralytics YOLO,将无人机和航空影像转化为实时洞察,应用于农业、水产养殖、环境监测、自然保护和地理空间分析。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 应用于航空监测。借助计算机视觉解决方案,赋能无人机、航空航天工作流、环境保护和地理空间行业。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情
体育领域的计算机视觉
体育领域的计算机视觉
了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉
航空影像计算机视觉
借助 Ultralytics YOLO,将无人机和航空影像转化为实时洞察,应用于农业、水产养殖、环境监测、自然保护和地理空间分析。
了解详情
航空航天中的计算机视觉
航空航天中的计算机视觉
使用 Ultralytics YOLO 模型将视觉 AI 应用于航空监测。借助计算机视觉解决方案,赋能无人机、航空航天工作流、环境保护和地理空间行业。
了解详情
安防领域的计算机视觉
安防领域的计算机视觉
使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉
机器人领域的计算机视觉
使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉
物流中的计算机视觉
借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉
零售中的计算机视觉
借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉
医疗领域的计算机视觉
借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉
制造业中的计算机视觉
利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉
汽车领域的计算机视觉
利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉
农业中的计算机视觉
借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情
体育领域的计算机视觉
体育领域的计算机视觉
了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉
航空影像计算机视觉
借助 Ultralytics YOLO,将无人机和航空影像转化为实时洞察,应用于农业、水产养殖、环境监测、自然保护和地理空间分析。
了解详情
航空航天中的计算机视觉
航空航天中的计算机视觉
使用 Ultralytics YOLO 模型将视觉 AI 应用于航空监测。借助计算机视觉解决方案,赋能无人机、航空航天工作流、环境保护和地理空间行业。
了解详情
安防领域的计算机视觉
安防领域的计算机视觉
使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉
机器人领域的计算机视觉
使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉
物流中的计算机视觉
借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉
零售中的计算机视觉
借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉
医疗领域的计算机视觉
借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉
制造业中的计算机视觉
利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉
汽车领域的计算机视觉
利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉
农业中的计算机视觉
借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情

让我们携手构建 AI 的未来!

开启你的旅程,迎接机器学习的未来