位置: IT常识 - 正文

【GPT-3】第2章 使用 OpenAI API(gpt3 transformer)

编辑:rootadmin
【GPT-3】第2章 使用 OpenAI API

推荐整理分享【GPT-3】第2章 使用 OpenAI API(gpt3 transformer),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:gpt-3的功能,gpt-3 概念,gpt gpt2,gpt-3 概念,gpt-3模型,gpt-2模型,gpt - 3,gpt-3百度百科,内容如对您有帮助,希望把文章链接给更多的朋友!

尽管 GPT-3 是世界上最复杂和最复杂的语言模型,但它的功能被抽象为最终用户的简单“文本输入、文本输出”界面。本章将帮助你开始使用 Playground 接口,并介绍 OpenAI API 的技术细微差别,因为细节总是能揭示真正的瑰宝。

要完成本章,您需要注册一个OpenAI 帐户位于OpenAI API。如果您还没有这样做,请现在就这样做。

在 OpenAI Playground 中导航

您的OpenAI 开发者帐户提供对 API 的访问和无限可能。我们将从 Playground 开始,这是一个基于 Web 的沙盒环境,可让您试验 API、了解其组件的工作原理以及访问开发人员文档和 OpenAI 社区。然后,我们将向您展示如何构建强大的提示,为您的应用程序生成有利的响应。我们将以 GPT-3 执行四项 NLP 任务的示例结束本章:分类、命名实体识别 (NER)、摘要和文本生成。

在接受采访时OpenAI 产品和合作伙伴关系副总裁 Peter Welinder 向我们征求了有关为初次使用的用户导航 Playground 的关键建议。他告诉我们他的建议取决于用户的角色。如果用户有机器学习背景,Peter 鼓励他们“从忘记他们已经知道的事情开始,然后去 Playground 尝试让 GPT-3 做你想要做的事情,只需询问它。” 他建议用户“将 GPT-3 想象成您要求做某事的朋友或同事。您如何描述您希望他们完成的任务?然后,看看 GPT-3 是如何响应的。如果它没有以您想要的方式响应,请重复您的指示。”

作为 YouTuber 和 NLP 影响者 Bakz Awan说,“非技术人员会问:我需要学位才能使用它吗?我需要知道如何编码才能使用它吗?绝对不。您可以使用游乐场。你不需要写一行代码。您将立即获得结果。任何人都可以做到这一点。”

笔记

在开始使用 Playground 之前,我们建议您阅读 OpenAI 的快速入门教程指南和开发者文档。

以下是开始使用 Playground 的步骤:

在https://openai.com登录并从主菜单导航到 Playground。

看看 Playground 屏幕(图 2-1)。

标记为 1 的大文本框是您提供文本输入(提示)的地方。

右侧标记为 2 的框是参数设置窗格,您可以在其中调整参数。

标有 3 的框允许您加载预设:示例提示和 Playground 设置。提供您自己的训练提示或加载现有预设。

图 2-1。Playground界面,2022年1月10日截图

选择现有的问答预设(标记为 3)。这将自动加载训练提示以及相关的参数设置。单击 Generate 按钮(在图 2-1中标记为 4 )。

API 处理您的输入并提供响应(称为完成)在同一文本框中。它还向您显示使用的令牌数量。令牌是用于确定每个 API 调用定价的单词的数字表示;我们将在本章后面讨论它们。

在右侧屏幕底部,您将看到令牌计数,在左侧您有一个 Generate 按钮(见图 2-2)。

图 2-2。问答提示完成以及令牌计数

每次单击“生成”按钮时,GPT-3 都会考虑文本输入字段中的提示和完成,并将它们视为下一次完成的训练提示的一部分。

这是您可以在图 2-2中看到的提示:

I am a highly intelligent question answering bot. If you ask me a question thatis rooted in truth, I will give you the answer. If you ask me a question that isnonsense, trickery, or has no clear answer, I will respond with "Unknown".Q: What is human life expectancy in the United States?A: Human life expectancy in the United States is 78 years.Q: Who was president of the United States in 1955?A: Dwight D. Eisenhower was president of the United States in 1955.Q: Which party did he belong to?A: He belonged to the Republican Party.Q: What is the square root of banana?A: UnknownQ: How does a telescope work?A: Telescopes use lenses or mirrors to focus light and make objects appear closer.Q: Where were the 1992 Olympics held?

这是完成:

A: The 1992 Olympics were held in Barcelona, Spain.

现在您已经了解了 Playground 的基本轮廓,让我们深入了解即时工程和设计。

