URL
- paper: https://arxiv.org/pdf/2202.00666
- code: https://github.com/huggingface/transformers/blob/main/src/transformers/generation/logits_process.py#L608
TL;DR
- 本文提出来一种
Typical sampling
的解码策略,是对top-p sampling
的改进,启发了后续的 解码策略,旨在生成更自然、更符合人类语言使用习惯的文本。 - 论文使用信息论的观点,局部典型性(
local typicality
)采样的依据是条件熵和信息量的接近程度- 条件熵:
- 信息量:
Algorithm
公式角度理解
- 在时间步 ,候选词集合为:
- 其中
- 表示信息量和条件熵最大相差不大于 ,写成 更容易理解
- 是超参数,需要在
(0, 1)
之间
代码角度理解
1 | class TypicalLogitsWarper(LogitsWarper): |
Thought
- 单看计算过程实际上比较符合直觉,用信息论的角度理解反而会云里雾里…