DeepSeek模型常用参数说明
2025.02.12
jinance
学习
 热度
℃
1. 核心生成参数
1.1 Temperature(温度)
- 作用:控制生成文本的随机性。
- 取值范围:
0.0 ~ 1.0
(部分模型支持更大范围)。
- 行为:
- 低温度(如 0.1):模型选择高概率词,输出确定性高,但可能机械化和重复。
- 高温度(如 1.0):增加随机性,输出多样化,但可能不连贯。
- 极端值(如 0.0):贪婪解码(总是选最高概率词)。
- 示例值:
temperature=0.7
(平衡多样性与合理性)。
1.2 max_length / max_new_tokens(最大长度)
- 作用:限制生成文本的总长度(输入+输出)或仅输出长度。
- 参数名差异:
max_length
:输入+输出的总 token 数。
max_new_tokens
:仅新生成 token 数(推荐使用)。
- 示例值:
max_new_tokens=200
(生成最多 200 个 token)。
1.3 top_p(Nucleus Sampling)
- 作用:动态选择概率累积超过阈值
p
的词,过滤低概率词。
- 取值范围:
0.0 ~ 1.0
。
- 行为:
top_p=0.9
:保留概率最高的词,直到累积概率超过 0.9。
- 常与
temperature
结合使用。
- 示例值:
top_p=0.9
(平衡多样性与质量)。
1.4 top_k
- 作用:仅从概率最高的
k
个词中采样。
- 取值范围:整数(如
50
)。
- 行为:
top_k=50
:模型从概率前 50 的词中选择。
- 设置
top_k=0
表示禁用(默认)。
- 示例值:
top_k=50
(限制候选词范围)。
1.5 repetition_penalty(重复惩罚)
- 作用:抑制重复内容生成,值越大惩罚越强。
- 取值范围:
1.0 ~ 2.0
(典型值)。
- 示例值:
repetition_penalty=1.2
(适度减少重复)。
2. 高级参数
2.1 do_sample
- 作用:是否启用采样(非贪婪解码)。
- 类型:布尔值。
- 默认值:
False
(贪婪解码)。
- 关联参数:当
do_sample=True
时,temperature
、top_p
、top_k
生效。
2.2 num_beams(束搜索)
- 作用:束搜索的宽度,用于提升生成质量。
- 取值范围:整数(如
4
)。
- 行为:
num_beams=4
:模型保留 4 条候选路径,最终选择最优。
- 通常与
early_stopping=True
结合使用。
- 注意:束搜索与采样(
do_sample=True
)互斥。
2.3 early_stopping
- 作用:是否在生成满足条件时提前停止。
- 类型:布尔值或字符串(如
"never"
、"when_ended"
)。
- 示例值:
early_stopping=True
(当所有束路径达到终止条件时停止)。
2.4 pad_token_id / eos_token_id
- 作用:指定填充符(padding)和结束符(end-of-sequence)的 token ID。
- 默认值:模型自动推断。
- 用途:手动设置以适配特定分词器。
3. 特殊参数
3.1 num_return_sequences
- 作用:一次生成多个候选结果。
- 取值范围:整数(如
3
)。
- 条件:需与
num_beams
或 do_sample=True
配合使用。
- 示例值:
num_return_sequences=3
(返回 3 个不同结果)。
3.2 length_penalty(长度惩罚)
- 作用:调整生成文本长度的偏好。
- 取值范围:
>1.0
:鼓励生成长文本。
<1.0
:鼓励生成短文本。
- 示例值:
length_penalty=1.5
(偏好更长的输出)。
4. 参数组合示例
4.1 确定性输出(问答、摘要)
1 2 3 4 5 6
| generate( do_sample=False, num_beams=4, max_new_tokens=100, repetition_penalty=1.2 )
|
4.2 创意性输出(故事生成)
1 2 3 4 5 6 7
| generate( do_sample=True, temperature=0.9, top_p=0.9, max_new_tokens=300, repetition_penalty=1.1 )
|
4. 平衡模式(对话生成)
1 2 3 4 5 6 7
| generate( do_sample=True, temperature=0.7, top_k=50, max_new_tokens=150, repetition_penalty=1.2 )
|
5. 注意事项
- 参数冲突:某些参数互斥(如
num_beams
和 do_sample
)。
- 模型差异:不同模型支持的参数可能不同(如 GPT 系列 vs. T5)。
- 性能影响:
num_beams
和 num_return_sequences
会显著增加计算时间。
如需 DeepSeek 模型的具体参数,请查阅其官方文档或代码库中的 generate()
方法定义(常见路径:模型源码的 generation_config.json
或 API 说明)。