快速工程和设计

这OpenAI API 从根本上改变了我们与 AI 模型交互的方式,剥离了一层又一层复杂的编程语言和框架。安德烈·卡帕蒂,特斯拉的 AI 总监,在 GPT-3 发布后就开玩笑说,编程 3.0 就是关于即时设计的(他在推特上发布的 meme 在图 2-3中)。您提供的培训提示与您获得的完成质量之间存在直接关系。单词的结构和排列会严重影响输出。了解提示设计是释放 GPT-3 真正潜力的关键。

编写好的提示的秘诀是了解 GPT-3 对世界的了解。作为Awan 指出,“它只看到了文字。这意味着你不应该期望它知道物理世界,即使它显然知道。它可以描述蒙娜丽莎,[可以]告诉你[关于]它的意义、重要性和历史,但它从未见过[这幅画],因为它只接受了文字训练。”

你的工作是让模型使用它已经拥有的信息来产生有用的结果。在字谜游戏中,表演者向其他玩家提供足够的信息来找出秘密单词。同样,使用 GPT-3,我们为模型提供了足够的上下文(以训练提示的形式)来找出模式并执行给定的任务。

图 2-3。模因来源不明,Andrej Karpathy于 2020 年 6 月 18 日在推特上发布

小费

在设计训练提示时,瞄准对于模型的零样本响应:也就是说,看看是否可以在不使用外部训练示例启动模型的情况下获得所需的响应。如果没有,请通过向其展示几个示例而不是整个数据集来继续前进。设计训练提示的标准流程是先尝试零样本,然后尝试少样本,然后再进行基于语料库的微调(本章稍后会介绍)。

GPT-3 是迈向通用人工智能的第一步,因此有其局限性。它不知道一切,也无法在人类层面上推理,但是当你知道如何与它交谈时,它的能力很强。这就是即时工程艺术的用武之地。

GPT-3 不是一个讲真话的人,但它是一个出色的讲故事的人。它接收文本输入并尝试用它认为最能完成输入的文本进行响应。如果你从你最喜欢的小说中给它几句台词,它会尝试以同样的风格继续下去。它通过在上下文中导航来工作,如果没有适当的上下文,它会产生不一致的响应。让我们看一个例子来了解 GPT-3 如何处理输入提示并生成输出:

Q: What is human life expectancy in the United States?A:

如果您在没有任何上下文的情况下向 GPT-3 提供这样的提示,您实际上是在要求它从其训练数据的范围中寻找一般答案。结果将是泛化和不一致的响应,因为模型不知道要使用训练数据的哪一部分来回答问题。

另一方面,提供正确的上下文将成倍地提高响应的质量。它只是限制了模型为回答问题而必须检查的训练数据的范围,从而产生更具体和中肯的响应:

I am a highly intelligent question answering bot. If you ask me a question thatis rooted in truth, I will give you the answer. If you ask me a question thatis nonsense, trickery, or has no clear answer, I will respond with "Unknown".Q: What is human life expectancy in the United States?A:

您可以认为 GPT-3 以与人脑相同的方式处理输入。当有人在没有适当背景的情况下问我们任何问题时,我们倾向于随机回答。发生这种情况是因为没有任何适当的方向或背景,很难得到准确的响应。GPT-3 也是如此;它的训练数据范围如此之大,以至于在没有任何外部背景或方向的情况下很难导航到正确的响应。

像 GPT-3 这样的 LLM 能够在适当的背景下进行创造性写作和回答事实问题。这是我们创建高效和有效培训提示的五步公式:

定义你要解决的问题以及它是什么类型的 NLP 任务,例如分类、问答、文本生成或创意写作。

问问自己是否有办法获得零样本解决方案。如果您认为需要外部示例来为您的用例准备模型,请认真考虑。

现在考虑一下在给定 GPT-3 的“文本输入,文本输出”界面的情况下,您如何以文本方式表述问题。考虑所有可能的场景,以文本形式表示您的问题。例如,假设您想构建一个广告文案助手,可以通过查看产品名称和描述来生成创意文案。要以“文本输入,文本输出”格式构建此目标,您可以将输入定义为产品名称和描述,将输出定义为广告文案:

Input: Betty's Bikes, for price-sensitive shoppersOutput: Low prices and huge selection. Free and fast delivery. Order online today!

如果您最终使用外部示例,请尽可能少地使用并尝试合并多样性,捕获所有表示以避免过度拟合模型或扭曲预测。

