参数是按顺序生效的
采样参数并非各自独立生效:经典流水线的顺序是 logits 惩罚(repetition 类)→ temperature 缩放 → top_k 截断 → top_p 核采样,最后才按概率采样出一个 token。顺序决定了叠加后的真实候选集,也解释了「改了 A 为什么 B 的效果也跟着变」。
基本信息
| 流水线顺序 | 惩罚 → 温度 → top_k → top_p → 采样 |
|---|---|
| 温度作用 | 缩放 logits 分布的尖锐度 |
| 截断参数 | top_k、top_p |
| 框架差异 | 实现顺序可能微调 |
| 调参原则 | 一次只动一个 |
典型使用场景
- 设计消融实验时判断哪个参数才是关键因素
- 从别的框架迁移参数前先确认流水线顺序一致
- 排查「加了新参数反而更差」这类叠加异常
- 向团队解释参数含义时统一口径,避免各说各的
- 给新人讲参数时按顺序讲,比罗列每个参数的取值范围更容易记住
经典流水线示意
经典流水线示意
logits
→ repetition / presence / frequency 惩罚
→ temperature 缩放
→ top_k 截断
→ top_p 核采样
→ 按概率采样一个 token各步骤的副作用
| 步骤 | 作用对象 | 过了会怎样 |
|---|---|---|
| 惩罚 | logits 数值 | 用词生硬、语句破碎 |
| 温度 | 分布尖锐度 | 输出发散、跑题 |
| top_k / top_p | 候选集合 | 输出刻板、重复 |
排参策略:固定其他项、只动一个并记录指标;跨框架迁移参数时优先重跑评估,而不是照搬数值。
min_p 这类较新的参数通常插在 top_p 之前或与之并列,具体位置随实现变化;做对比实验要在目标框架上重新标定。
顺序还有一个实际影响:惩罚类参数发生在温度缩放之前,温度越高,固定惩罚对排序的相对作用越被摊薄,调这两个参数时要一起看。
记录实验时把框架与版本一起写下:同一套参数在版本升级后表现变化,多半是实现顺序或默认值做了调整。