2021 年 11 月的 Microsoft Ignite,微软带来了全新的 Azure OpenAI Service,通过新的 Azure 认知服务可能拜访 OpenAI 弱小的 GPT-3 模型。尽管微软还没有正式凋谢 Open AI Service,但 GitHub 和 OpenAI 曾经推出了基于 GPT-3 的新模型 Codex 的工具 – Copilot,通过它能够帮忙软件开发人员更高效地编写代码。我置信不少小伙伴都曾经开始在 Visual Studio Code / Visual Studio 应用 Copilot 感触到 GPT-3 的威力。作为开发者,心愿微软能尽快凋谢相干文档,能尽快把握相干技能。为了满足各位要求,明天我就带大家进入 OpenAI。
GPT-3 介绍
2020 年 5 月,Open AI 发表了一篇开创性的论文,题为 Language Models Are Few-Shot Learners。他们展现了 GPT- 3 语言模型,它应用了一个具备 1750 亿个参数的神经网络。GPT-3 应用来自 CommonCrawl、WebText、维基百科和书籍语料库的数据进行训练,并在各种自然语言解决工作中体现出惊人的性能,包含翻译、问答和完形填空工作。在性能上 GPT-3 也是十分优良,超过了很多现有的模型。2020 年 7 月,也就是论文发表两个月后,OpenAI 凋谢了一个 beta API playground,大家能够通过 API 形式拜访 GPT-3 模型。
GPT-3 的几个次要特点
1. 零 / 单 / 少样本学习 (Zero/one/few-shot learning): 通常,深度学习会针对一组特定的类别进行训练和测试。如果计算机视觉中对星球大战中的 BB8 , R2D2 , C3PO 进行分类,在测试过程中就只能针对这三个类别进行。但在零样本学习设置中,零碎在测试时,能够应用不在训练内的类别(例如,用曼努达人做测试)。单 / 少样本学习 (one-shot 和 few-shot) 也是一个情理,在测试时,零碎会别离看到一个或几个新的类别。
<br/>
2. 零 / 单 / 少样本工作迁徙 (Zero/one/few-shot task transfer): 这个整合了 零 / 单 / 少样本学习和多任务学习的概念。新工作(或者显示零个、一个或几个新工作的示例)能够随时执行,而不是在测试时才展现新类。例如,输出“I love you -> 我爱你。I miss you -> ____。”GPT-3 就能够通过单样本工作迁徙,把之前没有训练过的英语转中文的工作执行起来
<br/>
3. Transformers: Transformers 是解决机器翻译问题的框架, 有一个简略的网络结构,基于自留神机制,不依赖于递归和卷积齐全。通过并行计算使 Transformer 效率高,须要更少的训练工夫。
<br/>
4. 生成模型 (Generative models): 统计学中分类工作有两种模型 - 判断模型,生成模型。判断模型对给定的可察看变量和指标变量对的条件概率进行编码:p(y|x)。生成模型对联结概率进行编码:p(x,y)。生成模型能够“生成相似于现有数据的新数据”,GPT-3 模型就是利用生成模型来。
<br/>
5. 多任务学习 (Multitask learning): 大多数深度学习零碎都是单任务的, 只针对特定的场景。多任务零碎克服了这一限度。他们受过训练,可能针对给定的输出解决不同的工作。例如我输出一个苹果,他能够帮我翻译成英文的 Apple,能够找到一张苹果的图片,也能够找到苹果的一些特色等。
6. 半监督学习 (Semi-supervised learning): 是以无监督的形式训练具备十分大数据集的模型,而后通过在较小的数据集中应用监督训练来调整模型以适应不同的工作。
通过 OpenAI API 调用 GPT-3
因为微软当初还没凋谢 OpenAI 的 GPT-3 性能,现阶段咱们只能通过 OpenAI (beta.openai.com) 提供的 API 应用 GPT-3。(当然你须要有一个美国的电话号码来激活该性能),OpenAI 有十分丰盛的文档,以及示例,让开发者能够十分快上手应用 API。
Python 调用 API 几个必须的步骤
- 装置 openai 库
pip install openai
- 申请 API 的密钥
- 能够通过 Notebook 测试一下
几个留神的点
- 模型 engine,当初针对 GPT-3 有 2 个比拟次要的模型
模型 | 介绍 |
---|---|
text-davinci-002 | GPT-3 对于自然语言解决场景的模型,通常须要较少的上下文。除了响应提醒外,还反对在文本中插入补全。 |
code-davinci-002 | 能够了解和生成程序代码的模型,包含将自然语言翻译成代码 (这个模型须要另外申请) |
- 对于一些示例,你能够通过拜访
https://beta.openai.com/examples 学习更多的利用场景
<br/>
- 你能够通过 OpenAI 提供的 Playground 做一些测试 https://beta.openai.com/playg…
- 你能够针对本人的业务定义 GPT-3 模型,你能够通过该链接理解更多 https://openai.com/blog/custo…
瞻望
GPT-3 功能强大,让 AI 利用场景更贴近理论的生存。我十分心愿微软的 OpenAI Service 能尽快凋谢,让更多的开发者能应用。还有当初 OpenAI GPT-3 在中文的反对还是十分无限的,我也寄望微软版本的服务能有更好的中文反对。
相干材料
- 理解 Azure OpenAI Service 性能,请拜访 https://azure.microsoft.com/e…
- Azure OpenAI Service 介绍,请拜访
https://blogs.microsoft.com/a… - OpenAI 的相干博客 https://openai.com/blog/