每当您从头开始创建培训提示时,这些步骤将充当标准框架。在为数据问题构建端到端解决方案之前,您需要了解有关 API 工作原理的更多信息。让我们通过查看它来更深入地挖掘成分。

OpenAI API 的工作原理

我们将在本章中更详细地讨论图 2-4中的所有这些组件。

图 2-4。API 的组件

表 2-1显示了 OpenAI API 中组件的概述。

表 2-1。OpenAI API 中的组件零件功能执行引擎确定用于执行的语言模型响应长度设置 API 在完成时包含多少文本的限制温度和顶部 P温度控制响应的随机性,表示为从 0 到 1 的范围。 顶部 P 控制模型应考虑完成多少随机结果,如温度所建议的那样;它决定了随机性的范围。频率损失和存在损失频率惩罚降低了模型通过“惩罚”它逐字重复同一行的可能性。 存在惩罚增加了它谈论新话题的可能性。最好的允许您指定要在服务器端生成的完成数 (n) 并返回“n”个完成中的最佳值停止序列指定一组字符,指示 API 停止生成完成注入开始和重启文本插入开始文本允许您在完成的开头插入文本。 Inject restart text 允许您在完成的末尾插入文本。显示概率允许您通过显示模型可以为给定输入生成的标记的概率来调试文本提示执行引擎

这执行引擎确定用于执行的语言模型。选择正确的引擎是确定模型功能并获得正确输出的关键。GPT-3 带有四个不同大小和功能的执行引擎:Davinci、Ada、Babbage 和 Curie。Davinci 是最强大的,也是 Playground 的默认设置。

响应长度

这响应长度设置 API 在完成时包含多少文本的限制。由于 OpenAI 按每次 API 调用生成的文本长度收费(如前所述,这被转换为令牌或单词的数字表示),因此响应长度(也以令牌衡量)对于预算有限的任何人来说都是一个关键参数。更高的响应长度将使用更多的令牌并花费更多。例如,如果您执行分类任务,将响应文本拨号设置为 100 不是一个好主意:API 可能会生成不相关的文本并使用额外的令牌,这会在您的帐户上产生费用。由于技术限制,API 在提示和完成组合中最多支持 2048 个令牌。因此,在使用 API 时,您需要注意提示和预期完成不要超过最大响应长度,以避免突然完成。

温度和顶部 P

这温度刻度盘控制响应的创造力,表示为从 0 到 1 的范围。温度值越低意味着 API 将预测模型看到的第一件事,从而产生最正确但可能很无聊的文本,变化。另一方面,较高的温度值意味着模型会在预测结果之前评估可能适合上下文的响应。生成的文本会更加多样化,但语法错误和废话生成的可能性更高。

顶部 P控制模型应考虑完成多少随机结果,如温度刻度盘所示;它决定了随机性的范围。Top P 的范围是从 0 到 1。接近于 0 的值意味着随机响应将被限制在某个部分:例如,如果值为 0.1,那么只有 10% 的随机响应将被考虑完成。这使得发动机确定性,这意味着它将始终为给定的输入文本生成相同的输出。如果该值设置为 1,API 将考虑完成所有响应、承担风险并提出创造性响应。较低的价值限制了创造力;更高的价值扩大了视野。

温度和 Top P 对输出有显着影响。有时您可能会感到困惑,何时以及如何使用它们来获得所需的输出。两者是相关的:改变一个的值会影响另一个。因此,通过将 Top P 设置为 1,您可以让模型通过探索整个响应谱来释放其创造力,并通过使用温度刻度盘控制随机性。

小费

我们始终建议更改 Top P 或温度,并将另一组的刻度盘保持在 1。

大型语言模型依赖于概率方法而不是传统逻辑。它们可以为相同的输入生成各种响应,具体取决于您设置模型参数的方式。该模型试图在其训练过的数据范围内找到最佳概率匹配,而不是每次都寻找完美的解决方案。

正如我们在第 1 章中提到的,GPT-3 的训练数据领域非常庞大,包括各种公开可用的书籍、互联网论坛和由 OpenAI 专门策划的 Wikipedia 文章,使其能够为给定的提示生成各种各样的补全. 这就是温度和 Top P(有时称为“创意表盘”)发挥作用的地方:您可以调整它们以产生更自然或抽象的响应,并带有有趣的创意元素。

假设您将使用 GPT-3 为您的初创公司生成名称。您可以将温度刻度盘设置为更高级别,以获得最具创意的响应。当我们日日夜夜地为我们的初创公司想出一个完美的名字时,我们调高了温度。GPT-3 提供了帮助,帮助我们获得了一个我们喜爱的名称:Kairos Data Labs。

