

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 利用推理参数影响响应生成
<a name="inference-parameters"></a>

运行模型推理时，您可以调整推理参数以影响模型响应。推理参数可以更改模型在生成过程中考虑的可能输出池，也可以限制最终响应。

推理参数的默认值和范围取决于模型。要了解不同模型的推理参数，请参阅[基础模型的推理请求参数和响应字段](model-parameters.md)。

以下类别的参数是不同模型中的常见参数：

**Topics**
+ [随机性和多样性](#inference-randomness)
+ [长度](#inference-length)

## 随机性和多样性
<a name="inference-randomness"></a>

对于任何给定序列，模型都能确定序列中下一个词元选项的概率分布。为了生成输出中的每个词元，模型会从该分布中采样。随机性和多样性是指模型响应中的变体数量。您可以通过限制或调整分布来控制这些因素。基础模型通常支持使用以下参数控制响应的随机性和多样性。
+ **温度** – 影响预测输出的概率分布形状，还会影响模型选择概率较低输出的可能性。
  + 选择较低的值可影响模型选择概率较高的输出。
  + 选择较高的值可影响模型选择概率较低的输出。

  从技术角度来说，温度可调节下一个词元的概率质量函数。温度越低，函数曲线越陡，响应的确定性越高；温度越高，函数曲线越平，响应的随机性越高。
+ **排名前 K** – 模型为下一个词元考虑的最有可能的候选项数量。
  + 选择较低的值可减小池的大小，并将选项限制为可能性更高的输出。
  + 选择较高的值以增加池的大小，并允许模型考虑不太可能的输出。

  例如，如果为“排名前 K”选择的值是 50，则模型会从 50 个最有可能作为序列中下一个词元的词元中进行选择。
+ **排名前 P** – 模型为下一个词元考虑的最有可能的候选项所占百分比。
  + 选择较低的值可减小池的大小，并将选项限制为可能性更高的输出。
  + 选择较高的值以增加池的大小，并允许模型考虑不太可能的输出。

  从技术角度来说，模型会计算一组响应的累积概率分布，并且只考虑分布中的排名前 P%。

  例如，如果为“排名前 P”选择的值是 0.8，则模型会从可能作为序列中下一个词元的词元概率分布的前 80% 中进行选择。

下表总结了这些参数的作用。


****  

| 参数 | 较低值的作用 | 较高值的作用 | 
| --- | --- | --- | 
| 温度 | 增加概率较高词元的可能性 降低概率较低词元的可能性 | 增加概率较低词元的可能性降低概率较高词元的可能性 | 
| 排名前 K | 移除概率较低的词元 | 允许概率较低的词元 | 
| 排名前 P | 移除概率较低的词元 | 允许概率较低的词元 | 

为了方便理解这些参数，我们以 **I hear the hoof beats of "** 这个示例提示为例来解释一下。假设模型确定以下三个字词作为下一个词元的候选项。模型还为每个字词分配一个概率。

```
{
    "horses": 0.7,
    "zebras": 0.2,
    "unicorns": 0.1
}
```
+ 如果设置较高的**温度**，概率分布会变平，概率差异会变小，从而增加选择“unicorns”的概率，降低选择“horses”的概率。
+ 如果将**排名前 K** 设置为 2，模型只会考虑最有可能的前 2 个候选项，即：“horses”和“zebras”。
+ 如果将**排名前 P** 设置为 0.7，模型只会考虑“horses”，因为只有它是位于概率分布前 70% 的候选项。如果将**排名前 P** 设置为 0.9，则模型会考虑“horses”和“zebras”，因为它们位于概率分布的前 90%。

## 长度
<a name="inference-length"></a>

基础模型通常支持使用参数限制响应的长度。下面提供了这些参数的示例。
+ **响应长度** – 一个精确的值，用于指定要在生成的响应中返回的词元数量下限或上限。
+ **惩罚** – 用于指定对响应中的输出进行惩罚的程度。示例包括以下内容。
  + 响应的长度。
  + 响应中的重复词元。
  + 词元在响应中的出现频率。
  + 响应中的词元类型。
+ **停止序列** – 用于指定可阻止模型生成更多词元的字符序列。如果模型生成了您指定的停止序列，则将在该序列之后停止生成。