Published
- 6 min read
模型微调参数科普:Temperature, Top-p, Top-k

模型微调参数科普:Temperature, Top-p, Top-k
大模型的文本生成基于概率,从候选词汇中选择概率最高的词组合成回复。以下介绍几个关键参数及其作用:
想象一下,大模型就像一位大厨,它正在用文字做一桌美味的“语言大餐”。而我们提到的 Temperature
、Top-k
和 Top-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 联手:双重精选
如果两个旋钮一起用呢?那就是双重把关!
- 先看“今日特供”(Top-k): 列出 k 个招牌菜。
- 再看“人气指标”(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 越低,大厨越保守,回答就越可预测。
省流
- 想要准确、靠谱的回答? 把
Temperature
和Top-p
调低,让大厨专注于做那些最拿手的菜。 - 想要脑洞大开、充满创意的回答? 把
Temperature
和Top-p
调高,鼓励大厨自由发挥。 - 想要控制选择范围? 用
Top-k
限制一下“今日特供”的数量。