在其他情况下,您的任务可能几乎不需要创造力:例如分类和问答任务。对于这些,请保持较低的温度。

让我们看一下图 2-5中的一个简单分类示例,该示例根据公司名称将公司分类到一般的桶或类别中。

图 2-5。温度分量

我们的提示:

The following is a list of companies and the categories they fall into:Facebook: Social Media, TechnologyLinkedIn: Social Media, Technology, Enterprise, CareersUber: Transportation, Technology, MarketplaceUnilever: Conglomerate, Consumer GoodsMcdonalds: Food, Fast Food, Logistics, RestaurantsFedEx:

和输出:

Logistics, Shipping

如图2-5 所示,我们再次使用温度来控制随机性程度。您也可以在保持温度刻度盘的同时更改 Top P设置为 1。

频率和存在处罚

喜欢温度和 Top P 刻度盘、频率惩罚和存在惩罚刻度盘在决定输出时会考虑文本提示(先前的完成加上新的输入)而不是内部模型参数。因此,现有文本会影响新的完成。频率惩罚降低了模型通过“惩罚”它逐字重复同一行的可能性。存在惩罚增加了它谈论新话题的可能性。

当您想防止相同的完成文本在多个完成中重复时,这些会派上用场。尽管这些表盘相似,但有一个重要区别。如果重复建议的文本输出(例如,模型在之前的完成或同一会话中使用了确切的标记)并且模型选择旧输出而不是新输出,则会应用频率惩罚。如果给定文本中存在标记,则应用存在惩罚。

最好的

GPT-3使用最好的功能在服务器端生成多个完成,在幕后评估它们,然后为您提供最佳概率结果。使用“best of”参数,您可以指定要在服务器端生成的完成数 ( n )。该模型将返回n 个完成中最好的一个(每个令牌对数概率最低的那个)。

这使您能够在单个 API 调用中评估多个提示完成,而不是重复调用 API 来检查相同输入的不同完成的质量。然而,使用“best of”是昂贵的:它花费n倍于提示中的令牌。例如,如果您将“最佳”值设置为 2,那么您将被收取输入提示中存在的令牌的两倍,因为在后端,API 将生成两个完成并向您显示最好的一个。

“最佳”的范围可以从 1 到 20,具体取决于您的用例。如果您的用例为需要保持输出质量一致的客户服务,那么您可以将“最佳”值设置为更高的数字。另一方面,如果您的用例涉及太多 API 调用,那么使用较低的“最佳”价值以避免不必要的延迟和成本是有意义的。我们建议在使用“最佳”参数生成多个提示时尽量缩短响应长度,以避免产生额外费用。

停止序列

一个停止序列是一组字符,指示 API 停止生成完成。这有助于避免使用不必要的代币,这是普通用户必不可少的节省成本的功能。

您最多可以为 API 提供四个序列以停止生成更多令牌。

让我们看一下图 2-6中的示例语言翻译任务,以了解停止序列的工作原理。在这个例子中,英语短语被翻译成法语。我们使用重启序列“English:”作为停止序列:每当 API 遇到该短语时,它将停止生成新的令牌。

【GPT-3】第2章 使用 OpenAI API(gpt3 transformer)

图 2-6。停止序列组件

注入开始文本和注入重新开始文本

这注入开始文本和注入重新启动文本参数允许您分别在完成的开头或结尾插入文本。您可以使用它们来保持所需的模式。通常,这些设置与停止序列协同工作,如我们的示例所示。提示具有这样的模式,其中提供带有前缀“English:”(重新启动文本)的英语句子,并且生成带有前缀“French:”(开始文本)的翻译输出。因此,任何人都可以轻松区分两者,并创建模型和用户都可以清楚理解的训练提示。

每当我们针对此类提示运行模型时,它会在输出之前自动注入开始文本“French:”,在下一次输入之前注入重新启动文本“English:”,这样这种模式就可以持续下去。

显示概率

这显示概率参数位于 Playground 设置窗格的底部。在传统的软件工程中,开发人员使用调试器对一段代码进行故障排除(调试)。您可以使用 show probabilities 参数来调试您的文本提示。每当您选择此参数时,您都会看到突出显示的文本。将光标悬停在它上面将显示模型可以为指定的特定输入生成的标记列表,以及它们各自的概率。

您可以使用此参数来检查您的选项。此外,它可以更容易地看到可能更有效的替代方案。显示概率参数具有三个设置:

