Published

- 6 min read

模型微调参数科普:Temperature, Top-p, Top-k

Thumbnail

模型微调参数科普:Temperature, Top-p, Top-k

大模型的文本生成基于概率,从候选词汇中选择概率最高的词组合成回复。以下介绍几个关键参数及其作用:

想象一下,大模型就像一位大厨,它正在用文字做一桌美味的“语言大餐”。而我们提到的 TemperatureTop-kTop-p 就是控制这位大厨烹饪风格的三个神奇旋钮。

1. 大厨的菜谱 (概率)

首先,大厨的脑海里有一本巨大的菜谱,记录了每个词出现的可能性,我们称之为“概率”。比如,在“你喜欢什么动物?”这句话后面:

  • “猫”可能出现的机会是 50% (这道菜很受欢迎!)
  • “狗”的机会是 25% (也不错)
  • “老鼠”的机会是 23% (有点小众)
  • “羊”的机会只有 2% (非常冷门)

2. Top-k:今日特供菜 (限制候选词数量)

Top-k 旋钮就像餐厅门口挂着的“今日特供”牌子,上面只列出了今天最推荐的 k 道菜。

  • 原理: 大厨只从最拿手的 k 道菜里选。
  • Top-k = 3 牌子上写着:“猫”、“狗”、“老鼠”。 好,大厨只考虑这三道菜,其他的 (“羊”) 暂时不考虑。

简单来说,Top-k 决定了选择范围的大小。

3. Top-p:招牌菜总动员 (限制累积概率)

Top-p 旋钮更像是一个“人气指标”。它告诉大厨:“今天你做的菜,加起来的人气 (概率) 至少要达到 p% 哦!”

  • 原理: 大厨按人气从高到低选菜,直到选的菜加起来的人气达到 p%。
  • Top-p = 0.50 (50%): 大厨只做“猫” (50%) 这道菜就够了。
  • Top-p = 0.75 (75%): 大厨要做“猫”(50%) + “狗” (25%),因为这两道菜加起来人气够 75% 了。
  • Top-p = 0.98 (98%): 大厨得做“猫”+“狗”+“老鼠”,因为这三道菜加起来人气才够 98%。

简单来说,Top-p 决定了选择的菜品要多大程度上覆盖热门选项。

4. Top-k 和 Top-p 联手:双重精选

如果两个旋钮一起用呢?那就是双重把关!

  1. 先看“今日特供”(Top-k): 列出 k 个招牌菜。
  2. 再看“人气指标”(Top-p): 从这 k 个招牌菜里,选出加起来人气达到 p% 的菜。
  • Top-k = 3, Top-p = 0.8 先选出“猫”、“狗”、“老鼠”,然后发现它们加起来人气 (0.98) 超过了 0.8,所以都做!
  • Top-k = 3, Top-p = 0.74 同样先选“猫”、“狗”、“老鼠”,但发现“猫”+“狗”的人气 (0.75) 就够 0.74 了,所以只做这两道!
  • Top-k = 3, Top-p = 0.99 还是先选“猫”、“狗”、“老鼠”,即使它们加起来人气 (0.98) 还不到 0.99,但因为“今日特供”只有这三道,所以也只能做这三道!(Top-k 的限制优先)

简单来说,Top-k 和 Top-p 同时使用,就是既要控制选择范围,又要保证选出来的都是热门的。

5. Temperature:大厨的创意指数 (调节概率分布)

Temperature 旋钮最神奇,它控制着大厨的“创意指数”。

  • 低温 (例如 0.7): 大厨变得保守,更愿意做那些人气高的菜 (安全牌),不太敢尝试冷门菜。

    动物温度 = 0.7 概率
    0.55 (更受欢迎了)
    0.22
    老鼠0.18
    0.05 (更冷门了)
  • 高温 (例如 1.5): 大厨变得奔放,愿意尝试各种菜,即使是冷门菜也有机会被选中 (创意十足!)。

    动物温度 = 1.5 概率
    0.3 (没那么突出了)
    0.3
    老鼠0.2
    0.2 (也有机会了)

简单来说,Temperature 越高,大厨越有创意,回答就越多样化;Temperature 越低,大厨越保守,回答就越可预测。

省流

  • 想要准确、靠谱的回答?TemperatureTop-p 调低,让大厨专注于做那些最拿手的菜。
  • 想要脑洞大开、充满创意的回答?TemperatureTop-p 调高,鼓励大厨自由发挥。
  • 想要控制选择范围?Top-k 限制一下“今日特供”的数量。