ChatGPT模型中的惩罚机制

简介: 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官方给出的例子,里面对每种任务或场景都给出了建议的参数值。

目录
相关文章
|
10月前
|
存储 人工智能 关系型数据库
HiveChat:告别模型选择困难!开源ChatGPT聚合神器上线:一键切换10+模型,权限管控全免费
HiveChat 是一款专为中小团队设计的开源 AI 聊天应用,支持多种主流 AI 模型,提供高效的团队沟通和智能辅助功能。
395 9
HiveChat:告别模型选择困难!开源ChatGPT聚合神器上线:一键切换10+模型,权限管控全免费
|
10月前
|
人工智能 自动驾驶 数据可视化
D1net阅闻 | ChatGPT支持所有用户使用搜索功能之时,谷歌也开放了最强模型
D1net阅闻 | ChatGPT支持所有用户使用搜索功能之时,谷歌也开放了最强模型
|
12月前
|
人工智能 自然语言处理 机器人
OpenAI推出具有图像上传和分析功能的完整o1模型,并首次推出ChatGPT Pro
OpenAI推出具有图像上传和分析功能的完整o1模型,并首次推出ChatGPT Pro
|
人工智能 搜索推荐 机器人
OpenAI 将向企业开放 GPT-4o 模型定制版,国内怎么使用ChatGPT?
OpenAI新推功能让企业客户能定制GPT-4o模型,通过微调技术满足特定需求和业务场景,以前所未有的方式优化AI投资回报。企业上传自有数据后,可在一到两小时内完成模型定制,如滑板公司打造专业客服聊天机器人解答详细问题,大幅提升服务针对性与客户体验。目前定制限于文本数据,但仍显著增强了企业应用AI的灵活性与效率。
379 2
OpenAI 将向企业开放 GPT-4o 模型定制版,国内怎么使用ChatGPT?
|
存储 Linux API
物理地址模型 【ChatGPT】
物理地址模型 【ChatGPT】
|
Linux 程序员 编译器
将驱动程序移植到新的驱动模型 【ChatGPT】
将驱动程序移植到新的驱动模型 【ChatGPT】
|
机器学习/深度学习 人工智能 自然语言处理
【AI大模型】ChatGPT模型原理介绍(下)
【AI大模型】ChatGPT模型原理介绍(下)
|
机器学习/深度学习 人工智能 自然语言处理
【AI大模型】ChatGPT模型原理介绍(上)
【AI大模型】ChatGPT模型原理介绍(上)
|
人工智能 开发者 芯片
【51单片机】单片机开发者的福音: 让AI看电路图帮你编写程序(使用ChatGPT 中训练好的单片机工程师模型)
使用AI大语言模型编写 单片机程序. 使用的是 OpenAI公司发布的 ChatGPT .在ChatGPT上有别人训练好的 单片机工程师 with Keil uVision 5 - C Code Explainer模型, 可以上传电路图改模型可以通过这个用户所给的电路图进行编程.
3291 0
【51单片机】单片机开发者的福音: 让AI看电路图帮你编写程序(使用ChatGPT 中训练好的单片机工程师模型)
|
Linux API 调度
设备的能量模型【ChatGPT】
设备的能量模型【ChatGPT】