1、Temperature参数
Temperature(也叫温度参数)是控制AI生成文本随机性的关键参数,取值范围通常为0到1(部分模型支持更高,例如1到2之间)。简单来说:
- 低温度(接近0):AI变身严谨学霸,选择最稳妥的输出。
- 高温度(接近1):AI化身狂野艺术家,拥抱创造性,内容随机性很大。
其实,这个现象非常符合热力学原理,我想这也是为什么起名temperature的原因,当温度值高的时候,热作用力大,分子运动活跃,因此输出的内容随机性就比较大,创造性更强!反之,当温度低的时候,分子不活跃,模型输出趋于保守,以稳妥为主,缺乏创造性和灵感。通常情况下,一般会把temperature的值设置成0.6,这是一个经过权衡的经验值,不同的开源模型也会给出相应的推荐值作为参考。
公式定义
对于未归一化的对数概率(logits),引入温度参数T后的概率分布如下,所以,严格意义来说,Temperature参数是通过调整输出Token的概率分布来影响模型的输出效果(更稳妥或者更有创造性)。

2、Top-k采样
为了使生成的文本更具创新性和多样性,大模型在选择token的策略中引入了一定的随机性,也就是从一部分词中进行随机采样。那如何选择这部分词?最基础的方法就是top-k采样,即选择概率最高的k个词,基于这些词的概率分布进行采样。
所以,我们能看到这里面k值的选择还是非常重要的,较大的k值会使生成的内容更具多样性,但可能会生成不合理的内容;较小的k值则使生成的内容多样性较低,但质量更有保证。我们需要根据任务的不同选择合适的k值。
但是,top-k采样也有一定的弊端,由于top-k采样的k值是固定的,不同的概率分布可能会带来不同的问题。当概率分布较平坦时,top-k采样可能会剔除许多概率相近的合理词语(下图左侧);而当概率分布较陡峭时,可能会保留一些概率很低的不合理词语(下图右侧)。

图片来自网络
3、Top-p采样
top-k采样有一个明显的缺陷,那就是**“k值取多少是最优的?”**非常难以确定。于是出现了动态设置token候选列表大小策略——即核采样(Nucleus Sampling)。
top-p采样的思路是在每一步,只从累积概率超过某个阈值p的最小单词集合中进行随机采样,而不考虑其他低概率的单词。这种方法也被称为核采样(Nucleus Sampling),因为它只关注概率分布的核心部分,而忽略了尾部部分。很明显,top-p采样对于概率分布陡峭的场景,效果要比top-k好很多。
公式定义:

从以上公式可以看出,通过动态调整累计概率p,Top-p采样在可控性和创造性之间实现了更细腻的平衡,成为当前大模型解码的主流策略(如DeepSeek、 LLaMA、Claude均默认采用)。

这里,p值的选择范围和实际的业务场景强相关,并且p值需要和Temperature参数一起配合来使用,下表给出的是基本的参考,具体需要基于实际业务进行验证和调试。

4、Greedy Search贪心搜索
上面,我们介绍了top-k和top-p两种采样模式,解决了查询子集的问题;接下来我们介绍在这个确定的子集范围内,如何选择最优的那个token,这同样非常重要!目前常用的有Greedy Search和Beam Search两类算法。先说一些Greedy Search算法。
- 思路:每次直接选择分布中概率最大的token当作decoding解码出来的词,但是该问题在于,总是选择概率最大的词,将会生成很多重复的句子,因为每次选择的路径都是一样的。
- 优点:计算简单高效
- 缺点:文本重复,没有多样性,同时容易漏过全局最优解。
举个例子,假设输入prompt为 “今天天气很好,我决定”,模型生成过程如下,每次选择概率最大的token输出。

5、Beam Search束搜索
(题外话:每次看到Beam Search,我就联想到5G里面最重要的Beam forming,5G能有那么快的下行速率,Beam forming起到了很大的作用,其实Beam forming和Beam search还是有一些相似之处的,不仅仅是名字里面都有Beam。感兴趣的同学,我找时间分享一下Beam forming)
Beam search是对greedy search贪心算法的一个改进算法。相对greedy search扩大了搜索空间。Beam search有一个超参数num_beams (束宽),设为k 。很明显,当k=1时,Beam search就退化为greedy search算法。
Beam search具体推理过程就是从第一个时间步长开始,选取当前条件概率最大的k个词,当做候选输出序列的第一个词。之后的每个时间步长,基于上个步长的输出序列,挑选出所有组合中条件概率最大的k个,作为该时间步长下的候选输出序列。每一步始终保持k个候选,最后从k个候选中挑出最优的。所以Beam search的平均复杂度是O(NLogk),最好的时候是O(N),最差的时候接近O(N2)。
值得一提的是Beam search并不保证全局最优,但是通过选择合适的参数k,扩大搜索空间,效果要比greedy search好很多。我们看一下,同样的prompt “今天天气很好,我决定”,在num_beams=3的情况下,通过Beam search输出的候选结果,多样性明显好了很多!

下面是参考代码,我调用的是DeepSeek API。
import requests
def deepseek_generate(prompt, max_tokens=50, num_beams=3, num_return=3):
headers = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
}
payload = {
"model": "deepseek-chat", # 指定模型名称
"messages": [
{"role": "user", "content": prompt}
],
"parameters": {
"max_tokens": max_tokens, # 最大生成长度
"temperature": 0.7, # 创造性控制
"top_p": 0.9, # 多样性控制
"beam_width": num_beams, # Beam Search宽度
"num_return_sequences": num_return, # 返回候选数
"stop": ["\n"] # 停止符号(可选)
}
}
try:
response = requests.post(
"https://api.deepseek.com/v1/chat/completions",
headers=headers,
json=payload
)
response.raise_for_status()
return response.json()["choices"]
except Exception as e:
print(f"API调用失败: {str(e)}")
return []
prompt = "今天天气很好,我决定"
results = deepseek_generate(prompt)
for i, choice in enumerate(results):
print(f"候选 {i+1}: {choice['message']['content']}\n")
Beam Search与Top-K的区别
Beam Search与Top-K随机采样解码是不同的。Top-K采样,每一步都是在vocab_size=|V|个概率中选择前K个最高概率词。而Beam Search,每一步都是在num_beams X vocab_size(|V|)个词中选择前num_beams个高概率句子。它需要先把当前选择的词与已经给定的词合并成句子,并得到句子概率,再在这些句子中选择前num_beams个最高概率的句子。
简单总结:
- Top-k采样每次的搜索空间为|V|,Beam Search算法每次的搜索空间为num_beams*|V|。
- Top-k采样每次只关注当前token的概率,Beam Search算法需要计算当前句子的概率,考虑的是当前阶段的“全局”。
6、Repetition Penalty
在文本生成中,重复性高是一个常见问题。一个常用的解决方法是降低已生成词的概率,即在Softmax函数中对已生成的词额外除以一个θ。一般来说,该值取1.1或者1.2即可。从下面的公式可以看出,原理就是通过调整生成词的概率来调整输出,从而保持模型生成流畅性的同时有效抑制重复,达到最优平衡。

符号定义

参考代码:

总结
没有放之四海而皆准的策略。不同的业务场景,需要使用不同的解码策略。本文讨论的Temperature、Greedy Search、Beam Search、Top-K Sampling、Top-p Sampling等都是基本解码策略。有时候,基于不同的业务场景,需要将这些策略混合起来使用,例如通过top-k&top-p&Temperature等进行联合采样,才能达到更好的效果!
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】


第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。
这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

2万+



被折叠的 条评论
为什么被折叠?



