开发者社区 > ModelScope模型即服务 > 自然语言处理 > 正文

pipeline如何设置temperature、top_p参数?

pipeline如何设置temperature、top_p参数?

展开
收起
游客2catxvtax2a3q 2023-08-02 19:25:21 724 0
2 条回答
写回答
取消 提交回答
  • 我看过代码,在调用pipe(inputs)
    时,将参数写入inputs即可。目前支持这些参数:do_sample\temperature\max_length\num_beams\top_p\logits_processor

    举个例子,如果不用sample,想用greedy search:
    inputs = {'text':'请写一首五言绝句。', 'history': [], 'do_sample':False}
    print(pipe(inputs))

    这样生成的内容就每次一样了。

    建议模型提供方、平台方完善模型文档说明,尤其要说明设置参数这样的基本操作,提高ModelScope平台的易用性。

    2023-08-25 14:46:56
    赞同 1 展开评论 打赏
  • 北京阿里云ACE会长

    在使用pipeline时,可以通过设置temperature和top_p参数来控制生成文本的多样性和质量。下面是一些说明和示例代码:

    temperature参数
    temperature参数控制生成文本的多样性。较高的温度将导致更多的随机性和多样性,而较低的温度则会导致更少的随机性和更加准确的预测。

    以下是一个示例代码,使用较低的温度生成文本:

    python
    Copy
    from transformers import pipeline

    generator = pipeline('text-generation', model='gpt2')
    output = generator('The quick brown fox', temperature=0.5)

    print(output[0]['generated_text'])
    在上述代码中,temperature参数设为0.5,可以产生相对保守的预测结果。

    top_p参数
    top_p参数控制生成文本的质量。它表示生成文本中最有可能出现的token的累计概率,如果累计概率超过了top_p,则该token将被视为无效。较高的top_p将导致更准确的预测和更高的质量,而较低的top_p则会导致更多的随机性和更多的错误。

    以下是一个示例代码,使用较高的top_p生成文本:

    python
    Copy
    from transformers import pipeline

    generator = pipeline('text-generation', model='gpt2')
    output = generator('The quick brown fox', top_p=0.9)

    print(output[0]['generated_text'])
    在上述代码中,top_p参数设为0.9,可以产生相对高质量的预测结果。

    2023-08-03 23:19:57
    赞同 展开评论 打赏

包含命名实体识别、文本分类、分词、关系抽取、问答、推理、文本摘要、情感分析、机器翻译等多个领域

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载