赞
踩
tokens可以被认为是单词片段。在 API 处理提示之前,输入将分解为tokens。这些tokens并不是在单词开始或结束的地方被分割的——tokens可以包括尾随空格甚至子单词。以下是一些有用的经验法则,可用于了解tokens的长度:
如何计算上下文的tokens,可以考虑以下内容:
单词如何拆分为标记也取决于语言。例如,“Cómo estás”(西班牙语中的“How are you”)包含 5 个标记(10 个字符)。较高的令牌与字符比率可能会使为英语以外的语言实现 API 的成本更高。
要进一步探索标记化,您可以使用我们的交互式标记器工具,该工具允许您计算令牌的数量并查看文本如何分解为标记。或者,如果您想以编程方式标记文本,则可以探索库,例如 Python 的transformer包或 node.js 的 gpt-3-encoder 包。
根据所使用的模型,请求最多可以使用在提示和完成之间共享的 4097 个令牌。如果提示为 4000 个令牌,则最多可以是 97 个令牌。
限制目前是一个技术限制,但通常有创造性的方法来解决限制内的问题,例如压缩提示,将文本分解成更小的部分等。
API以不同的价格提供多种型号。每种型号都有一系列的功能,其中davinci是最有能力的,ada是最快的。对这些不同型号的请求定价不同。您可以在此处找到有关代币定价的详细信息。
API根据语料库数据中的上下文来处理单词。GPT-3接收提示,将输入转换为令牌列表,处理提示,并将预测的令牌转换回我们在响应中看到的单词。
在我们看来,可能是两个相同的单词,根据它们在文本中的结构,可能会生成不同的标记。考虑API如何根据文本中的上下文为单词“red”生成标记值:
在上面的第一个示例中,“red”的标记“2266”包含一个尾随空格。
“Red”的标记“2296”(带前导空格,以大写字母开头)与“red”小写字母的标记“2266”不同。
当在句子开头使用“Red”时,生成的标记不包含前导空格。标记“7738”与前两个单词示例不同
令牌的可能性/频率越高,分配给它的令牌编号越低:
既然我们知道标记可以包含尾随空格字符,那么记住以空格字符结尾的提示可能会导致输出质量降低。这是因为API已经在其令牌字典中包含了尾随空格。
可以在 logit_bias 参数中设置特定令牌的偏差,以修改指定令牌出现在完成中的可能性。例如,我们正在构建一个人工智能烘焙助手,它对用户的鸡蛋过敏很敏感。
当我们运行 API 时提示“香蕉面包的成分是”,响应将包括“鸡蛋”作为第二种成分,概率为 26.8%。
注意:要在 Playground 中查看完成概率,请从显示概率下拉列表中选择全谱。
由于我们的AI烘焙助手对鸡蛋过敏很敏感,我们可以使用我们的令牌知识在logit_bias参数中设置偏差,以阻止模型生成包含“鸡蛋”一词任何变体的响应。
首先,使用这个标记器工具来识别我们需要设置偏差的标记。
logit_bias参数接受范围在-100到+100之间的偏差值,极值导致相关令牌的禁止(-100)或排他选择(100)。
在提示中添加logit偏差将修改“egg”(及其变体)一词包含在香蕉面包提示响应中的可能性。上面的提示会生成一个不包含任何蛋的响应!
虽然我们不能保证它会产生最好的无蛋香蕉面包配方,但AI烘焙助手满足了它对用户鸡蛋过敏的要求。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。