龙空技术网

ChatGPT强大的自动生成文本的能力 - 它是怎么做到的?

ChatGPT扫地僧 178

前言:

今天兄弟们对“语句生成概率算法实现”可能比较关注,同学们都需要分析一些“语句生成概率算法实现”的相关内容。那么小编也在网摘上网罗了一些关于“语句生成概率算法实现””的相关文章,希望你们能喜欢,姐妹们快快来学习一下吧!

It’s Just Adding One Word at a Time. (它只是一次增加一个单词。)

ChatGPT可以自动生成一些表面上看起来像人类书写文本的内容,这是非常了不起的,也很出乎意料。但是它是怎么做到的?为什么它会有效?

首先,ChatGPT一直在从根本上尝试做的是:为已有文本生成一个“合理的延续”

这里的“合理”,指的是在浏览了数十亿网页等内容之后,人们可能预期某人会继续写下的内容(即基于已有的内容,续写后续的内容)。

假设我们有这样一段文本:“The best thing about AI is its ability to”。想象一下,通过浏览数十亿页由人类编写的文本(比如网络和数字化图书中的文本),找到所有出现这段文本的情况,然后观察接下来出现的单词及其出现的频率。

ChatGPT 实际上就是在做类似的事情,只不过它并不是直接查看原始的文本;而是寻找某种意义上“意义相匹配”的内容。最终,它会生成一个可能接下来出现的单词的排序列表,以及对应的概率。

上面的表格,是句子“The best thing about AI is its ability to”的下一个单词可能出现的5种情况及相应的概率。

值得注意的是,当ChatGPT执行类似写文章这样的任务时,它实质上是在不断地问: “根据目前的文本,下一个单词应该是什么?”,然后每次都添加一个单词(可能只是单词的一部分)

如果ChatGPT总是选择排名最高的单词(出现概率最高),文章通常会显得平淡且缺乏创造力。然而,当我们随机地选择排名较低的单词时,文章会变得“更有趣”。由于这里存在随机性,多次使用相同的提示(prompt),可能会产生不同的文章。

在实际应用中,通常会提供一个称为温度(temperature)的参数,用于确定使用排名较低单词的频率。

OpenAI官方关于temperature的描述

What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.

Setting temperature to 0 will make the outputs mostly deterministic, but a small amount of variability may remain.

You can lower the temperature setting to keep the API more focused on the intent of the prompt or increase it to let it go off on a tangent.

翻译过来就是:

temperature的取值范围在0到2之间。如果设置较高的值(如 0.8),将使输出的内容更加随机;而如果设置较低的值(如 0.2),将使输出的内容更加聚焦和确定。将温度设置为 0 将使输出的内容大部分具有确定性,但可能会保留少量的可变性(随机性)。可以降低对温度设置,以使 API 更专注于提示(prompt)对应的意图,或者提高温度设置以使其偏离正题。

简单理解:

温度越高,输出的内容越随机,创造力更好;温度越低,输出的内容越确定,更加聚焦主题和意图。

参考

标签: #语句生成概率算法实现