网易首页 > 网易号 > 正文 申请入驻

优化采样参数提升LLM质量:温度、top_p、top_k和min_p的解码策略

0
分享至


当向大语言模型(LLM)提出查询时,模型会为其词汇表中的每个可能标记输出概率值。从这个概率分布中采样一个标记后,我们可以将该标记附加到输入提示中,使LLM能够继续输出下一个标记的概率。这个采样过程可以通过诸如temperature和top_p等参数进行精确控制。但是你是否曾深入思考过temperature和top_p参数的具体作用?

本文将详细解析并可视化定义LLM输出行为的采样策略。通过深入理解这些参数的作用机制并根据具体应用场景进行调优,可以显著提升LLM生成输出的质量。

我们采用VLLM作为推理引擎,并使用微软最新发布的Phi-3.5-mini-instruct模型,结合AWQ量化技术。所以可以在配备NVIDIA GeForce RTX 2060 GPU的笔记本电脑中运行。

对数概率采样原理解析

LLM解码理论基础

LLM在有限的词汇表V上进行训练,该词汇表包含模型可识别和输出的所有可能标记x。一个标记可以是单词、字符或介于两者之间的任何语言单位。

LLM接收一系列标记**x** = (x_1, x_2, x_3, ..., x_n)作为输入提示,其中每个x都是_V_中的元素。

随后LLM基于输入提示输出下一个标记的概率分布P。从数学角度,这可表示为P(x_t | x_1, x_2, x_3, ..., x_t-1)。从这个分布中选择哪个标记是由我们决定的。在此过程中可以选择不同的采样策略采样参数

采样本质上是一种概率选择过程。选定下一个标记将其附加到输入提示中并重复这个循环。在LLM领域,这些概率分布通常用对数概率表示,称为logprobs

如下图所示,对数函数在0到1之间的值域内恒为负

上图为三种常用底数的对数函数图。

这就解释了为什么logprobs是负值。接近零的logprob对应极高的概率(接近100%),而绝对值较大的负logprob则表示接近0的概率。

使用OpenAI Python SDK获取Logprobs

以下是一个使用官方OpenAI Python客户端进行文本补全的Python脚本。通过设置这些参数,模型将尝试基于输入提示预测下一个标记

from openai import OpenAI
client = OpenAI()
completion = client.completions.create(
model="jester6136/Phi-3.5-mini-instruct-awq",
prompt="The quick brown fox jumps over the",
logprobs=10,
temperature=1.0,
top_p=1.0,
max_tokens=1
)

下面展示了给定句子的标记概率分布。模型选择了tokens=[' lazy']作为下一个标记。我们还可以在top_logprobs列表中观察到前10个logprobs。

logprobs = completion.choices[0].logprobs
print(logsprobs)
>> Logprobs(text_offset=[0],
>> token_logprobs=[-0.0013972291490063071],
>> tokens=[' lazy'],
>> top_logprobs=[{' lazy': -0.0013972291490063071,
>> ' sleep': -7.501397132873535,
>> ' l': -9.095147132873535,
>> ' log': -9.126397132873535,
>> ' la': -9.220147132873535,
>> ' le': -9.313897132873535,
>> ' lay': -9.720147132873535,
>> ' Laz': -9.938897132873535,
>> ' dog': -9.970147132873535,
>> ' ': -9.970147132873535}])

我们可以使用以下公式将logprobs转换为百分比概率:

import numpy as np
probability = 100 * np.exp(logprob)

转换所有logprobs后,可以观察到标记"lazy"有99.86%的概率被采样。这同时意味着有0.14%的概率会选择其他标记。

给定补全提示"The quick brown fox jumps over the"时,前10个标记的概率分布,温度参数设为1。

贪婪解码策略

最基本的采样策略是贪婪解码。该方法在每一步简单地选择概率最高的标记。

贪婪解码是一种确定性采样策略,因为它不涉及任何随机性。给定相同的概率分布,模型每次都会选择相同的下一个标记。

贪婪解码的主要缺点是生成的文本往往重复性高且创意性不足。这类似于在写作时总是选择最常见的词汇和最标准的表达方式。

贪婪解码的数学表达式 [1]

与确定性的贪婪解码相对的是随机解码。这种方法从分布中进行采样,以产生更具创意性的、基于概率的文本。随机解码是通常应用于LLM输出的方法。

温度参数

温度是LLM中最广为人知的参数之一。

OpenAI对温度参数给出了如下定义:

采样温度的取值范围在0到2之间。较高的值(如0.8)会使输出更加随机,而较低的值(如0.2)会使输出更加聚焦和确定。

