大模型生成参数调优速查表
下面这份速查表,按场景 和参数作用梳理了常见组合,方便在开发中快速选型。
核心参数速查
| 参数名 | 作用 | 典型取值 | 调优思路 |
|---|---|---|---|
max_new_tokens |
控制生成的最大新 token 数 | 对话:512;创作:2048;代码:1024 | 不要超过模型上下文窗口,避免截断 |
do_sample |
是否启用随机采样 | 对话/创作:True;代码/摘要:False | True → 多样性;False → 确定性 |
temperature |
调节生成"随机性" | 创意写作:0.7--1.0;代码/问答:0.1--0.3 | 越高越发散,越低越保守 |
top_p |
核采样,限制候选 token 范围 | 0.8--0.95 | 越小越保守,越大越开放 |
top_k |
限制从概率最高的 k 个 token 中采样 | 50--100 | 与 top_p 二选一即可 |
repetition_penalty |
抑制重复文本 | 1.1--1.3 | 越大越不容易重复,但可能导致语句生硬 |
stopping_criteria |
自定义停止条件 | 如遇到特定 token、换行符等 | 用于控制生成边界,避免冗余 |
eos_token_id |
句子结束 token ID | 模型自带的 eos_token_id |
确保模型在合适位置停止 |
场景化参数组合
1. 对话聊天(如 ChatGPT 风格)
-
目标:自然、流畅、有一定多样性
-
推荐组合:
python{ "max_new_tokens": 512, "do_sample": True, "temperature": 0.7, "top_p": 0.9, "repetition_penalty": 1.2, }
2. 代码生成 / 技术问答
-
目标:准确、严谨、可执行
-
推荐组合:
python{ "max_new_tokens": 1024, "do_sample": False, # 或 True + 低 temperature "temperature": 0.2, "top_p": 0.95, "repetition_penalty": 1.1, }
3. 创意写作 / 文案生成
-
目标:多样性、想象力、风格化
-
推荐组合:
python{ "max_new_tokens": 2048, "do_sample": True, "temperature": 0.9, "top_p": 0.9, "repetition_penalty": 1.2, }
4. 文本摘要 / 信息提取
-
目标:简洁、准确、忠于原文
-
推荐组合:
python{ "max_new_tokens": 256, "do_sample": False, "temperature": 0.1, "top_p": 0.95, "repetition_penalty": 1.1, }
调优注意事项
- temperature 与 top_p 不要同时拉满:两者都高会导致生成内容极度发散、逻辑混乱。
- 优先调 temperature:它是最直观影响生成风格的参数,先从 0.7 开始微调。
- 注意模型上下文窗口 :
max_new_tokens+ 输入 token 数 ≤ 模型最大上下文长度(如 Llama-2-7B 是 4096)。 - 重复惩罚不宜过大:超过 1.3 容易导致句子不连贯,甚至出现奇怪的断句。