尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

LLM核心参数配置指南:原理篇

LLM核心参数配置指南:原理篇
📅 发布时间:2026/6/25 22:41:31

核心背景:Next Token Prediction

LLM 的强大能力相信已家喻户晓:写代码、吟诗作对、做PPT、写报告,无所不能。当剥开 LLM 的技术外壳,你会发现核心逻辑很简单:玩一场永无止境的「词语接龙」游戏。

如上面的架构图所示,LLM 的本质就是Next Token Prediction(下一个词预测)。它并不理解文字背后的深意,而是通过海量数据的「喂养」,掌握了人类语言的概率分布。当输入一句话,LLM 会像一个超级输入法,根据已经给出的词,在后台疯狂计算成千上万个备选词出现的几率,筛选那个最「顺理成章」的接下去。

实现该过程的精确控制,需要归功于图中顶部的那个数学魔法「Softmax 函数」。

σ(z)i=ezi∑j=1Kezjσ(z)i​=∑j=1K​ezj​ezi​​​​

该公式把模型输出的一堆数字,转换成「所有候选词的概率分布」,我们来拆成下公式(1)的计算过程:

  • zizi​ :也叫 Logits,即上图中 「Linear Layer」的输出分值,「Linear Layer」通过矩阵运算,得到每个词的原始得分zizi​。zizi​可以是任何实数,数值越大,代表模型认为这个词出现的可能性越高。

  • eziezi​ : 这个式子会放大高分词与低分词的差距,让模型更倾向于选 「更合理的词」。我们来举例说明,比如两个词 zi=10,zj=1zi​=10,zj​=1,经过exp后, ezi=e10=6374.31,ezj=e1=2.72ezi​=e10=6374.31,ezj​=e1=2.72,两者从原来的10倍差距放大到2343.49。

  • ∑j=1Kezj∑j=1K​ezj​: 所有词的分数之和,其作用是让所有词的概率加起来刚好等于 1,就像我们说「这几个词里,句号有 70% 的概率,逗号有 20%,其他词加起来只有 10%」。

以上图中中输入「LLMs are cool」为例,模型经过「Linear Layer、Softmax 函数」运算后,映射为一组总和为 1 的概率分布:接「.」的概率可能是 80%,接「!」的概率是 15%,其他符号的概率为5%。通过这种方式,原本枯燥的数字转化成了模型对下一个词的「信心指数」。每预测出一个词,LLM 就会把这个词加入到输入序列里,再次循环上述过程。

二、核心参数讲解

2.1 temperature(温度)

该参数值越小,输出结果越确定;值越高,生成内容越随机、多样且富有创造性,取值范围 0~2,默认值为 1。

这是最核心的参数,直接作用于模型最后一层Softmax 函数。

Linear Layer输出的是逻辑得分(Logits),通过Softmax 函数转化为概率分布。加入Temperature ( TT ) 后的候选词的概率分布

σ(z)i=ezi/T∑j=1Kezj/Tσ(z)i​=∑j=1K​ezj​/Tezi​/T​​​

假设Linear Layer输出三个词的原始 logits ,即zizi​为:[10, 2, 1]

  • 当 T<1T<1 :拉大高分和低分之间的差距。概率分布变得尖锐,模型会非常保守地选择那个概率最高的词。以取T=0.1T=0.1为例, zi/Tzi​/T 分别为 [100, 20, 10],差距被急剧放大,经过公式(2)Softmax 函数后,σ(z)≈[1,0,0]σ(z)≈[1,0,0],概率分布变得极度尖锐,输出稳定、确定、忠于事实。

  • 当 T>1T>1 :缩小差距。概率分布变得平滑,原本概率较低的词也有了翻身的机会,模型变得「有创意」或「胡言乱语」。以取T=10T=10为例, zi/Tzi​/T 分别为 [1, 0.2, 0.1],经过公式(2)Softmax 函数后,σ(z)≈[0.539,0.242,0.219]σ(z)≈[0.539,0.242,0.219],概率被拉平,三个词都有明显机会被选中,输出更随机、更多样。

