首页
首页
文章目录
  1. 1. 核心生成参数
    1. 1.1 Temperature(温度)
    2. 1.2 max_length / max_new_tokens(最大长度)
    3. 1.3 top_p(Nucleus Sampling)
    4. 1.4 top_k
    5. 1.5 repetition_penalty(重复惩罚)
  2. 2. 高级参数
    1. 2.1 do_sample
    2. 2.2 num_beams(束搜索)
    3. 2.3 early_stopping
    4. 2.4 pad_token_id / eos_token_id
  3. 3. 特殊参数
    1. 3.1 num_return_sequences
    2. 3.2 length_penalty(长度惩罚)
  4. 4. 参数组合示例
    1. 4.1 确定性输出(问答、摘要)
    2. 4.2 创意性输出(故事生成)
    3. 4. 平衡模式(对话生成)
  5. 5. 注意事项

DeepSeek模型常用参数说明

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 时,temperaturetop_ptop_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_beamsdo_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. 注意事项

  1. 参数冲突:某些参数互斥(如 num_beamsdo_sample)。
  2. 模型差异:不同模型支持的参数可能不同(如 GPT 系列 vs. T5)。
  3. 性能影响num_beamsnum_return_sequences 会显著增加计算时间。

如需 DeepSeek 模型的具体参数,请查阅其官方文档或代码库中的 generate() 方法定义(常见路径:模型源码的 generation_config.json 或 API 说明)。

🌹
加油,越来越好