下载
中文
注册

说明

在当前版本中,用户可以在服务化配置中配置ModelConfig参数说明对应的后处理参数默认值。若用户没有指定相关配置,则后处理参数的默认值将会从模型权重目录下的配置文件中读取。不同后端的配置文件不同:

  • atb(ATB Models):配置文件为generation_config.json文件与config.json文件,其中generation_config.json的优先级更高。若用户与模型权重均未指定“top_k”参数,为平衡性能与推理效果,“top_k”参数将会被设定为1000。
  • ms(MindSpore):配置文件为“.yaml”结尾的文件。若用户与模型权重均未指定“top_k”参数,“top_k”参数将会被设定为0。
  • 上述规则可能会导致当前版本与1.0.RC2版本的推理结果不一致,但当前版本的结果会更加符合人类语言习惯。如需复现1.0.RC2版本的推理结果,需要指定后处理参数和上个版本Server提供的默认值一致,1.0.RC2版本的Server提供的默认值请参见表1
  • 当前版本暂不支持通过修改generation_config.json文件中的“do_sample”参数为True来控制服务端默认开启采样。
  • 不可在generation_config.json文件中将“temperature”设为0,否则将导致推理结果异常。
表1 1.0.RC2版本的Server提供的默认值

参数

默认值

temperature

1.0

top_k

0

top_p

1.0

do_sample

False

repetition_penalty

1.0

frequency_penalty

0.0

presence_penalty

0.0

采样规则

  • vLLM接口和OpenAI接口不支持do_sample,传递的do_sample不会被校验。
  • 若用户传递do_sample=true,则程序会开启采样。
  • 若用户传递do_sample=false,则程序会关闭采样,进行greedy search。
  • 若用户未传递do_sample,则程序会根据temperature、top_k、top_p参数进行自动判断。自动判断的逻辑如下:
    • temperature=0时,无视top_k、top_p取值,关闭后处理,进行greedy search。
    • 若传递了top_k、top_p、或非0的temperature中的任一参数,则开启后处理采样,未传递的参数将按上文规则读取默认值填充。
    • 若未传递任何参数,则进行greedy search。