当前位置:首页|资讯|OpenAI|编程

Azure OpenAI 官方指南 01|GPT-3 的原理揭秘与微调技巧

作者:微软中国MSDN发布时间:2023-03-02

原标题:Azure OpenAI 官方指南 01|GPT-3 的原理揭秘与微调技巧

关注我们

(本文阅读时间:9分钟)

转自Azure云科技

Azure OpenAI 服务在微软全球 Azure 平台正式发布后,迅速成为众多用户最关心的服务之一。

Azure OpenAI 服务允许用户通过 REST API 访问 OpenAI 的强大语言模型,包括 GPT-3、Codex 和 Embeddings 模型系列。本期,我们将为您揭秘 Azure OpenAI 的“屠榜”神器——GPT-3 的原理与使用技巧

GPT-3的底层算法╱ 01

GPT-3的四种模型╱ 02

在Azure OpenAI中使用GPT-3╱ 03

OpenAI API组件选择04

自定义模型 05

Fine-Tuning(微调)06

GPT-3的企业级使用场景╱ 07

01

GPT-3 的 底层算法

GPT-3 全称“Generative Pre-trained Transformer - 3”, 参数高达 1750“亿”个,是微软和 OpenAI 联合推出的超级人工智能。

简单地说,GPT-3 作为一个自监督模型,几乎可以完成自然语言处理的绝大部分任务。GPT-3 本质上是一个 预训练自然语言处理模型,能够同时完成自然语言理解、文本生成、文本总结、自动问答、机器翻译、算术运算和代码生成等多种任务。GPT-3 的面世有望帮助开发者更加快速地构架和部署自然语言处理应用程序,也拓宽了更多不同领域不同知识背景的用户使用 AI 模型的可能性。

GPT 系列作为 OpenAI 开发的一系列大型预训练语言模型,是基于 Transformer 算法的复杂堆叠、超大量的训练语料与数以亿计的模型参数训练出的一系列 生成式预训练语言模型

与传统的自然语言处理 (NLP)有监督模型不同,GPT 先通过充满多样性的大量数据进行 无监督预训练,然后再将带有标签的数据集给入预训练模型中进行 有监督微调。GPT 强化了模型从大量无标签原始文本中学习语言或语义本身的能力,并在模型有广泛语言学能力的基础上提供部分有标签数据对特定任务进行微调。这一方面解决了大多数 NLP 任务中 高质量标签数据量少的问题,另一方面建立了一个 真正从语言学角度理解自然语言的模型。

GPT-3 作为 GPT 系列的第三代模型,是 Transformer 算法在 800 万网页数据集的基础上训练而成的。GPT-3 与前两代模型相比,在模型参数量以及预训练数据量上进行了几百倍的扩充,从 GPT-2 的 15 亿参数与 40GB 数据量扩展到了 如今的 1750 亿参数与 45 TB 的预训练数据。这在很大程度上增强了 GPT 系列在语言理解能力上的提升,形成了现如今爆红的 GPT-3 服务,并为后续的 ChatGPT 等生成式自然语言模型提供基础。

02

GPT-3 的 四种模型

OpenAI 提供四种主要的 GPT-3 模型。其中 Davinci 是 功能最强大的模型,Ada 是 速度最快的模型。以下详细介绍了每种模型的特点以及适用场景:

模型

Davinci

请求

4000 tokens

描述

功能最强大的 GPT-3 模型。Davinci 包含了所有其他模型的功能。在此基础上,它还有着更高的质量、对更复杂的文本有更好的理解能力、支持更长的输出和更好的指令遵循,并支持在文本中进行插入补全。

用例

• 产生更高质量的写作

• 因果关系

• 总结

模型

Curie

请求

2048 tokens

描述

用例

• 语言翻译

• 复杂分类

• 文本感悟

• 总结

模型

Babbage

请求

2048 tokens

描述

相较前两个模型,Babbage 能完成更简单的任务,比如简单分类、语义搜索等。同时速度更快,成本也更低。

用例

• 适度分类

• 语义搜索分类

模型

Ada

请求

2048 tokens

描述

Ada 能完成非常简单的任务,通常是 GPT-3 系列中 速度最快的型号,且成本最低

用例

• 解析文本

• 简单分类

• 地址更正

• 关键字

◀︎ 向左滑动查看更多 ▶︎