2.2 frequency_penalty(频率惩罚)

frequency penalty 会按 token 在提示与回复中已出现的次数,对下一个待生成 token 施加比例惩罚;数值越高,重复出现的 token 概率越低,从而减少回复中的词汇重复。数值范围 -2.0~2.0,默认 0

在原始 Logit 值上减去一个偏移量

Logitnew=Logitold−(count×frequencypenalty)Logitnew​=Logitold​−(count×frequencyp​enalty)​​

其中,countcount 为候选词已出现次数,出现次数越多 → 扣得越多 → 概率越低 → 越不容易重复。

假设现在要生成下一个词,候选词是:

  • 我:已出现3 次

  • 今天:已出现1 次

  • 开心:已出现0 次

假设Linear Layer输出三个词的原始 logits ,即zizi​为:[5, 4, 3],我们分三类情况来讨论 frequency_penalty 的大小对候选词的概率分布的影响

  • frequency_penalty=0:zizi​ 分别为 [5, 4, 3],经过公式(2)Softmax 函数后,σ(z)≈[0.665,0.245,0.024]σ(z)≈[0.665,0.245,0.024],模型很容易选择之前重复的词「我」

  • frequency_penalty=0.5:zizi​ 分别为 [5−0.5×3, 4−0.5×1, 3−0]=[3.5, 3.5, 3],经过公式(2)Softmax 函数后,σ(z)≈[0.38,0.38,0.24]σ(z)≈[0.38,0.38,0.24],候选词「我」被明显打压,不再一家独大。

  • frequency_penalty=1.0:zizi​ 分别为[5−1×3, 4−1×1, 3]=[2, 3, 3],经过公式(2)Softmax 函数后,σ(z)≈[0.15,0.42,0.43]σ(z)≈[0.15,0.42,0.43],候选词「我」概率变得很低,几乎不会再重复。

需要注意:

  • temperature:缩放所有 logit,抹平 / 放大差距

  • frequency_penalty:只针对出现过的词做减法,专门防重复

2.3 presence_penalty(存在惩罚)

presence penalty 同样对重复词施加惩罚,但与 frequency penalty 不同,其惩罚力度固定,同一 词无论出现 2 次还是 10 次,惩罚均相同,可避免模型过度重复用词。高值利于生成多样创意文本,低值则让内容更聚焦。数值范围 -2.0~2.0,默认 0。

与 frequency_penalty 类似,也是在原始 Logit 值上减去一个偏移量

Logitnew=Logitold−(mask×presence_penalty)Logitnew​=Logitold​−(mask×presence_penalty)​​

其中,maskmask 是一个布尔开关。如果候选词在之前出现过至少一次,则 mask=1mask=1 ;否则,mask=0mask=0 。

假设现在要生成下一个词,候选词是:

  • 我:已出现3 次

  • 开心:已出现0 次

假设两个词的原始 logits ,即zizi​为:[5, 5],我们分三类情况来讨论 presence_penalty 的大小对候选词的概率分布的影响

  • presence_penalty =0(无惩罚):zizi​ 分别为 [5, 5],经过公式(2)Softmax 函数后,σ(z)≈[0.5,0.5]σ(z)≈[0.5,0.5],对候选词的选择没有影响

  • presence_penalty =0.8(调高):zizi​ 分别为 [5−0.8,5]=[4.2,5],经过公式(2)Softmax 函数后,σ(z)≈[0.31,0.69]σ(z)≈[0.31,0.69],新词明显更可能被选。

  • presence_penalty =-0.5(调低 / 奖励):zizi​ 分别为 [5+0.5,5]=[5.5,5],经过公式(2)Softmax 函数后,σ(z)≈[0.62,0.38]σ(z)≈[0.62,0.38],就候选词「我」被鼓励重复。

与 frequency_penalty 类似,presence_penalty 只针对出现过的词做减法,专门防重复。