最有可能的

按概率降序列出最有可能考虑完成的标记。

最不可能

按概率降序列出最不可能被考虑完成的标记。

全谱

显示可以选择完成的整个令牌世界。

让我们在一个简单提示的上下文中看一下这个参数。我们希望以一个简单的、众所周知的短语开始输出句子:“Once Upon a time”。我们向 API 提供提示“Once upon a”,然后我们检查显示概率选项卡中的最可能选项。

如图2-7所示,它生成“时间”作为响应。因为我们已将“显示概率”参数设置为最有可能,所以 API 不仅显示响应,还显示可能选项列表及其概率。

现在您已经有了一个概述,让我们更详细地了解这些组件。

图 2-7。显示概率组件,显示最可能的标记

执行引擎

作为如图 2-7 所示, OpenAI API 提供了四种执行引擎,根据参数数量和性能能力进行区分。执行引擎为 OpenAI API 提供动力。它们充当“autoML”解决方案,提供自动化的 ML 方法和流程,使机器学习可供非专家使用。它们易于配置和适应给定的数据集和任务。

四个主要执行引擎按字母顺序以著名科学家的名字命名:Ada(以 Ada Lovelace 命名)、Babbage(Charles Babbage)、Curie(Madame Marie Curie)和 Davinci(Leonardo da Vinci)。让我们深入了解这些执行引擎中的每一个,以了解在使用 GPT-3 时何时使用哪个引擎,从 Davinci 开始。

Davinci

Davinci是第一次打开 Playground 时最大的执行引擎和默认值。它可以做其他引擎可以做的任何事情,通常只需要更少的指令和更好的结果。然而,权衡是每个 API 调用的使用成本更高,并且比其他引擎慢。您可能希望使用其他引擎来优化成本和运行时间。

小费

在测试新想法和提示时,我们建议从 Davinci 开始,因为它具有卓越的功能。使用 Davinci 进行试验是了解 API 能够做什么的好方法。然后,当您对问题陈述感到满意时,您可以慢慢向下移动以优化预算​​和运行时间。一旦你知道你想要完成什么,你可以继续使用 Davinci(如果成本和速度不是问题的话),或者你可以继续使用 Curie 或其他成本更低的引擎,并尝试围绕其功能优化输出。您可以使用OpenAI 的比较工具生成一个 Excel 电子表格,用于比较引擎的输出、设置和响应时间。

对于需要理解内容的任务,例如总结会议记录或生成创意广告文案,Davinci 应该是您的首选。它非常擅长解决逻辑问题和解释虚构人物的动机。它甚至可以写一个故事。达芬奇还能够解决一些涉及因果关系的最具挑战性的人工智能问题。

Curie

Curie旨在找到功率和速度之间的最佳平衡,这对于执行高频任务(如大规模分类或将模型投入生产)非常重要。

Curie也非常擅长进行问答和作为通用聊天机器人。例如,如果您正在构建一个客户支持聊天机器人,您可能会选择 Curie 来更快地处理大量请求。

虽然Davinci更擅长分析复杂的文本,但居里可以以低延迟和闪电般的速度执行。在选择Davinci而不是Curie之前,弄清楚你的用例是什么并进行成本效益分析总是明智的。生产。

Babbage

Babbage比Curie快,但不能执行涉及理解复杂意图的任务。但是,在语义搜索排名和分析文档与搜索查询的匹配程度方面,它非常有能力并且更可取。它比 Curie 和 Davinci 便宜,是涉及频繁 API 调用的简单问题的首选。

Ada

Ada是可用引擎中最快且最便宜的。它可以执行不需要对上下文有细微差别的理解的简单任务,例如解析文本、纠正语法或简单分类。通常可以通过为输入提供更多上下文来提高 Ada 的性能。对于涉及频繁 API 调用的用例,Ada 可能是首选模型;通过正确的设置配置,它可以获得类似于更大模型的结果。您对 API 参数进行的试验越多,您就会越了解哪些设置适用于您的用例。

指导系列

基于在这四个主要模型上,OpenAI 推出了一系列InstructGPT模型,这些模型比原始 GPT-3 更能理解指令并遵循指令,同时毒性更小,更真实。它们是使用来自 OpenAI 对齐研究的技术开发的。这些模型经过人工循环训练,现在部署为 OpenAI API 上的默认语言模型。

图2-8和2-9展示了 InstructGPT 和 GPT 系列 Davinci 引擎针对相同输入生成的两个输出。

