揭秘大型语言模型:如何与其合作创造奇迹

有一天,当你在寻找解决方案来提升你的应用程序、创造新的创意或解决难题时,你听说了大型语言模型。这些强大的模型可以像魔法一样将文本转化为文本,只需提供一段文字输入,它们就会预测接下来应该出现的文本。你开始好奇,这些大型语言模型究竟是如何工作的,以及如何与它们合作来实现你的愿望?

开篇故事:探索大型语言模型的神奇世界

在一个创意迸发的夜晚,你坐在电脑前,试图找到一种方法来自动化你的写作工作。你曾听说过大型语言模型,知道它们有着无限的潜力,能够帮助你完成这一任务。但是,你也对这些模型的工作原理感到好奇。

突然,你决定深入研究这个问题。你开始阅读关于大型语言模型的文章,从中获得了一些关键信息。

大型语言模型是如何工作的?

大型语言模型本质上是一种函数,将文本映射到文本。它们通过学习大量文本数据,努力最小化预测错误,从而获得了各种有用的语言处理能力。这些能力包括拼写、语法、改写、回答问题、进行对话、多语言写作、编程等等。令人惊奇的是,所有这些能力都是在训练过程中逐渐学习而来的,而不是事先硬编码的。

例如,大型语言模型能够像一个拼写检查器一样纠正拼写错误,能够理解和生成自然语言,能够进行各种自然语言处理任务。这些能力的发展是通过大型数据集上的训练而实现的,模型通过不断尝试来提高自己的预测准确性,最终获得了这些有用的技能。

如何与大型语言模型合作

既然你对大型语言模型的工作原理有了一定了解,接下来让我们看看如何与这些模型合作,以实现你的目标。在与大型语言模型合作时,其中最重要的输入是文本提示。

控制大型语言模型的关键:文本提示

大型语言模型的输出受到文本提示的极大影响。你可以通过以下几种方式来引导大型语言模型生成你想要的输出:

1. 指令提示

一种常见的方式是使用指令提示。某些模型特别设计用于遵循指令,你只需在提示的顶部(或底部,或两者都有)写下你的指令,模型会尽力遵循这些指令并生成相应的输出。指令可以非常详细,所以你可以写一个详细的段落来明确描述你想要的输出。

示例指令提示:

"从以下引语中提取作者的名字。

‘有些人理论认为,智能物种在扩展到外太空之前就会灭绝。如果他们是正确的,那么夜空的寂静就是坟墓的寂静。’
― Ted Chiang,《呼气》"

输出:

Ted Chiang

2. 完成提示

完成式提示充分利用了大型语言模型试图生成最可能出现的文本的特点。你可以开始一个模式或句子,以引导模型生成你想要的输出。相对于指令提示,这种方式可能需要更多的关心和实验,因为模型不一定知道在哪里停止生成文本,所以你通常需要使用停止序列或后处理来截断生成的文本,以保持所需的输出。

示例完成提示:

“有些人理论认为,智能物种在扩展到外太空之前就会灭绝。如果他们是正确的,那么夜空的寂静就是坟墓的寂静。”
― Ted Chiang,《呼气》

这个引语的作者是谁?
输出:

Ted Chiang

3. 演示提示(少样本学习)

演示提示是另一种方式,你可以在其中向模型展示你想要它执行的任务。这种方法有时被称为少样本学习,因为模型只需从提示中提供的少数示例中学习。你可以在提示中展示一些示例,让模型明白你的意图。

示例演示提示:

引用:
“当推理思维被迫一次又一次地面对不可能的事情时,它别无选择,只能适应。”
― N.K. Jemisin,《第五季》
作者:N.K. Jemisin

引用:
“有些人理论认为,智能物种在扩展到外太空之前就会灭绝。如果他们是正确的,那么夜空的寂静就是坟墓的寂静。”
― Ted Chiang,《呼气》
作者:

输出:

Ted Chiang

4.

微调提示

通过提供足够的训练示例,你可以微调一个定制模型。在这种情况下,指令变得不再必要,因为模型可以从提供的训练数据中学习任务。然而,你仍可以使用分隔符序列(例如->或###或任何不常出现在你的输入中的字符串)来告诉模型何时停止生成提示文本并开始生成输出。这有助于确保模型不会继续详细解释输入文本,而是开始生成你想要看到的答案。

示例微调提示(针对已经在类似提示完成对中进行了自定义训练的模型):

“有些人理论认为,智能物种在扩展到外太空之前就会灭绝。如果他们是正确的,那么夜空的寂静就是坟墓的寂静。”
― Ted Chiang,《呼气》

输出:

Ted Chiang

大型语言模型的代码能力

除了处理文本外,大型语言模型还可以擅长处理代码。OpenAI的专业代码模型被称为Codex。

Codex驱动了70多种产品,包括:

  • GitHub Copilot(在VS Code和其他IDE中自动补全代码)
  • Pygma(将Figma设计转化为代码)
  • Replit(具有“解释代码”按钮和其他功能)
  • Warp(智能终端,具备AI命令搜索功能)
  • Machinet(编写Java单元测试模板)

请注意,与遵循指令的文本模型不同,Codex并没有专门训练来遵循指令,因此设计良好的提示可能需要更多的关注。

更多提示建议

在与大型语言模型合作时,输入提示是提高模型输出质量的关键。你可以尝试一些技巧来改进模型的输出:

  • 提供更明确的指令。例如,如果你想要生成一个逗号分隔的列表,可以要求它返回一个逗号分隔的列表。如果你希望它在不知道答案时说“我不知道”,可以告诉它,“如果你不知道答案,请说‘我不知道’”。
  • 提供更好的示例。如果在提示中演示示例,请确保示例多样化且高质量。
  • 要求模型像专家一样回答。明确要求模型产生高质量的输出或像专家写的输出,可以促使模型提供更高质量的答案。
  • 引导模型写下解释其推理过程的步骤。在最终答案之前,要求模型提供其推理过程的解释步骤,这可以增加最终答案的一致性和正确性。

结语

大型语言模型为我们提供了强大的工具,可以应用于各种领域,从文本处理到代码生成。通过本文,你已经了解了这些模型的工作原理以及如何与它们合作来实现你的目标。希望这篇文章能帮助你更好地利用大型语言模型,创造出更多令人印象深刻的作品和解决方案。

如果你有任何问题或需要更多帮助,不要犹豫,随时向OpenAI社区或文档寻求支持。祝愿你在与大型语言模型的合作中取得巨大成功!

声明:本站所有文章,如无特殊说明或标注,均为本站(王大神)原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
指数词

Windows环境变量:深度解析与高效管理

2023-9-13 1:12:46

指数词

打造个性化声音转换工具 - Retrieval-based Voice Conversion WebUI

2023-9-13 1:24:48

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索