# 🧩 Summary
核采样(**Nucleus Sampling**,也叫 **Top-p Sampling**),其实就是不固定取前几个词,而是取“累计概率占 p 的那一核”,
- 菜单上有上百道菜(每道菜的“受欢迎度”是概率)。
- 你说:“我想要保证点的菜覆盖 90% 的人气!”(p=0.9)
# 💡 Cues
[[minGPT]]
# Notes
当大模型要输出下一个词时(比如 ChatGPT 续写一句话),它其实会算出一个概率分布,比如:
|词|概率|
|---|---|
|“猫”|0.4|
|“狗”|0.2|
|“鱼”|0.1|
|“香蕉”|0.05|
|其他几千个词|各种小概率……|
模型接下来要从这些概率里“抽一个词”出来。那——**怎么抽?** 就有不同策略,比如:
- 贪心(Greedy)→ 永远选最大概率(最“保守”)
- Top-k 采样 → 只在前 k 个高概率词里随机选
- **核采样(Top-p Sampling)** → 不预设“前几个”,而是动态决定一个最小集合,让这些词的累计概率 ≥ p。
比如:
- 设定 p = 0.9
- 模型预测出的词按概率从高到低加起来:
- “猫” (0.4)
- “狗” (0.2)
- “鱼” (0.1)
- “香蕉” (0.05)
- “老虎” (0.03)
- “苹果” (0.02)
累计到 0.9 时,发现前 5 个词够了,于是只在这 **5 个词** 里随机采样。