图 2-8。InstructGPT Davinci 模型生成的输出

图 2-9。GPT Davinci 模型生成的输出

我们的输入:

Write a story about AI for a 5 year old.

指示GPT 输出:

Robot was very happy. He had just been born, and he was already the smartestrobot in the world. He could do anything that any other robot could do, but hecould also think for himself.

GPT 输出:

This project is an attempt to make an AI that can produce fictional stories.It is a work in progress. Fictionality The aim of this project is to create an AI that can create fictional stories.

为了让构建提示的过程真正高效,OpenAI 决定公开推出四种模型的 InstructGPT 版本:text-davinci-001、text-curie-001、text-babbage-001 和 text-ada-001。有了明确的说明,这些模型可以产生比基本模型更好的结果,现在是API 的默认模型。本系列是弥合人类思维方式与模型运作方式之间差距的重要一步。

小费

我们建议将此模型系列用作所有与文本相关的任务的默认值。GPT-3 模型的基本版本有 Davinci、Curie、Babbage 和 Ada,旨在与微调、搜索、分类和答案一起使用端点。

端点

这Playground 是一个图形 Web 界面,它在后台调用 OpenAI API,但还有其他几种调用 API 的方法。为此,您需要熟悉它的端点:在调用它们时来回通信的远程 API。在本节中,您将熟悉八个 API 端点的功能和用法。

列表引擎

这列表引擎端点,也称为元数据端点,提供可用引擎列表以及与每个引擎关联的特定元数据,例如所有者和可用性。要访问它,您可以使用 HTTP GET 方法调用以下 URI,而无需传递任何请求参数:

GET https://api.openai.com/v1/engines检索引擎

什么时候您向检索引擎端点提供引擎名称,它会返回有关该引擎的详细元数据。要访问它,请使用 HTTP GET 方法调用以下 URI,而不传递任何请求参数:

GET https://api.openai.com/v1/engines/{engine_id}完成

完成是 GPT-3 最著名和使用最广泛的端点。它只是将文本提示作为输入并将完成的响应作为输出返回。它使用 HTTP POST 方法并且需要引擎 ID 作为 URI 路径的一部分。作为 HTTP 正文的一部分,完成端点接受上一节中讨论的几个附加参数。它的签名是:

发布 https://api.openai.com/v1/engines/{engine_id}/completions语义搜索

这语义搜索端点使您能够以自然语言提供查询来搜索一组文档,这些文档可以是单词、句子、段落甚至更长的文本。它将根据文档与输入查询的语义相关程度对文档进行评分和排名。例如,如果您提供文档 [“school”、“hospital”、“park”] 和查询“the Doctor”,您将获得每个文档的不同相似度分数。

这相似度分数是一个正分数,通常在 0 到 300 之间(但有时会更高),其中 200 以上的分数通常表明文档在语义上与查询相似。相似度得分越高,文档在语义上与查询越相似(在此示例中,“医院”与“医生”最相似)。作为对 API 的请求的一部分,您最多可以提供 200 个文档。1

以下是语义搜索端点的签名:

POST https://api.openai.com/v1/engines/{engine_id}/completions文件

这文件端点可以跨不同的端点使用,例如答案、分类和语义搜索。它用于将文档或文件上传到 OpenAI 存储,该存储可通过 API 访问。同一个端点可以与不同的签名一起使用来执行以下任务:

列出文件

返回属于用户组织或链接到特定用户帐户的文件列表。这是一个 HTTP GET 调用,不需要随请求传递任何参数:

GET https://api.openai.com/v1/files

上传文件

上传包含要在各个端点使用的文档的文件。它将文档上传到 OpenAI 已经为用户组织分配的内部空间。这是一个 HTTP POST 调用,需要在 API 请求中添加文件路径:

POST https://api.openai.com/v1/files

检索文件

通过提供文件 ID 作为请求参数返回有关特定文件的信息:

GET https://api.openai.com/v1/files/{file_id}

删除文件

通过提供文件 ID 作为请求参数来删除特定文件:

DELETE https://api.openai.com/v1/files/{file_id}分类(测试版)

这分类端点允许您利用一组标记的示例而无需微调。它使用提供的示例对查询进行分类,从而避免微调,进而消除对超参数调整的需要。您几乎可以将它用于任何机器学习分类任务。

这个端点提供了一个易于配置的“autoML”解决方案,可以很容易地适应不断变化的标签模式。作为请求的一部分,您最多可以提供 200 个带标签的示例,或者可以在查询期间提供预先上传的文件。除了提供 URI 路径之外,此端点还需要模型和查询以及示例。它的签名是:

