Advertisement

大模型中的temperature、top_p和top_k

阅读量:

在大型语言模型中,temperature,top_p(核采样)以及top_k是调控生成文本多样性和随机性的重要参数,以下将详细阐述它们的作用机制及对比分析


1. Temperature(温度)

作用原理
  • 数学机制:位于 softmax 函数之前的步骤中,在 logits 输出上按照 temperature 值进行缩放操作以实现概率分布的重新分配。

  • 公式P(x_i) = \frac{\exp(z_i / T)}{\sum_j \exp(z_j / T)} ,其中 T 代表温度参数。

  • 作用 :通过降低温度(接近 0),模型会提高高概率词的重要性并使其输出更加稳定且遵循贪心策略。

    • 低 temperature(接近 0) :放大高概率词的权重以增强其重要性,并使模型输出更加确定、保守。
    • 高 temperature(>1):平滑概率分布以削弱低概率词的影响,并提高低概率词的重要性以使输出更加随机化和多样化。
典型应用场景
  • 当您在问答任务中需求准确结果时(例如问题解答),则应当采用T \approx 0.1 \sim 0.5
    • 而当您在创作富有创造力的内容(如诗歌或故事情节)时,则应采用T \approx 0.7 \sim 1.2
示例
  • 输入:"上空"是___
    • 低 temperature:可能会导致呈现"深邃"色调
    • 高 temperature:可能会导致呈现"通透"、"忧郁"或"闪烁星光"

2. top_k(顶部 k 采样)

作用原理

每个生成步骤中, 仅选取高概率的 k 个候选词, 然后对选中的词语进行归一化处理, 并从中进行采样. 目的是为了 排除低概率的词语, 平衡生成质量与多样性.

典型设置
  • (其中 k = 50 为常用设定),但具体数值需根据任务需求进行调整:
  • 较小的 k 值(例如在 1030 范围内):将导致输出更为保守,在准确性方面表现更为稳定。
  • 较大的 k 值(例如在 100200 范围内):将使输出内容更加丰富多样,在信息量上有显著提升的同时也适当平衡了可能出现的信息噪声。
示例
  • 设置 k=3,候选词为 {“蓝色”: 0.6, “灰色”: 0.3, “晴朗”: 0.1},其他词被排除。

3. top_p(核采样)

作用原理
  • 根据概率分布选择累积概率超过阈值 p 的最小候选词集合(按概率降序排列),然后从中采样。 *
典型设置
  • p = 0.9(常用值),范围建议 0.7 \sim 0.95
    • 小 p :候选词少,输出更确定。
    • 大 p :候选词多,输出更多样。
示例
  • 设置 p=0.9,若前 5 个词累积概率达 0.91,则仅保留这 5 个词。

参数对比与组合使用

参数 核心区别 适用场景 组合建议
temperature 调整全局概率分布形状 控制整体随机性(保守 vs 创意) 常与 top_ktop_p 结合使用
top_k 固定候选词数量 需要稳定排除低概率词的任务 可与 top_p 联用(先按 k 筛选,再按 p 截断)
top_p 动态调整候选词数量 上下文概率分布差异大的任务(如对话) 常单独使用或与 temperature 配合

常见误区与注意事项

参数冲突

在设置 top_ktop_p 时,在某些框架中会共同满足条件的情况(比如同时满足‘前 k 个词’且‘累积概率 ≤ p’),需查阅具体实现。

temperature 的陷阱

  • 当T的值高于1.5时,可能会导致文本出现断裂现象。
  • 当T低于0.1时,则可能引发大量重复数据输出。

默认选择

通常情况下,在多数场景中应优先选择**top_p**(因为它具有良好的动态适应能力),随后可以根据具体情况调整参数值 temperature

通过科学配置这些参数,在实现生成内容的创新性和控制力之间达到最佳融合。在实践中,建议仅进行少量试验以确定最适合任务的参数组合。

全部评论 (0)

还没有任何评论哟~