在LLM输出下一个标记的概率分布后,我们可以通过温度参数调整其分布形状。温度T是一个控制下一个标记概率分布尖锐度或平滑度的参数。

从数学角度看,经温度缩放后的新概率分布P_T可以通过以下公式计算。z_v是LLM为标记v输出的logprob或logit,它被温度参数T除。

温度缩放公式本质上是一个带有额外缩放参数T的softmax函数。

温度缩放的数学公式 [1]

通过加入温度参数,可以从新的概率分布P_T中采样,而不是原始概率分布P。

下图展示了对输入提示"1+1="的四种不同概率分布。在这种情况下,下一个标记应该是2。

(注意:这些并非完整分布,仅绘制了部分值)。

微软Phi-3.5-mini-instruct LLM对输入提示"1+1="的四种不同概率分布图,展示了不同温度T参数的效果。

可以观察到,温度T越高,分布就越趋于平坦。这里的"平坦"意味着各个结果的概率趋于均等。

值得注意的是,在默认温度T=1.0下,明显的正确答案2只有约85%的概率被选中,这意味着如果进行足够多次的采样,得到不同答案的可能性并非微乎其微。

在温度T=2.0时,尽管标记"2"仍然是最可能的选择,但其概率已降至约5%。这意味着此时采样的标记几乎完全随机。所以在实际应用中很少有理由将温度设置得如此之高。

这里我们引用OpenAI文档所述,温度是一种调节输出随机性或聚焦度的方法。由于我们只是在调整概率分布,始终存在采样到完全不相关标记的非零概率,这可能导致事实性错误或语法混乱。

Top-k采样策略

Top-k采样策略简单地选取概率最高的k个标记,忽略其余标记。

当k=1时,top-k采样等同于贪婪解码。

更准确地说,top-k采样在概率最高的前k个标记之后截断概率分布。这意味着我们将词汇表V中不属于前k个标记的所有标记的概率设为零。

将非top-k标记的概率设为零后,需要对剩余的分布进行重新归一化,使其总和为1

重新归一化概率分布的公式 [2]

以下是k=4的top-k采样可视化示例:

输入提示"My name is"的top-k采样可视化,k=4。上图显示模型的原始输出概率,下图展示top-k截断和重新归一化后的概率分布。

上图展示了模型的原始输出分布。红线将图分为左侧的top-k标记和右侧的其余部分。下图显示了截断和重新归一化后的新top-k分布P_K。

需要注意的是,top-k采样目前不是OpenAI API的标准参数,但在其他API中,如Anthropic的API,确实提供了top_k参数。

Top-k采样的一个主要问题是如何设置参数k。对于非常尖锐的分布,我们倾向于使用较小的k值,以避免在截断的词汇表中包含大量低概率标记。而对于较为平坦的分布,我们可能需要较大的k值,这样可以包含更多合理的标记可能性。

Top-p采样策略

Top-p采样,也称为核采样,是另一种通过从词汇表中剔除低概率标记来截断概率分布的随机解码方法。

我们还是引用OpenAI对top_p参数给出的定义:

这是一种替代温度采样的方法,称为核采样,模型考虑累积概率达到top_p的标记集合。例如,0.1意味着只考虑累积概率达到前10%的标记。

在top-p采样中,我们为标记的累积概率质量定义一个阈值p。对(已排序的)概率进行累加,直到达到累积概率阈值。保留所有使累积概率不超过阈值p的标记

获取top-p采样的top-p词汇表的数学公式 [2]

随后对截断后的概率分布进行重新归一化,使其总和为1。

下面是使用top-p对提示"I love to"进行采样的可视化结果:

输入提示"I love to"的top-p采样可视化,top_p=0.2。上图显示模型的原始输出概率,下图展示top-p截断和重新归一化后的概率分布。

上图展示了模型的原始输出分布,其中红线标记了20%的累积概率阈值,将图分为下方的top-p标记和上方的其余部分。重新归一化后,下图显示我们只保留了四个标记,其余标记的概率被置为零。

从理论角度来看,从logprobs的长尾分布中剔除极低概率的标记通常是合理的。因此top_p参数通常应设置为小于1.0的值。

但是top-p采样也并非完美无缺。下图展示了一个案例,其中top-p采样为了达到累积概率阈值而包含了大量低概率标记,这可能导致不理想的结果。

Top-p采样可能包含过多低概率标记的示例。(图片来源:[1])

结合Top-p和温度的策略

尽管OpenAI的官方文档中没有明确说明,但根据社区的测试结果,似乎top_p参数在温度参数之前应用

一般情况下通常不建议同时设置top_p和温度参数,但在某些场景下,这种组合可能会带来优势。