POST https://api.openai.com/v1/classifications答案(测试版)

GPT-3 的截至 2021 年底撰写本文时,问答端点仍处于测试阶段。当给出问题时,QA 端点会根据一组文档或训练示例中提供的信息生成答案。

例如,如果您想在一组 PDF 上实现 QA 端点,您只需使用 files 端点上传它们并提供文件 ID 和请求参数。answers 端点将使用这些文件作为上下文来回答任何查询。它还允许您通过以训练示例的形式提供(问题、答案)对列表来引导模型的上下文语气和响应。它首先搜索提供的文档或示例以查找相关上下文,然后将其与相关示例和问题结合以生成响应。它的签名是:

POST https://api.openai.com/v1/answers嵌入

其他API 的实验端点是embeddings。嵌入是任何机器学习模型的核心,它允许您通过将文本转换为高维向量来从文本中捕获语义。目前,开发人员倾向于使用开源模型为他们的数据创建嵌入,这些嵌入可用于各种任务,如推荐、主题建模、语义搜索等。

OpenAI 意识到 GPT-3 在支持嵌入驱动的用例并提供最先进的结果方面具有巨大潜力。为输入数据生成嵌入非常简单,并且以 API 调用的形式进行包装。要创建表示输入文本的嵌入向量,您可以使用以下签名:

POST https://api.openai.com/v1/engines/{engine_id}/embeddings

要调用嵌入端点,您可以参考嵌入文档,根据您的用例选择引擎类型。每个引擎都有其特定的嵌入维度,Davinci 最大,Ada 最小。所有嵌入引擎均源自四个基本模型,并根据用例进行分类,以实现高效且成本友好用法。

自定义 GPT-3

OpenAI 的Irene Solaiman 和 Christy Dennison 的研究论文“ Process for Adapting Language Models to Society (PALMS) with Values-Targeted Datasets ”(2021 年 6 月)带领公司推出了首个微调端点,让您能够通过为您的特定用例定制模型,从 GPT-3 中获得比以前更多的可能。(我们将在第 6 章讨论更多关于 PALMS 的内容。)自定义 GPT-3 可以提高 GPT-3 能够针对您的特定用例执行的任何自然语言任务的性能。

让我们先解释一下它是如何工作的。

OpenAI以半监督方式在专门准备的数据集上预训练 GPT-3 。当只给出几个例子的提示时,它通常可以直觉你正在尝试执行什么任务并生成一个合理的完成。正如您在第 1 章中所了解的,这称为少样本学习。

用户现在可以根据自己的数据微调 GPT-3,创建适合其项目的模型的自定义版本。定制使 GPT-3 可靠地用于各种用例,并使模型的运行成本更低、效率更高、速度更快。微调是关于调整整个模型,使其每次都以您希望的方式执行。您可以使用任何形状和大小的现有数据集,或根据用户反馈逐步添加数据。

模型的能力和知识将被缩小并集中在用于微调的数据集的内容和语义上。这反过来又会限制创造力和主题选择的范围,这将有利于下游任务,如对内部文档进行分类,或任何涉及内部术语的用例。它通过将 GPT-3 的注意力集中在微调数据上并限制其知识库来工作。

对模型进行微调后,您将不再需要在提示中提供示例。这可以节省成本、缩短响应时间并提高输出的质量和可靠性。自定义 GPT-3 似乎比使用即时设计可以实现更好的结果,因为在此过程中您可以提供更多示例。

通过不到一百个示例,您已经可以开始看到微调 GPT-3 的好处,并且随着您添加更多数据,性能会继续提高。在 PALMS 研究论文中,OpenAI 展示了使用少于 100 个示例进行微调可以提高 GPT-3 在某些任务上的性能。OpenAI 还发现,示例数量每增加一倍,就会线性地提高质量。

由定制的 GPT-3 模型提供支持的应用程序

自定义 GPT-3 可提高输出的可靠性,提供更一致的结果,您可以依靠这些结果用于生产用例。现有的 OpenAI API 客户发现,定制 GPT-3 可以显着降低不可靠输出的频率,并且越来越多的客户可以用他们的性能数据来证明这一点。让我们看一下定制了 GPT-3 的四家公司。

看守税帮助独立承包商和自由职业者纳税。它使用各种模型来提取文本并对交易进行分类,然后识别容易错过的税收冲销,以帮助客户直接从应用程序报税。通过自定义 GPT-3,Keeper Tax 的准确率从 85% 提高到 93%。由于每周一次向其模型添加 500 个新的训练示例,它不断改进,这导致每周准确度提高约 1%。

