Lecture 05 · 同一条错译,先完成一次共同诊断

R59 · 同一条错译,先完成一次共同诊断

从结构到训练、读取和执行,我们已能提出多种错误解释。现在回到同一her/him错译,增加一项可比较的观察,选择下一步优先检查什么。

状态 b0

同一错译和正确候选出现,但尚无评分。此刻只凭输出,仍无法区分模型偏好错误与搜索漏掉候选。

这是用于共同诊断的构造案例;评分证据在下一状态才加入。

我昨天给了她一本书。示例同模型 · 同源句 · 每句 8 token(含 EOS)返回的错译I gave him a book yesterday . EOS正确候选I gave her a book yesterday . EOS只有错译,还不能区分“评分偏好错”与“搜索漏掉”。

状态 b1

新增同规则整句分数,正确候选高于返回错句。先核对画面上的比较条件,再得出至少存在这一候选对的搜索缺口。

我昨天给了她一本书。示例同模型 · 同源句 · 每句 8 token(含 EOS)返回的错译I gave him a book yesterday . EOS−8.2正确候选I gave her a book yesterday . EOS−6.4同一评分:Σ log p;含 EOS;无长度惩罚正确候选分更高,却没返回:先检查哪里?

状态 b2

保留分数并冻结模型/评分,下一步检查候选覆盖与剪枝;若正确候选反而分低,优先检查应转向评分和条件使用。

我昨天给了她一本书。示例同模型 · 同源句 · 每句 8 token(含 EOS)返回的错译I gave him a book yesterday . EOS−8.2正确候选I gave her a book yesterday . EOS−6.4同一评分:Σ log p;含 EOS;无长度惩罚先查搜索:扩大候选集,核对剪枝。若正确候选分更低 → 再查模型评分与源信息使用。

公式与算例详情

用同一评分比较两个候选

源句为“我昨天给了她一本书”。以下候选与分数都是教学构造,未冒充 LAB 02 的运行结果。

候选(空格分词,8 个 token,含句号与 EOS) 同一模型的 $\sum_t\log p(y_t\mid y_{<t},x)$ 搜索结果
I gave him a book yesterday . EOS −8.2 返回
I gave her a book yesterday . EOS −6.4 未返回,但已显式计算评分

这里固定源句、模型参数、tokenizer,求和使用自然对数,包含 EOS,没有长度惩罚。−6.4>−8.2,因此已知至少一个分数更高的正确候选被遗漏,支持先检查候选覆盖、beam 剪枝与实现。两条候选没有穷尽所有输出;找回其中一个正确候选也不能证明模型可靠使用了全部源信息。

下一项检查取决于分数方向

冻结模型、数据与评分规则,保存 beam 每步候选及剪枝原因;扩大 beam,或在受限词表/短序列上穷举,检查同一目标分数能否提高。若另一受控候选对中正确候选反而得分更低,应转查模型评分及源条件利用,纯搜索优化不保证修好它。区分这两种分数关系,才能为同一种表面错译选择不同的下一步。

原课页采用记录:M38 自学与实践入口。页码均按PDF物理页计。

继续学习

若要判断下一步应改搜索还是评分,读beam 有没有把正确答案漏掉,并在CLS 03“路径 A:分数进步了,为什么这一句仍然错”与LAB 02“路径A · 分数进步了,为什么这一句仍然错”对照既有 checkpoint:正确项−1.280045低于错误项−0.905535,beam2曾保留正确项却仍将其排后。它与本页正确候选更高分的教学构造导向不同诊断,不能当同一结果。若基础评分口径仍不清楚,LAB 02 的“D · 源、decoder输入、目标,分别是哪一行?”和“D · 局部最优能否到达全句最高分?”检查 EOS/PAD、穷举与 beam;再按受控检查固定评分后改变一个解释。