2.4 top_p(概率截断)

top_p(与 temperature 同属核采样)可控制模型输出的确定性:需准确、事实性答案时调低参数,追求多样化响应则调高参数。取值 0~1,默认值为 1。

top_p 是动态的。它将词项按概率降序排列,只在累加概率达到 pp 的最小集合中采样。

假设候选词排序后概率为:0.5, 0.25, 0.15, 0.06, 0.04(总和 = 1),讨论不同取值的影响:

  • top_p=0.5(调低):累加为0.5 →刚好达标,只保留[0.5]→ 输出完全确定。

  • top_p=0.8(中等):累加为 0.5+0.25+0.15=0.9 ≥0.8, 保留前 3 个词→ 输出自然、多样适中。

  • top_p=0.95(调高):累加几乎到全部保留,几乎所有词→ 输出更随机、创意更强。

2.5 max_tokens(最大生成长度)

通过调整 max length 控制 LLM 生成的 token 数量,设置该值能避免冗长无关回复,同时控制成本。

max_tokens(max length)是控制大语言模型生成长度的核心参数,其数学本质:设定模型生成 token 的最大步数 N,当生成过程达到第 N 个 token 时强制终止,不改变每一步的概率分布与采样逻辑。调低 max_tokens 会缩小最大步数 N,使输出更简短克制,但易出现内容截断不完整;调高 max_tokens 则扩大 N,允许输出更完整、详细、篇幅更长的内容,同时会增加 token 消耗与调用成本。

max_length(max_tokens)在大语言模型底层以自回归生成循环的步数上限实现。模型每生成一个 token 即完成一次前向推理与采样,同时计数器加 1;当计数器达到 max_length 时,生成循环被强制终止,不再进行后续推理。该机制属于生成过程的控制逻辑,不改变模型的概率分布、logit 计算或采样策略,仅通过限制生成步数控制输出长度,调低会提前截断输出,调高则允许生成更长内容并消耗更多资源。

2.6 stop(停止标志)

stop 可为字符串或字符串列表,模型遇到指定标志时会立即停止生成。例如设置 stop=\["\n\nHuman:"\],可在对话模型准备生成下一轮用户提示时强制停止。合理设置能避免跑题与多余输出,默认无强制停止符,模型会按内置停止符或 max_tokens 耗尽结束生成。

Stop(停止标志)在 LLM 自回归生成过程中,以实时文本后缀匹配的方式实现。模型每生成一个 token 并解码为文本后,会检查当前输出文本末尾是否包含预设的停止字符串;若命中任一停止序列,生成循环立即强制终止。该机制属于生成过程的控制逻辑,不改变模型推理、概率分布与采样策略,仅通过字符串匹配触发提前停止;设置更多停止序列会让输出更易提前结束、更克制,减少冗余与跑题。

模型依然是一步生成 1 个 token,流程如下:

相关新闻

  • 计算机毕业设计之“京车会”汽车后市场服务平台的设计与实现
  • STM32单片机手势炫酷车141-2(设计源文件+万字报告+讲解)(支持资料、图片参考_降重降ai)
  • 如何用深蓝词库转换工具彻底解决输入法迁移难题

最新新闻

  • UVa 590 Always on the Run
  • 视觉指令调优实战:让多模态模型真正看懂‘把左上角按钮换成蓝色’
  • 短视频 游戏 直播 联机一切 只要有用户 有用户用 带货才好卖
  • 042、多态与鸭子类型:Python 的接口哲学与 Protocol 类型检查
  • 猫抓浏览器扩展终极指南:5大核心功能助你轻松捕获网络资源
  • 计算机毕业设计之基于Java的流浪动物收养系统设计与开发

日新闻

  • Qwen2.5-Turbo百万上下文实战指南:百炼平台长文本处理全解析
  • 怎么监控对标账号更新,2026年作者监控工作流,5款深度对比
  • EdgeRemover:专业级Windows Edge浏览器管理工具,彻底解决顽固软件卸载难题

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号