可行的帮助公司从客户反馈中获得洞察力。通过定制 GPT-3,Viable 能够将大量非结构化数据转换为可读的自然语言报告,并提高其报告的可靠性。因此,总结客户反馈的准确性从 66% 提高到 90%。如需深入了解 Viable 的发展历程,请参阅我们在第 4 章对 Viable 首席执行官的采访。

萨那实验室是人工智能在学习领域的开发和应用的全球领导者。该公司的平台通过利用最新的 ML 突破来个性化内容,为企业提供个性化的学习体验。通过使用自己的数据自定义 GPT-3,Sana 的问题和内容生成从语法正确但一般的响应变为高度准确的响应。这带来了 60% 的改进,为用户提供了更加个性化的体验。

引出是人工智能研究助理,使用学术论文的发现帮助直接回答研究问题。助手从大量研究论文中找到最相关的摘要,然后应用 GPT-3 生成论文对问题的

本文链接地址:https://www.jiuchutong.com/zhishi/300478.html 转载请保留说明!

上一篇:nvm安装node,配置npm 、cnpm(nvm 安装node)

下一篇:Pytorch:手把手教你搭建简单的卷积神经网络(CNN),实现MNIST数据集分类任务(pytorch教程)

  • 进口商品需要缴纳哪些税
  • 个税申报按权责发生制行吗?
  • u8已记账怎么修改年初余额
  • 为什么应交增值税记在借方
  • 外勤会计主要是干什么
  • 营业账簿指什么
  • 股票分红会冲抵成本吗
  • 运输服务有3%的税率吗
  • 其他应收款资产负债表是负数怎么办
  • 收到返利款怎么做账
  • 没开发票的收入可以不入账吗
  • 以旧换新帐务处理
  • 退货报废计入哪类费用
  • 周转材料调拨调入单位如何做账
  • 水利建设工程
  • 公司向个人借入资金的风险
  • 园林绿化苗木增值税抵扣税率是多少?
  • 白酒出口税收
  • 个体户经营所得怎么申报
  • 年度报表申报错误,怎样更正
  • 营改增的纳税人
  • 失控发票账务处理
  • 在建工程预估转入固定资产怎么做凭证
  • 总分公司合并缴纳个税
  • 销售净利率如何分析出来
  • win10如何设置一键还原系统
  • 独立费计算
  • 跨年度冲减收入
  • 法人变更涉及到什么
  • php中??
  • linux测验
  • 电脑怎样进入cmos设置
  • pctversion
  • npfmntor.exe - npfmntor是什么进程 有什么用
  • thinkphp yii
  • 安徽4岁男孩户口已解决
  • 收到现金股利会影响利润吗
  • 奥卡拉国家森林公园
  • 其他债权投资减值可以转回吗
  • python雪花算法生成id
  • uniapp中使用amap-vue,设置安全密钥
  • Cookie 的 SameSite 属性
  • win11设置项改中文
  • 印花税跨年度缴纳有滞纳金吗
  • 企业报表年报
  • 一般纳税人补交印花税买卖合同
  • 秸秆回收加工项目
  • okr开源软件
  • python中如何创建字典
  • 开负数发票的规定是有?
  • 详解中国航天三垂一远
  • 计提本月应交增值税会计科目
  • 个人独资公司对外如何承担责任
  • 小规模增值税退税流程怎么操作
  • MySQL错误什么意思
  • 个体户需要实缴吗
  • 内部审计和外部审计可以相互接触对方的
  • 营改增后哪些费用可以抵扣
  • 用现金购买股票分录
  • 日后调整事项的记账凭证怎样装订
  • 产品的包装费属于什么科目?
  • 补交增值税和滞纳金怎么入账
  • 销售未开票怎么做分录
  • 固定总价合同与epc总承包合同区别
  • 购入汽车属于什么会计科目
  • mysql官方监控工具
  • xmpdisabled什么意思
  • 深度技术win10怎么样
  • win7系统咋样
  • win10家庭版系统怎么样
  • unity双面材质
  • unity网络请求
  • JavaScript jquery及AJAX小结
  • python模块怎么用
  • 蛋哥的日常
  • python中的迭代器
  • 开票系统怎么升级?
  • 海珠税务局许丰
  • 社保征管职责是什么
  • 出口突尼斯提供哪些清关单据
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设