R12.md · 可读全文

这里保留原文的中文、公式标记、代码和链接。可直接交给 Agent 读取,也可选取下方原文复制。此入口返回 HTML;原始 .md / .py 文件仍保留,完整候选包同时包含 UTF-8 原件。

# R12 · 困惑度衡量预测,不等于全部语言能力

训练已产生许多位置的损失。这条延伸把相同预测目标用于未参与训练的文本,检查怎样汇总模型表现,以及这个指标能回答多大的问题。

<span id="r12-b0"></span>

## 状态 b0

四个数各来自不同预测位置的真实目标,不是同一份四候选分布。

<span id="r12-b1"></span>

## 状态 b1

先求四个负对数的平均,再指数化。观察顺序是逐项loss→平均→PPL,不能先把概率作算术平均再取倒数。

此处使用自然对数,平均负对数似然H的单位为nats;指数化后的PPL不再以nats计。

<span id="r12-b2"></span>

## 状态 b2

最后比较口径出现:分词、测试文本与有效目标计数需要一致。指标支持的是这项文本预测的比较。

## 公式与算例详情

对N个有效目标token,平均负对数似然为$H=-\frac1N\sum_t\ln p(x_t\mid x_{<t})$,困惑度为$\mathrm{PPL}=e^H$。这四项各来自不同位置的正确目标,不是同一分布的四个候选。本例四项概率$1/2,1/4,1/2,1/4$,$H=1.03972077$,$\mathrm{PPL}=\sqrt8\approx2.8284$。

它等价于真实目标概率几何平均数的倒数,可理解为该分布下的平均不确定度尺度,不是模型每一步固定在2.8个词中选择。不同tokenizer改变事件粒度与N,PPL通常不能直接横比。更低PPL不自动保证事实准确、翻译质量或远距离查询正确。

原课页采用记录:[M11 训练与生成如何不同](sources.html#M11)。页码均按PDF物理页计。

### 继续学习

[本页自学核对](lecture.html#read-R12):固定 token 和数据划分,从平均交叉熵算 PPL;整理成口径相同的一组比较。

若想比较两个模型的PPL,可进入[《把预测、训练与评价摊在同一张样本表上》](https://codingai-lec05.pages.dev/course/knowledge/objectives-and-evaluation.html);动手时打开[LAB01](https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/Fall-26-Lecture-05-841ec8e7-e352-4840-b628-d3742b03d6d0/notebook/LAB-01-ec403d28cc2c400ba661cd270588669f?utm_content=ec403d28cc2c400ba661cd270588669f&utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_term=get_notebook)的“B · 同一预测目标,三个模型;训练一次,生成多次”:先核有效目标数、EOS/PAD、分词和测试划分,再读NLL与自由生成指标各自的分母。 实施范围见[实验路线B](experiments.html#experiment-B)。