本笔记演示了在Chat Completions
API中使用logprobs
参数的方法。当启用logprobs
时,API会返回每个输出token的对数概率,以及在每个token位置上最可能的有限数量的token及其对数概率。相关的请求参数包括:
*
logprobs
:是否返回输出token的对数概率。如果为true,则返回消息内容中每个输出token的对数概率。目前在gpt-4-vision-preview
模型上不可用。
*
top_logprobs
:一个介于0和5之间的整数,指定要在每个token位置返回的最可能token的数量,每个token都有一个关联的对数概率。如果使用该参数,logprobs
必须设置为true。
输出token的对数概率表示在给定上下文的情况下每个token出现在序列中的可能性。简单来说,对数概率是log(p)
,其中p
根据上下文中的先前token在特定位置出现的token的概率。关于logprobs
的一些关键点:
*
较高的对数概率表明在该上下文中该token的可能性较高。这使用户可以 评估模型对其输出的信心或探索模型考虑的替代响应。
* 对数概率可以是任何负数或0.0
。0.0
对应于100%的概率。 *
对数概率使我们能够计算序列的联合概率,作为各个token的对数概率之和。这对于评分和排名模型输出很有用。另一种常见的方法是取句子的每个token的平均对数概率来选择最佳生成。
*
我们可以检查分配给不同候选token的logprobs
,以了解模型考虑的哪些选项是可信的或不可信的。
虽然logprobs
有各种用例,但本笔记将重点介绍其用于以下方面:
- 分类任务
- 大型语言模型在许多分类任务上表现出色,但准确衡量模型对其输出的信心可能具有挑战性。
logprobs
为每个类别预测提供了一个概率,使用户能够设置自己的分类或置信阈值。
- 检索(问答)评估
logprobs
可以帮助在检索应用中进行自我评估。在问答示例中,模型输出一个虚构的has_sufficient_context_for_answer
布尔值,可以作为答案是否包含在检索内容中的置信度分数。这种类型的评估可以减少基于检索的幻觉,并提高准确性。
- 自动完成
logprobs
可以帮助我们决定在用户输入时如何建议单词。
- Token高亮显示和输出字节
- 用户可以轻松地使用启用
logprobs
时附带的内置标记化创建一个标记高亮器。此外,字节参数包括每个输出字符的ASCII编码,这对于再现表情符号和特殊字符特别有用。
- 计算困惑度
logprobs
可用于帮助我们评估模型对结果的整体信心,并帮助我们比较来自不同提示的结果的置信度。