news 2026/5/1 10:38:15

LLM 采样参数详解:Temperature, Top-k 与 Top-p

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
LLM 采样参数详解:Temperature, Top-k 与 Top-p

在大型语言模型(LLM)的文本生成过程中,解码(Decoding)阶段决定了模型最终输出什么内容。为了平衡生成的准确性多样性,我们通常会使用三个关键参数:TemperatureTop-kTop-p

本文档详细解释这三个参数的原理,并着重分析 Top-k 与 Top-p 的区别。

1. Temperature (温度)

作用:全局控制概率分布的“平滑”程度。

模型输出的是一组 Logits(原始得分)。在转化为概率(Softmax)之前,我们会将 Logits 除以 Temperature (TTT)。

  • T<1T < 1T<1(低温)
    • 效果:放大高概率和低概率之间的差距。概率高的词会变得更高(更突出),概率低的词会变得更低。
    • 结果:生成内容非常保守确定性强。适合数学解题、代码生成等需要精确答案的场景。
  • T>1T > 1T>1(高温)
    • 效果:缩小差距,使概率分布趋于平坦(Uniform)。
    • 结果:低概率的词也有机会被选中。生成内容更随机有创造力,但也更容易产生幻觉或胡言乱语。

2. Top-k Sampling

作用:强行截断,只保留前 k 个可能的词。

  • 原理:将所有候选词按概率从高到低排序,只保留前kkk个(例如k=50k=50k=50)。将这kkk个词之后的词概率归零,然后重新归一化剩余的词。

Top-k 的局限性:无法适应不同的预测置信度

Top-k 的最大问题在于kkk是一个固定值,而模型对不同上下文的预测**确定性(Confidence)**是动态变化的。这会导致两种极端情况:

情况一:模型非常确定(k 太大,引入噪声)
  • 例子"床前明月光,疑是地上__"
  • 假设的概率分布
    1. : 0.90 (90%)
    2. 鞋: 0.005
    3. 糖: 0.005
    4. 脏: 0.001
  • Top-k (k=50) 的问题
    • 虽然 “霜” 显然是正确答案,但 Top-k 强行保留了前 50 个词。
    • 这意味后 49 个干扰项(虽然概率低)依然被保留在候选池中。
    • 如果此时Temperature 较高(例如 T=1.5),“霜” 的优势会被削弱,模型就有可能“抽风”选中第 30 名的“脏”字,导致生成完全离谱的内容。
情况二:模型很不确定(k 太小,抹杀多样性)
  • 例子"今天中午我准备吃__"
  • 假设的概率分布
    1. 米饭: 0.15
    2. 面条: 0.14
    3. 饺子: 0.13
    4. 寿司: 0.08
    5. 汉堡: 0.05
  • Top-k (k=5) 的问题
    • 前 5 个词的概率加起来可能只有0.15+0.14+0.13+0.12+0.11=0.650.15+0.14+0.13+0.12+0.11 = 0.650.15+0.14+0.13+0.12+0.11=0.65(65%)。
    • 排在第 10 名的“寿司” (8%) 和第 1 名的“米饭” (15%) 差别并不大,都是合理的选项。
    • 但因为k=5k=5k=5的死板限制,“寿司”被直接淘汰了。这极大地限制了生成的丰富性。

3. Top-p (Nucleus) Sampling

作用:动态截断,保留累积概率达到 p 的最小集合。

  • 原理:设定一个阈值ppp(例如 0.9)。将候选词按概率排序后,从高到低逐个累加,直到总概率超过ppp为止。只保留这组词。

Top-p 如何解决 Top-k 的问题?

Top-p 的候选集大小(Candidate Set Size)是动态变化的:

  • 应对“非常确定”的情况
    • "床前明月__"的例子中,"霜"(0.90) 一个词就达到了p=0.9p=0.9p=0.9的阈值。
    • 结果:候选集大小自动变为1。彻底剔除了“鞋”、“糖”等噪声。
  • 应对“很不确定”的情况
    • "中午吃什么"的例子中,为了凑够p=0.9p=0.9p=0.9,模型需要把前 15 个甚至前 20 个食物都选进来。
    • 结果:候选集大小自动变为20。保留了所有合理的选项。

总结:最佳实践

参数推荐配置场景
Temperature0.0 - 0.3代码、数学、事实问答 (精准)
0.7 - 1.0创意写作、聊天 (多样)
Top-k40 - 100传统的截断方式,通常配合 Temperature 使用
Top-p0.9 - 0.95现代 LLM 的首选,通常能比 Top-k 获得更好的生成质量

通常建议:优先使用Top-p来过滤候选词,然后再配合Temperature来调整分布的平滑度。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 23:44:15

ARM Qt 字体过小的问题

文章目录1、环境介绍2、问题3、解决4、参考文章5、总结1、环境介绍 板卡&#xff1a;T113、buildroot 系统 Qt 版本&#xff1a;Qt 5.15.9 2、问题 在 Ubuntu 编译运行时&#xff0c;看起来挺正常的&#xff0c;但部署到板卡后发现&#xff0c;字体莫名其妙变小了。这主要是…

作者头像 李华
网站建设 2026/4/30 21:37:44

性能提升 60%:前端性能优化终极指南

摘要 把前端性能当作产品核心&#xff0c;从量化指标 → 体量分析 → 拆包治理 → 缓存与边缘加速 → 图片与媒体优化 → 渲染与交互降本 → 验证与持续化&#xff0c;形成一套工程化、可复用的优化闭环。本文结合现代协议&#xff08;HTTP/3&#xff09;、边缘计算、Service W…

作者头像 李华
网站建设 2026/4/23 20:54:13

五、选择器进阶

五、选择器进阶 1.1 后代选择器&#xff1a;空格 作用:根据HTML标签的嵌套关系,选择父元素后代中满足条件的元素选择器语法&#xff1a;选择器1 选择器2 {css}结果&#xff1a; 在选择器1所找到标签的后代&#xff08;儿子、孙子、重孙子……&#xff09;中&#xff0c;找到…

作者头像 李华
网站建设 2026/4/30 18:02:56

OpenAI 的 Sora 如何改变游戏规则:深入了解其核心技术

原文&#xff1a;towardsdatascience.com/how-openais-sora-is-changing-the-game-an-insight-into-its-core-technologies-bd1ad17170df?sourcecollection_archive---------4-----------------------#2024-02-19 一项代表前沿技术的杰作 https://rkiuchir.medium.com/?sour…

作者头像 李华
网站建设 2026/4/30 8:51:18

LLM 如何在网络中迷失并发现图推理

原文&#xff1a;towardsdatascience.com/how-the-llm-got-lost-in-the-network-and-discovered-graph-reasoning-e2736bd04efa |图|LLM|推理|图推理| https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/ac5bf023d3a48b4bec4460b5c5243fbc.p…

作者头像 李华
网站建设 2026/5/1 10:20:59

C 语言指针进阶教程:const 修饰、野指针规避与传址调用

&#x1f3e0;个人主页&#xff1a;黎雁 &#x1f3ac;作者简介&#xff1a;C/C/JAVA后端开发学习者 ❄️个人专栏&#xff1a;C语言、数据结构&#xff08;C语言&#xff09;、EasyX、游戏、规划 ✨ 从来绝巘须孤往&#xff0c;万里同尘即玉京 文章目录 前景回顾&#xff1a;上…

作者头像 李华