如果继续往下学,下一步最重要的知识其实不是 Transformer,而是:
LLM 的 6 个关键运行参数(几乎决定模型行为):
temperature
top_p
top_k
max_tokens
stop
seed
这 6 个参数本质上都在控制 LLM 的采样(sampling)行为。
因为模型每一步都会产生 一组 token 概率分布,而这些参数决定:
从概率分布中如何选择下一个 token
理解它们,你基本就掌握了 LLM 推理行为调控的核心。
我们一个一个讲,并结合 工程实践建议。
一、temperature(最重要)
temperature 控制随机性(creativity)。
直觉理解:
temperature 越高 → 越随机
temperature 越低 → 越确定
数学上它会调整概率分布:
[ P_i = \frac{e^{z_i/T}}{\sum_j e^{z_j/T}} ]
P_i = \frac{e^{z_i/T}}{\sum_j e^{z_j/T}}
其中:
T = temperature
示例
模型预测:
北京 0.40
上海 0.30
广州 0.20
深圳 0.10
temperature = 0
永远选最大概率 token
输出:
北京
temperature = 1
保持原概率:
北京 40%
上海 30%
广州 20%
深圳 10%
temperature = 1.5
概率会变平:
北京 30%
上海 28%
广州 22%
深圳 20%
随机性增加。
工程建议
不同任务的推荐值:
| 场景 | temperature |
|---|---|
| 知识问答 | 0.1 – 0.3 |
| RAG | 0.1 – 0.3 |
| 代码生成 | 0.1 – 0.2 |
| 总结 | 0.2 – 0.4 |
| 聊天 | 0.6 – 0.9 |
| 创作 | 0.8 – 1.2 |
企业 AI 基本都用 0.1~0.3。
二、top_p(Nucleus Sampling)
top_p 控制:
只在累计概率达到 p 的 token 中采样
例如 token 概率:
A 0.40
B 0.30
C 0.20
D 0.05
E 0.05
top_p = 0.9
累加:
A 0.40
A+B 0.70
A+B+C 0.90
只保留:
A B C
然后再随机选。
top_p = 0.6
A 0.40
A+B 0.70
只保留:
A B
作用
避免低概率垃圾 token。
推荐值
top_p = 0.8 – 0.95
很多 API 默认:
top_p = 1
三、top_k
top_k 是更简单的版本:
只在概率最高的 k 个 token 中选择
例如:
A 0.40
B 0.30
C 0.20
D 0.05
E 0.05
top_k = 3
保留:
A
B
C
删除:
D
E
与 top_p 的区别
| 方法 | 逻辑 |
|---|---|
| top_k | 固定数量 |
| top_p | 动态概率 |
工程实践:
top_p 更常用
四、max_tokens
控制:
模型最多生成多少 token
例如:
max_tokens = 200
模型最多输出:
200 tokens
注意:
input tokens + output tokens ≤ context window
例如:
context window:
128k tokens
输入:
2000 tokens
输出最多:
126k tokens
工程建议
不同场景:
| 任务 | max_tokens |
|---|---|
| 短回答 | 100 |
| RAG回答 | 300 |
| 总结 | 500 |
| 长文 | 1000+ |
五、stop
stop 是:
停止生成的字符串
例如:
stop: ["END"]
模型生成:
这是回答
END
会自动截断。
常见用法
JSON 输出
stop = ["}"]
Markdown
stop = ["```"]
多轮 agent
stop = ["Observation:"]
六、seed
seed 用来:
控制随机数
当:
seed 固定
模型输出就:
可复现
例如:
seed = 42
每次生成一样结果。
为什么重要
在工程中需要:
A/B测试
prompt调试
结果复现
七、参数之间的关系
实际推理流程:
模型输出概率
↓
temperature 调整
↓
top_k / top_p 过滤
↓
随机采样
↓
生成 token
简化流程:
logits
↓
temperature
↓
top_p / top_k
↓
sampling
八、企业 AI 的推荐配置
RAG / AI系统:
temperature = 0.2
top_p = 0.9
max_tokens = 512
代码生成:
temperature = 0.1
top_p = 0.95
聊天:
temperature = 0.7
top_p = 0.9
九、很多人不知道的一个事实
temperature = 0 其实不完全 deterministic。
因为:
GPU并行
浮点误差
实现差异
所以真正完全复现:
需要:
temperature
seed
model version
全部固定。
十、AI 工程师必须理解的一点
这些参数本质上都在解决一个问题:
如何在“确定性”和“创造性”之间平衡
这也是为什么:
- 搜索 → 低 temperature
- 写作 → 高 temperature
如果继续深入 LLM,下一步最关键的知识其实不是参数,而是:
Token / Embedding / Attention 的完整计算流程。
理解这个之后,你会彻底明白:
为什么 Prompt 有作用
为什么 RAG 能工作
为什么 Agent 可以调用工具
如果你愿意,我们可以继续下一节:
LLM 内部完整计算流程(Token → Embedding → Attention → 输出)。
