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