输入“/”快速插入内容

Cookbook:OpenAI 中文精读

译者:万能的小七姐(B站同名)
《提升可靠性的技术》
当 GPT 在任务中失败时,应该怎么办?
寻找一个更好的提示词,引出更可靠的答案?
投入数千个实例来微调自定义模型?
假设模型无法完成任务,然后继续进行其他工作?
回答并不唯一 —— 这取决于具体情况。不过,如果您的任务涉及逻辑推理或复杂性,请考虑尝试本文中的技巧,以建立更可靠、更高效的提示词。
GPT-3 为何无法完成复杂任务
如果让你用 13 乘以 17,你会立即想到答案吗?对我们大多数人来说,可能不会。然而,这并不意味着人类无法计算两位数乘法。只要几秒钟,再加上纸笔,就能算出 13 x 17 = 130 + 70 + 21 = 221。
同样,如果你给 GPT-3 一项过于复杂的任务,而它又无法在计算下一个标记的时间内完成,那么它可能会做出错误的猜测。然而,与人类类似,这并不一定意味着模型无法完成任务。只要给模型一些时间和空间来推理,它还是有可能做出可靠的回答。
举例来说,如果你向 text-davinci-002 提出以下有关杂耍球的数学问题,它的答案是错误的:
问:一个变戏法的人有 16 个球。其中一半是高尔夫球,一半是蓝色的高尔夫球。有多少个蓝色高尔夫球?
A:有 8 个蓝色高尔夫球。
这是否意味着 GPT-3 不能做简单的数学题?不;事实上,事实证明,只要用让我们一步一步地思考来提示模型,模型就能可靠地解决问题:
问:一个变戏法的人有 16 个球。其中一半是高尔夫球,一半是蓝色的高尔夫球。一共有多少个蓝色高尔夫球?
答:让我们一步一步思考。
共有 16 个球。
其中一半是高尔夫球。
也就是说,一共有 8 个高尔夫球。
一半的高尔夫球是蓝色的
也就是说,有 4 个蓝色高尔夫球。
当然,仅凭一个例子,我们很难判断 "让我们一步步思考 "这一招在一般情况下是否真的有效,或者只是在这个特殊问题上运气好而已。但它确实有效。在单词数学问题的基准测试中,"让我们一步一步想 "的技巧大大提高了 GPT-3 的解题率,从毫无价值的 18% 提高到了不错的 79%!
模型能力取决于环境
在学习使用 GPT-3 时,一个常见的概念性错误是认为 GPT-3 的能力在所有情况下都是固定不变的。例如,如果 GPT-3 做错了一道简单的逻辑题,那么它就一定不会做简单的逻辑题。
但正如 "让我们一步步思考 "的例子所说明的,GPT-3 的明显故障有时可以通过一个更好的提示词来弥补,帮助模型引导自己走向正确的输出。
如何提高复杂任务的可靠性
本文其余部分将分享在复杂任务中提高大型语言模型可靠性的技术。虽然有些技术是针对某些特定类型的问题,但其中许多技术都是建立在一般原则基础上的,可以应用于广泛的任务,例如:
给出更明确的指示
将复杂任务拆分成更简单的子任务
调整教学结构,使模型始终处于任务状态
在回答前提示词模型进行解释
要求对许多可能的答案进行解释,然后综合起来
生成许多输出,然后使用模型挑选最佳输出
微调自定义模型,最大限度地提高性能