仅调整温度参数会使概率分布变得更加平坦或尖锐。这会使输出要么更加确定(低温度),要么更具创意性(高温度)。但是模型仍然是从概率分布中随机采样。所以会始终存在采样到高度不可能标记的风险

例如,模型可能会采样到外语字符或罕见的Unicode字符。理论上模型词汇表中的任何内容(现在通常非常庞大且多语言)都有可能被采样到。

作为一种解决方案,可以首先应用top-p采样来剔除这些极端情况,然后通过较高的温度从剩余的合理标记池中进行创造性采样。这种方法可以在保持输出多样性的同时,有效控制输出质量。

Min-p采样策略

最近一种新的采样方法被提出,称为min-p采样,源自论文"Min P Sampling: Balancing Creativity and Coherence at High Temperature"[1]。

Min-p同样是一种基于截断的随机解码方法,它试图通过引入动态阈值p来解决top-p采样的某些局限性。

计算min-p采样动态最小阈值的数学公式 [1]

Min-p采样的工作原理如下:

  1. 首先从概率分布中找出最大概率p_max,即排名最高的标记的概率。
  2. 将这个最大概率乘以一个参数p_base,得到一个最小阈值p_scaled。
  3. 采样所有概率大于或等于p_scaled的标记。
  4. 最后,对截断后的概率进行重新归一化,得到新的概率分布。

Min-p采样使用相对最小概率的示意图。(图片来源:[1])

Min-p采样已在一些后端实现,如VLLM和llama.cpp。下图展示了min-p采样的可视化结果,其中p_base = 0.1,输入提示为"I love to read a"。

输入提示"I love to read a"的min-p采样可视化,p_base=0.1。上图显示模型的原始输出概率,下图展示min-p截断和重新归一化后的概率分布。

在这个例子中标记"good"的概率为32%。设置p_base = 0.1后,我们得到最小概率阈值p_scaled = 3.2%,即图中的红线位置。

总结与建议

通过深入理解采样参数的作用机制,我们可以更有针对性地为特定的LLM应用场景优化参数设置。

最关键的参数是温度和top_p。

温度参数调节模型输出概率分布的形状。需要注意的是,无论如何调整,总是存在采样到语义或语法上不合适标记的可能性。在给定概率分布的情况下,我们仍在进行概率性采样。

top_k参数通过截断概率分布来限制可能的候选标记集。但这种方法也存在风险:可能会过度剔除有价值的候选项,或者保留过多不适当的选项。

如果使用的LLM框架支持min-p采样,建议进行实验性尝试,评估其在特定任务中的表现。

在实际应用中,建议采取以下步骤:

  1. 首先尝试调整温度参数,观察其对输出质量的影响。
  2. 如果单纯调整温度无法达到理想效果,考虑引入top_p或top_k参数。
  3. 对不同参数组合进行系统性测试,找出最适合您特定任务的配置。
  4. 持续关注新的采样策略研究,如min-p采样,并在条件允许时进行评估。

通过精细调整这些参数,可以在保持输出多样性和创造性的同时,显著提高大语言模型生成内容的质量和相关性。

参考文献

[1] N. N. Minh, A. Baker, A. Kirsch, C. Neo, Min P Sampling: Balancing Creativity and Coherence at High Temperature (2024), arXiv:2407.01082

[2] A. Holtzman, J. Buys, L. Du, M. Forbes, Y. Choi, The Curious Case of Neural Text Degeneration (2019), Proceedings of International Conference on Learning Representations (ICLR) 2020

https://avoid.overfit.cn/post/6a30e6cfd2ac4f0d89edb4235e30c876

作者:Dr. Leon Eversberg

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
著名艺术家达式常坐轮椅现身,虽已86岁,眉宇间仍是昔日男神模样

著名艺术家达式常坐轮椅现身,虽已86岁,眉宇间仍是昔日男神模样

章眽八卦
2026-02-08 21:31:17
挤走董卿、靠爹上位、央视“穷鬼”,龙洋的私生活谣言有多离谱?

挤走董卿、靠爹上位、央视“穷鬼”,龙洋的私生活谣言有多离谱?

东方不败然多多
2026-02-20 09:08:33
奥运会为什么发避孕套?难道运动员都带伴侣吗?看完你就明白了!

奥运会为什么发避孕套?难道运动员都带伴侣吗?看完你就明白了!

南权先生
2026-02-13 15:17:51
公婆一家6口来过年,我不干带儿子回娘家,老公:你走了谁做饭

公婆一家6口来过年,我不干带儿子回娘家,老公:你走了谁做饭

