基础模型参数: 解码和停止条件
您可以在 Prompt Lab 中设置参数,以控制模型如何根据您的提示生成输出。 设置解码参数以调整输出文本的生成方式。 设置停止条件参数以指定模型何时应停止生成输出。
解码
解码 是模型用于在生成的输出中选择标记的过程。
选择下列其中一个解码选项:
贪婪解码: 在解码过程的每个步骤中选择概率最高的令牌。
贪婪解码生成的输出与模型的预训练数据和提示文本中最常见的语言紧密匹配,这在不太有创意的用例或基于事实的用例中是可取的。 贪婪解码的一个弱点是,它可以在生成的输出中引起重复循环。
采样解码: 在如何选择令牌方面提供更多可变性。
通过采样解码,模型 样本 标记 (意味着模型选择标记的子集) ,然后从该子集中随机选择一个标记以添加到输出文本。 抽样给解码过程增加了可变性和随机性,这在创造性的用例中是可取的。 但是,随着可变性的增加,出现不正确或无意义的输出的风险也会更大。
采样解码的更多选项
选择 "采样解码 "时,您可以使用更多参数来调整基础模型如何选择要采样的标记。 以下参数协同工作以影响对哪些令牌进行采样:
- 温度采样 使要采样的标记上的概率分布变平或锐化。
- Top-k 采样 对具有最高概率的令牌进行采样,直到达到指定的令牌数为止。
- Top-p 采样 对具有最高概率评分的标记进行采样,直到评分总和达到指定的阈值为止。 (Top-p 采样也称为 核心采样。)
| 参数 | 支持的值 | 缺省值 | 使用 |
|---|---|---|---|
| 温度 | 范围为 0.0 (与贪婪解码相同) 到 2.0 (最大创造力) 的浮点数 | 0.7 | 更高的值导致更大的可变性 |
| 前 K 项 | 1 到 100 范围内的整数 | 50 | 更高的值导致更大的可变性 |
| 前P项 | 0.0 到 1.0 范围内的浮点数 | 1.0 | 除非您更改该值,否则不会使用此设置 |
温度、最高 K 值和最高 P 值设置在选择使用贪婪解码时不适用。
调整采样解码设置的示例
在此示例中,基础模型已生成输出文本 I took my dog ,现在模型正在选择下一个标记。
为了找到最佳选择,模型将计算可能标记上的离散概率分布。 通过此类型的分布,将为每个标记分配一个介于 0 和 1 之间的小数点概率分数,其中分数相加最多为 1。
在实际场景中,可能有数百个可能的令牌。 在此示例中,选项仅包含五个标记,在典型句子的上下文中显示了这些标记:
我带了我的狗 ...
- 表示 一次步行。
- 到 。
- 与 me。
- 和 我的猫在度假。
- 按 项圈。
Top K 和 Top P 表示用于选择要采样的令牌的两种不同方法。
这两种方法都以从最有可能到最不可能排序的选项开始。 下表按顺序列出了标记及其虚构概率评分。
| 令牌 | 概率得分 |
|---|---|
| 针对 | 0.4 |
| 至 | 0.25 |
| 包含 | 0.17 |
| 与 | 0.13 |
| 按 | 0.05 |
Top K 示例
Top K 指定要采样的令牌数。 例如,如果将 Top K 设置为 3 ,那么将仅对列表中的前三个标记进行采样: for, to以及 with。
Top P 示例
排名靠前的 P 指定令牌必须达到的累积概率分数阈值。
例如,如果将 Top P 设置为 0.6,那么将仅对前两个标记 for 和 to进行采样,因为它们的概率 (0.4 和 0.25) 合计为 0.65。 (如本示例所示,总和超过阈值是可以的。)
除非将 Top P 参数值设置为除缺省值 1 以外的值,否则不会使用 Top P。 将 Top P 和 Top K 一起使用可能是过滤掉概率得分极低的令牌的有用方法。 指定这两个参数时,将首先应用前 K 个参数。
例如,可以将 Top K 设置为 5 ,将 Top P 设置为 0.8。 排名靠前的 K 设置对所有 5 标记进行采样,然后排名靠前的 P 将采样标记限制为 (对于, 限制为, 使用 ) ,因为它们的概率达到概率得分阈值 0.8 (0.4 + 0.25 + 0.17 = 0.82)。
如果同时指定了这两个设置,那么当计算 Top P 时,低于 Top K 设置的分界值的任何标记都将被视为概率为零。 例如,如果 Top K 设置为 2 , Top P 设置为 0.8,那么仅对 为 和 到 进行采样。 未对标记 与 进行采样,因为 与, 和和 由 的概率评分重置为 0。
温度示例
温度设置会影响标记取样时使用的概率分布的形状。
低温会放大令牌之间的概率差异。 与不太可能使用的术语相比,更可能使用的术语的得分要高得多。 因此,可能会对与模型的训练数据或提示输入中的项相似的项进行采样。 当您想要更可靠的输出时,请使用更低的温度值。
高温会产生彼此更接近的标记概率。 因此,不寻常的术语更有可能被采样。 当您想要增加随机性和可变性或输出时 (如想要创造性输出时) ,请使用更高的温度值。 记住,随机性也会导致不准确或无意义的输出。
例如,应用高温值 (例如 2) 时,此示例中标记的概率分数可能彼此更接近,如表 3 中所示。
| 令牌 | 温度为 2 的评分 |
|---|---|
| 针对 | 0.3 |
| 至 | 0.25 |
| 包含 | 0.2 |
| 与 | 0.15 |
| 按 | 0.10 |
当 Top P 设置为0.8 时,温度对样本令牌的影响如下:
- 由于温度较高,前四个代币(for、to、with 和 and)的总分0.3+0.25+0.2+0.15= 90)为 90 分,因此会被采样。
- 如果温度较低,则只对前三个标记(对于"、"至"和 "与")进行采样,因为它们的得分(0.4" + "0.25+ "0.17= 82)总和为 82。
当使用较高的温度值时,需要更多的令牌才能达到 Top P 设置的阈值。
随机种子值
当您通过采样解码多次向模型提交同一提示时,该模型通常每次都会生成不同的文本。 这种可变性是在解码过程中内置的有意伪随机性的结果。
随机种子 是指用于启动随机数字生成器的数字,模型使用该生成器对其令牌选项进行随机化。 如果要从实验中除去此有意随机性作为变量,那么可以在每次运行实验时选取一个数字并指定相同的数字。
- 支持的值: 范围内的整数 1 到 4,294,967,295
- 缺省值: 自身随机生成
- 使用: 要生成可重复的结果,请每次设置相同的随机种子值。
重复处罚
如果为所选提示,模型和参数生成的输出始终包含重复文本,那么可以尝试添加 重复惩罚。 设置时,惩罚会降低最近使用的令牌的概率分数,以便模型不太可能重复这些令牌。 更高的价值会导致更多样化和多样化的输出。
- 支持的值:范围在1.0(无惩罚)至2.0(最大惩罚)之间的浮点数
- 默认值:1.0
- 使用:惩罚越高,结果中包含重复文本的可能性就越小。
停止标准
文本生成在模型认为输出完成,生成停止序列,达到最大令牌限制或达到模型生成时间限制后停止。
如果您在使用 API 提交推断请求时指定了时间限制,那么当达到生成请求的时间限制时,模型生成将停止。
您可以通过以下方式影响模型生成的输出的长度: 指定停止序列并设置 "最小标记数" 和 "最大标记数"。
停止序列
停止序列 是一个或多个字符的字符串。 如果指定了停止序列,那么在您指定的其中一个停止序列出现在生成的输出中之后,模型将自动停止生成输出。
例如,使模型仅在一个句子后停止生成输出的一种方法是将句点指定为停止序列。 这样,在模型生成第一个句子并以句点结束之后,输出生成将停止。
选择有效的停止序列取决于您的用例以及您期望生成的输出的性质。
支持的值:0 至 6 个字符串,每个字符串不超过 40 个字节
默认值:无停止序列
使用:请遵循以下使用停止序列的提示:
- 将忽略停止序列,直到生成 "最小令牌数" 参数中指定的令牌数为止。 在设置最小令牌参数值时,请记住这种关系。
- 如果您的提示中包含输入输出对的示例,请务必在示例中包含样本输出中的一个停止序列。
最小和最大新令牌数
如果模型的输出太短或太长,请尝试调整用于控制生成的令牌数的参数:
最小令牌数 参数控制生成的输出中的最小令牌数
最大令牌数 参数控制生成的输出中的最大令牌数
支持的值:输出中允许的最大标记数因模型而异。 有关更多信息,请参阅 支持的基础模型中的 最大令牌数 信息。
缺省值:
- 最小令牌数: 0
- 最大令牌数: 200
请使用:
- 最小令牌数必须小于或等于最大令牌数。
了解更多
母题: Prompt Lab