虽然通常情况下 Davinci 是功能最强大的 GPT-3 模型,但其它模型也能够非常出色地执行某些任务,并且有着明显的速度或者成本优势。比如,Curie 模型也可以执行许多与 Davinci 相同的任务,但速度更快,并且 成本仅为 Davinci 的十分之一

模型选择建议

▸▸▸当我们在选择模型时,最好是在实验阶段先使用 Davinci, 确保我们能使用 GPT-3 先得到一个最好的结果,明确正确的使用方向。一切正常之后,我们就可以继续尝试其它模型,看看是否能以更低的延迟和更优的成本选择获得相同的结果。

▸▸▸有大量优质 (指人工审核/达标的)数据的情况下,建议选择低复杂度的模型,精度或许能媲美 Davinci,且 ROI 更高。

▸▸▸如果是分类/归纳这类相对简单的任务,建议选择 Ada 模型。

▸▸▸如果数据量不大 (几百)或质量不保证 (如未经校准的数据)的情况下,建议选择 Davinci 模型。

03

Azure OpenAI 服务

使用 GPT-3

Azure GPT-3 Playground的使用界面非常简洁,我们只需要在文本框中输入提示语或需要 GPT-3 分析的内容,等待 GPT-3 根据提示返回相应结果即可。

如图所示,我希望 GPT-3 能根据我的产品介绍构思一些合适的产品名称,GPT-3 返回的绿色高亮部分即为分析结果。

04

OpenAI API 组件选择

以下介绍了 OpenAI API 中一些重要的组件:

◀︎ 向左滑动查看更多 ▶︎

参数

Engine

功能

确定用于执行的语言模型(Davinci、Curie、Babbage、Ada)。

参数

Temperature

功能

控制 GPT-3 的响应是否具有创造力,范围从 0 到 1。温度值越低意味着返回的结果是最正确却无多大变化的文本。温度值较高意味着模型会去评估可能适合上下文的响应,生成的文本也会更加多样化,但也可能会导致更多的无关信息生成。

参数

Maximum Length

(tokens)

功能

限制响应返回的文本长度。

参数

Stop sequences

描述

指定返回语句停止。

参数

Top Probability

描述

决定随机性的范围,取 0 到 1 之间的值。限定模型返回 Top Probability 质量的语句结果,较低的值会返回较为准确的答案,同时会限制返回值的多样性。较高的值能帮助我们获得更多见解,但同时结果准确率会有所降低。

参数

Frequency penalty

描述

模型基于返回语句中的词语出现频次而设置的惩罚系数,在 -2.0 到 2.0 之间取值,增加 Frequency Penalty 可以调整模型使其返回更加新颖的词语,减少同一词语在不同回答中出现的次数。

参数

Presence penalty

描述

模型基于返回语句中的词语在前文中出现的次数而设置的惩罚系数,在 -2.0 到 2.0 之间取值,增加 Presence Penalty 可以调整模型使其减少重复生成前文中出现过的词语。

05

自定义模型

● Zero-Shot(零样本)

直接将提示和文本给到 GPT-3,让 GPT-3 自行理解提示并给出回答:

● One-Shot(单样本)

通过给 GPT-3 一个简单示例,让模型了解我们想要的输出形式以及风格,从而给出回答:

● Few-Shot(小样本)

通过给 GPT-3 一些简单的示例,让模型了解我们想要的输出形式以及风格,从而给出回答:

06

Fine-Tuning(微调)

07

GPT-3 的 企业级使用场景

● RPG 游戏

GPT 和 Open AI 可以帮助收集并分析玩家信息及游戏进程等数据,从而动态生成符合场景条件的 NPC,让玩家能够更自然且更真实地与游戏中的 NPC 进行互动。

Azure OpenAI 官方指南

Vol.01 GPT-3 作者

罗贵欢 Sunny Luo 微软云解决方案工程师

周锐君 Milo Zhou 微软云解决方案工程师

2023 Microsoft Azure

中国区年度技术峰会

注册在线直播

扫码抢先抓牢新局面

注册10:00-13:00的主会内容

即可同步获得13:30-16:00

所有分会场的观看席位

喜欢记得分享哦~


Copyright © 2024 aigcdaily.cn  北京智识时代科技有限公司  版权所有  京ICP备2023006237号-1