采样配置文件说明

板端运行时,需提供采样配置文件对模型输出的logits进行采样。 该配置文件位于部署包 oellm_runtime/configs/{model}_config 目录,文件名为 generation_config.json,内含使用的采样策略。

采样配置文件格式

generation_config.json 中可设置的参数如下:

generation_config.json
{ "do_sample": true, "temperature": 1.0, "top_k": 50, "top_p": 0.9, "typ_p": 0.9, "min_p": 0.1, "penalty_last_n": 32, "frequency_penalty": 0.3, "presence_penalty": 0.4, "repetition_penalty": 1.05, "min_keep": 1 }

以下是采样配置文件中各参数的具体说明:

参数名称参数类型参数说明
do_samplebool是否开启随机采样,不开启即采用 argmax。 取值范围:truefalse
temperaturefloat温度系数。取值范围:[0.0, 2.0],推荐设置范围:[0.6, 1.0]
top_kint保留概率最高的k个token进行采样,设置为1时相当于贪心采样。设置范围:[1, +∞),推荐设置范围:[20, 80]
top_pfloat累计概率采样阈值。取值范围:[0.0, 1.0],推荐设置范围:[0.85, 0.95]
typ_pfloat基于信息论的典型性阈值。取值范围:[0.0, 1.0],推荐设置范围:[0.90, 0.98]
min_pfloat最小概率阈值,过滤低概率token。取值范围:[0.0, 1.0],推荐设置范围:[0.05, 0.15]
penalty_last_nint惩罚窗口。取值范围:[0, 2048],推荐设置取值:3264128
frequency_penaltyfloat频率惩罚。取值范围:[0.0, 2.0],推荐设置范围:[0.1, 0.5]
presence_penaltyfloat存在惩罚。取值范围:[0.0, 2.0],推荐设置范围:[0.2, 0.6]
repetition_penaltyfloat重复惩罚。取值范围:[0.0, 2.0],推荐设置范围:[1.05, 1.2]
min_keepint至少保留的候选词数。取值范围:[1, +∞)
注意
  • 采样算法的执行顺序和采样参数的设置顺序相同,顺序不同会影响采样结果。
  • 采样配置文件中的参数可根据实际需求进行调整,以获得最佳的生成效果。
  • 不同模型可能对采样参数的敏感度不同,建议在调整参数时进行充分测试。