如何使用大型语言模型
大型语言模型是一种能够将文本映射到文本的函数,通过最小化大量文本的预测误差来学习语言的概念,从而实现自然语言处理。大型语言模型支持数百种软件产品,包括生产力应用程序、教育应用程序、游戏等。本文介绍了大型语言模型的工作原理以及如何通过指令提示、完成和演示来控制大型语言模型生成输出。
大型语言模型的工作原理
大型语言模型是将文本映射到文本的函数。给定文本的输入字符串,大型语言模型会预测接下来应该出现的文本。
大型语言模型的魔力在于,通过训练以最小化大量文本的预测误差,模型最终学习了对这些预测有用的概念。例如,他们学习:
- 如何拼写
- 语法如何工作
- 如何解释
- 如何回答问题
- 如何进行对话
- 如何用多种语言写作
- 如何编码
- 等。
这些功能都没有明确编程 – 它们都是训练的结果。
GPT-3 为数百种软件产品提供支持,包括生产力应用程序、教育应用程序、游戏等。
如何控制大型语言模型
在大型语言模型的所有输入中,到目前为止,最有影响力的是文本提示。
可以通过以下几种方式提示大型语言模型生成输出:
- 说明:告诉模型你想要什么
- 完成:诱导模型完成你想要的开始
- 演示:向模型显示所需的内容,使用以下任一方法:
- 提示中的几个示例
- 微调训练数据集中的数百或数千个示例
下面显示了每个示例。
指令提示
指令遵循模型(例如,或任何以 开头的模型)专门设计用于遵循指令。在提示符的顶部(或底部,或两者)编写指令,模型将尽最大努力遵循指令,然后停止。说明可以很详细,所以不要害怕写一个段落,明确详细说明你想要的输出。text-davinci-003
text-
示例指令提示:
从下面的引文中提取作者姓名。 "一些人认为,智能物种在能够扩展到外太空之前就已经灭绝了。 如果他们是正确的,那么夜空的寂静就是墓地的寂静。" ——Ted Chiang,《呼气》
输出:
Ted Chiang
完成提示示例
完成样式提示利用大型语言模型尝试编写他们认为最有可能出现的文本的方式。要引导模型,请尝试开始一个模式或句子,该模式或句子将由您想要看到的输出完成。相对于直接指令,这种控制大型语言模型的模式可以更加小心和实验。此外,模型不一定知道在哪里停止,因此您通常需要停止序列或后处理来剪切超出所需输出的文本。
示例完成提示:
"一些人认为,智能物种在能够扩展到外太空之前就已经灭绝了。 如果他们是正确的,那么夜空的寂静就是墓地的寂静。" ——Ted Chiang,《呼气》 这句话的作者是
输出:
Ted Chiang
演示提示示例(少数镜头学习)
与完成样式提示类似,演示可以向模型显示您希望它执行的操作。这种方法有时称为少样本学习,因为模型从提示中提供的几个示例中学习。
演示提示示例:
引用: "当推理思维被迫一次又一次地面对不可能的事情时,它别无选择,只能适应。" ― N.K. 杰米辛第五季 作者:N.K. 杰米辛 引用: "一些人认为,智能物种在能够扩展到外太空之前就已经灭绝了。 如果他们是正确的,那么夜空的寂静就是墓地的寂静。" ——Ted Chiang,《呼气》 作者:
输出:
Ted Chiang
微调提示示例
有了足够的训练示例,就可以微调自定义模型。在这种情况下,指令变得没有必要,因为模型可以从提供的训练数据中学习任务。但是,包含分隔符序列(例如,或输入中通常不会出现的任何字符串)可能会有所帮助,以告知模型提示何时结束并且输出应开始。如果没有分隔符序列,则存在模型继续详细说明输入文本而不是从您想要看到的答案开始的风险。->###
微调提示示例(对于已在类似提示完成对上自定义训练的模型):
"一些人认为,智能物种在能够扩展到外太空之前就已经灭绝了。 如果他们是正确的,那么夜空的寂静就是墓地的寂静。" ——Ted Chiang,《呼气》 ###
输出:
Ted Chiang
代码功能
大型语言模型不仅擅长文本,而且擅长代码。OpenAI的专用代码模型称为Codex。
Codex为70多种产品提供支持,包括:
- GitHub Copilot(在VS Code和其他IDE中自动完成代码)
- 侏儒(将 Figma 设计转化为代码)
- Replit(具有“解释代码”按钮和其他功能)
- Warp(具有AI命令搜索功能的智能终端)
- Machinet (编写 Java 单元测试模板)
请注意,与遵循指令的文本模型(例如,)不同,Codex 没有经过训练来遵循指令。因此,设计好的提示可以更加小心。text-davinci-002
更及时的建议
有关更多提示示例,请访问 OpenAI 示例。
通常,输入提示是改进模型输出的最佳杠杆。您可以尝试以下技巧:
- 给出更明确的说明。例如,如果您希望输出是逗号分隔的列表,请要求它返回逗号分隔的列表。如果你想让它在不知道答案的时候说“我不知道”,如果你不知道答案,就告诉它“我不知道”。
- 提供更好的示例。如果您在提示中演示示例,请确保您的示例多样化且高质量。
- 让模特像专家一样回答。明确要求模型产生高质量的输出或输出,就好像它是由专家编写的一样,可以诱导模型给出它认为专家会写的更高质量的答案。例如,“以下答案是正确的,高质量的,并且由专家撰写。
- 提示模型写下解释其推理的一系列步骤。例如,在回答之前加上“让我们一步一步地思考”。提示模型在最终答案之前解释其推理可以增加其最终答案一致且正确的可能性。
可以出一些写代码的吗