ChatGPT模型中的惩罚机制

本文涉及的产品
模型训练 PAI-DLC,5000CU*H 3个月
交互式建模 PAI-DSW,每月250计算时 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
简介: ChatGPT中,除了采样,还有惩罚机制也能控制文本生成的多样性和创意性。本文将详细为大家讲解ChatGPT种的两种惩罚机制,以及对应的`frequency_penalty `和`presence_penalty `参数。

ChatGPT模型中的惩罚机制

上一篇文章《ChatGPT模型采样算法详解》为大家详细介绍了对文本生成效果至关重要的2种采样方法,以及他们的控制参数temperaturetop_p的作用。ChatGPT中,除了采样,还有惩罚机制也能控制文本生成的多样性和创意性。本文将详细为大家讲解ChatGPT种的两种惩罚机制,以及对应的frequency_penaltypresence_penalty参数。

@[TOC]

概要

frequency_penalty - 频率惩罚

频率惩罚介于-2.0和2.0之间,它影响模型如何根据文本中词汇(token)的现有频率惩罚新词汇(token)

正值将通过惩罚已经频繁使用的词来降低模型一行中重复用词的可能性。

频率惩罚则与特定token的采样频率成比例地发挥作用;而存在惩罚是种一次性的附加效用,作用于至少采样一次的所有token。

为了稍微减少输出中的重复词语,惩罚系数的合理值通常约为0.1至1。

如果目标是显著抑制重复,系数可以增加到2,但这可能会对输出的质量产生负面影响。

相反,使用负值可以增加重复的可能性。

presence_penalty - 存在惩罚

存在惩罚介于-2.0和2.0之间,它影响模型如何根据到目前为止是否出现在文本中来惩罚新token。

正值将通过惩罚已经使用的词,增加模型谈论新主题的可能性

存在惩罚是种一次性的附加效用,作用于至少采样一次的所有token;而频率惩罚则与特定token的采样频率成比例地发挥作用。

通常,存在惩罚的默认值为0,当希望使用输入中的单词生成与输入提示一致的文本时,使用该值。

另一方面,如果希望模型不受输入限制,那么可以使用更大的存在惩罚,这将鼓励模型生成输入中不存在的新词,从而允许更多样化和创造性的输出。

频率惩罚对生成文本多样性和创意性的影响

频率惩罚参数控制GPT-3模型生成文本的“多样性”。通过该参数可以调节生成文本的似然度新颖度

GPT-3和其他语言模型一样,使用概率分布来预测给定提示的下一个词。频率惩罚参数修改该分布,使模型在其训练期间更频繁地看到的不同的词,从而鼓励模型生成新颖或不太常见的词。

实际工作中,频率惩罚作为缩放因子作用于模型预测的对数概率上,形式如下:

$$
(1 – frequency_penalty) * log_probability
$$

  • 当频率惩罚为0时,模型的行为不受影响;
  • 当频率惩罚为1时,训练过程中看到的任何词汇都不会用到,从而生成完全新颖的或随机的文本;
  • 当频率惩罚介于0和1之间时,模型会在熟悉词和新颖词之前取得平衡。

通常,频率惩罚的默认值为0,当你希望生成与模型训练时使用的文本类似的文本时使用该值。

另一方面,如果你希望模型生成更多样化和更少重复的文本,你可以使用更大频率惩罚,这将鼓励模型减少常用词的使用,并降低生成常见短语的可能性。

频率惩罚与存在惩罚的区别

这两个参数之间的主要区别在于它们修改模型预测概率分布的方式不同。

频率惩罚参数修改概率分布,以生成模型在训练过程中不常见的词。这鼓励模型生成新颖或不太常见的词。它的工作原理是缩放模型在训练过程中常见词的对数概率,从而降低模型生成这些常见词的可能性。

而存在惩罚参数修改概率分布,以使输入提示中出现的词不太可能出现在输出中。这鼓励模型生成输入中没有的词。它的工作原理是缩放输入中存在词的对数概率,使模型不太可能生成输入中已经存在的单词。

简单地说,频率惩罚控制模型输出用词的新颖性,而存在惩罚控制模型谈论新主题的可能性

总之,这两个参数都可以用于增加生成文本的多样性,并鼓励模型生成更多新颖或意外的词。但它们以不同的方式实现,并且取决于用例和具体要求,一个可能比另一个更有益,或者它们可以一起用于控制生成的文本多样性。

总结

采样+惩罚相辅相成,可以很好地控制ChatGPT生成文本的风格和质量。实际使用中大家可以根据自己的需求和期望输出文本的风格及质量,灵活地设定 temperaturetop_p,以及 frequency_penaltypresence_penalty。如果不知道这些参数设多少合适,可以参考Open AI官方给出的例子,里面对每种任务或场景都给出了建议的参数值。

目录
相关文章
|
6月前
|
机器学习/深度学习 人工智能 自然语言处理
2023年度AI盘点 AIGC|AGI|ChatGPT|人工智能大模型
2023年度AI盘点 AIGC|AGI|ChatGPT|人工智能大模型
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
【AI大模型】ChatGPT模型原理介绍(下)
【AI大模型】ChatGPT模型原理介绍(下)
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
【AI大模型】ChatGPT模型原理介绍(上)
【AI大模型】ChatGPT模型原理介绍(上)
|
3月前
|
人工智能 开发者 芯片
【51单片机】单片机开发者的福音: 让AI看电路图帮你编写程序(使用ChatGPT 中训练好的单片机工程师模型)
使用AI大语言模型编写 单片机程序. 使用的是 OpenAI公司发布的 ChatGPT .在ChatGPT上有别人训练好的 单片机工程师 with Keil uVision 5 - C Code Explainer模型, 可以上传电路图改模型可以通过这个用户所给的电路图进行编程.
245 0
【51单片机】单片机开发者的福音: 让AI看电路图帮你编写程序(使用ChatGPT 中训练好的单片机工程师模型)
|
2月前
|
存储 Linux API
物理地址模型 【ChatGPT】
物理地址模型 【ChatGPT】
|
2月前
|
Linux API 调度
设备的能量模型【ChatGPT】
设备的能量模型【ChatGPT】
|
2月前
|
Linux 程序员 编译器
将驱动程序移植到新的驱动模型 【ChatGPT】
将驱动程序移植到新的驱动模型 【ChatGPT】
|
2月前
|
设计模式 Linux
驱动模型 【ChatGPT】
驱动模型 【ChatGPT】
|
5月前
|
机器学习/深度学习 缓存 自然语言处理
采用ChatGPT大模型高效精准文档翻译
这款文档翻译工具支持PDF、Word、PPT、Excel和TXT等多种格式,利用ChatGPT大模型进行高效精准的翻译,覆盖30多种语言。它通过文档解析、预处理、翻译和结果合成步骤工作,并采用缓存、并行处理和负载均衡技术优化性能。该工具满足全球化背景下企业和个人的多语言需求,助力信息交流。
300 0
采用ChatGPT大模型高效精准文档翻译
|
5月前
|
人工智能 机器人 API
OpenAI发布新AI模型GPT-4o和桌面版ChatGPT
OpenAI发布新AI模型GPT-4o和桌面版ChatGPT

热门文章

最新文章