木子言故事
2026-02-20 09:38:45
江西女硕士失踪,被发现时已在教授实验室待6年,魔鬼真的存在

江西女硕士失踪,被发现时已在教授实验室待6年,魔鬼真的存在

灿烂夏天
2025-02-10 20:20:13
但凡有点梦想,谁还和阵风眉来眼去!印度引进114架背后充满无奈

但凡有点梦想,谁还和阵风眉来眼去!印度引进114架背后充满无奈

锋芒点兵
2026-02-20 15:59:52
农村到底萧条到了啥程度?我在村里住了三个月,说几句刺耳的话

农村到底萧条到了啥程度?我在村里住了三个月,说几句刺耳的话

复转这些年
2026-02-11 23:59:46
油价大降超0.45元/升,创近新低的油价,春节后2月24日油价或再涨

油价大降超0.45元/升,创近新低的油价,春节后2月24日油价或再涨

油价早知道
2026-02-21 00:21:46
谷歌重回最强大模型!Gemini 3.1 Pro 最全演示案例合集

谷歌重回最强大模型!Gemini 3.1 Pro 最全演示案例合集

AI先锋官
2026-02-20 14:05:19
15年前,那个当着全世界喝下核污染水的日本官员,如今还活着吗?

15年前,那个当着全世界喝下核污染水的日本官员,如今还活着吗?

墨兰史书
2026-02-09 23:08:35
日本人不爱运动,却是长寿的国家,7个习惯是关键,值得学习

日本人不爱运动,却是长寿的国家,7个习惯是关键,值得学习

39健康网
2026-02-04 18:13:56
英超锁定5个欧冠名额!意甲崩盘仅剩7%概率,德甲趁势上位

英超锁定5个欧冠名额!意甲崩盘仅剩7%概率,德甲趁势上位

奇史怪谈
2026-02-20 05:07:45
东北人,为啥都爱打扮和穿名牌?

东北人,为啥都爱打扮和穿名牌?

冰咖
2026-02-19 15:17:03
2026年退休新规来了!身份证年龄作废,25年铁律曝光,早看少吃亏

2026年退休新规来了!身份证年龄作废,25年铁律曝光,早看少吃亏

复转这些年
2026-01-08 23:43:01
大数据“杀熟”再引争议,“看人下菜碟”式价格歧视该休矣!

大数据“杀熟”再引争议,“看人下菜碟”式价格歧视该休矣!

时代周报
2026-01-16 20:42:04
沈腾马丽让CP粉磕疯了!伐木累和穷哈不清不楚!

沈腾马丽让CP粉磕疯了!伐木累和穷哈不清不楚!

八卦疯叔
2026-02-20 11:55:19
森日向子丨她一笑我就醉了

森日向子丨她一笑我就醉了

素然追光
2025-11-29 02:10:03
朱高炽在位不足一年 ,为何能青史留名?他解决了三个天大的难题

朱高炽在位不足一年 ,为何能青史留名?他解决了三个天大的难题

千秋文化
2026-01-21 20:55:53
欧洲人要等三个月!小米17系列定了,但国内销量已破340万台!

欧洲人要等三个月!小米17系列定了,但国内销量已破340万台!

i王石头
2026-02-20 23:47:20
Nano Banana Pro 这些拍案叫绝的玩法,你一定不知道

Nano Banana Pro 这些拍案叫绝的玩法,你一定不知道

AI范儿
2025-11-25 19:28:33
2026-02-21 03:43:00
deephub incentive-icons
deephub
CV NLP和数据挖掘知识
1926文章数 1452关注度
往期回顾 全部

科技要闻

莫迪举手欢呼 两大AI掌门人却握拳尴尬对峙

头条要闻

贝加尔湖遇难者遗体已被发现 涉事司机系私下接单

头条要闻

贝加尔湖遇难者遗体已被发现 涉事司机系私下接单

体育要闻

金牌夫妻!王心迪徐梦桃赛后拥抱太甜了

娱乐要闻

《将门独后》开拍,王鹤棣孟子义主演

财经要闻

特朗普全球关税被推翻!有何影响?

汽车要闻

比亚迪的“颜值担当”来了 方程豹首款轿车路跑信息曝光

态度原创

教育
家居
手机
游戏
本地

教育要闻

170所大学,面临破产!

家居要闻

本真栖居 爱暖伴流年

手机要闻

春节后影像机皇之争:OPPO Find X9 Ultra与vivo X300 Ultra规格曝光

《战神》新作真要去埃及?关键线索:雅典娜 埃及猫现身

本地新闻

春花齐放2026:《骏马奔腾迎新岁》

无障碍浏览 进入关怀版