带你进⼊ OpenAI 的世界
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 的⼏个主要特点
零/单/少样本学习(Zero/one/few-shot learning): 通常,深度学习会针对⼀组特定的类别进⾏训练和测试。如果计算机视觉中对星球⼤战中的 BB8 , R2D2 , C3PO 进⾏分类,在测试过程中就只能针对这三个类别进⾏。但在零样本学习设置中,系统在测试时,可以使⽤不在训练内的类别(例如,⽤曼努达⼈做测试)。单/少样本学习(one-shot 和few-shot) 也是⼀个道理,在测试时,系统会分别看到⼀个或⼏个新的类别。
零/单/少样本任务迁移(Zero/one/few-shot task transfer):这个整合了 零/单/少样本学习和多任务学习的概念。新任务(或者显示零个、⼀个或⼏个新任务的示例)可以随时执⾏,⽽不是在测试时才展示新类。例如, 输⼊ “I love you -> 我爱你。I miss you -> ____。” GPT-3 就可以通过单样本任务迁移 ,把之前没有训练过的英语转中⽂的任务执⾏起来。
Transformers:Transformers 是解决机器翻译问题的框架, 有⼀个简单的⽹络结构,基于⾃注意机制,不依赖于递归和卷积完全。通过并⾏计算使Transformer效率⾼,需要更少的训练时间。
⽣成模型(Generative models):统计学中分类任务有两种模型-判别模型,⽣成模型。判别模型对给定的可观察变量和⽬标变量对的条件概率进⾏编码:p(y|x)。⽣成模型对联合概率进⾏编码:p(x,y)。⽣成模型可以“⽣成类似于现有数据的新数据”,GPT-3 模型就是应⽤⽣成模型来。
多任务学习(Multitask learning):⼤多数深度学习系统都是单任务的, 只针对特定的场景。多任务系统克服了这⼀限制。他们受过训练,能够针对给定的输⼊解决不同的任务。例如我输⼊⼀个苹果,他可以帮我翻译成英⽂的 Apple ,可以找到⼀张苹果的图⽚,也可以找到苹果的⼀些特征等。
半监督学习(Semi-supervised learning):是以⽆监督的⽅式训练具有⾮常⼤数据集的模型,然后通过在较⼩的数据集中使⽤监督训练来调整模型以适应不同的任务。
通过 OpenAI API 调⽤GPT-3
由于微软现在还没开放 OpenAI 的 GPT-3 功能 , 现阶段我们只能通过 OpenAI 提供的 API 使⽤ GPT-3 。(当然你需要有⼀个美国的电话号码来激活该功能) ,OpenAI 有⾮常丰富的⽂档, 以及示例 ,让开发者可以⾮常快上⼿使⽤ API。
OpenAI
beta.openai.com
▌Python 调⽤ API ⼏个必须的步骤
1.安装 openai 库
pip install openai
2. 申请 API 的密钥
3. 可以通过 Notebook 测试⼀下
▌⼏个注意的点
1. 模型 engine ,现在针对 GPT-3 有2个⽐较主要的模型
模型 | 介绍 |
text-davinci-002 | GPT-3 关于⾃然语⾔处理场景的模型,通常需要较少的上下⽂。除了响应提示外,还⽀持在⽂本中插⼊补全。 |
code-davinci-002 | 可以理解和⽣成程序代码的模型,包括将⾃然语⾔翻译成代码(这个模型需要另外申请) |
2. 关于⼀些示例,你可以通过访问链接学习更多的应⽤场景
3. 你可以通过 OpenAI 提供的 Playground做⼀些测试
4. 你可以针对⾃⼰的业务定义 GPT-3 模型 ,你可以通过下方链接了解更多
示例
https://beta.openai.com/examples
Playground
https://beta.openai.com/playground
定义 GPT-3 模型
https://openai.com/blog/customized-gpt-3/
展望
GPT-3 功能强⼤ ,让 AI 应⽤场景更贴近实际的⽣活 。我⾮常希望微软的 OpenAI Service 能尽快开放 ,让更多的开发者能使⽤。还有现在 OpenAI GPT-3 在中⽂的⽀持还是⾮常有限的, 我也寄望微软版本的服务能有更好的中⽂⽀持。
相关资料
了解 Azure OpenAI Service 功能,请访问
https://azure.microsoft.com/en-us/services/cognitiveservices/openai-service/?ocid=AID3042760
Azure OpenAI Service 介绍,请访问
https://blogs.microsoft.com/ai/new-azure-openai-service/?ocid=AID3042760
OpenAI 的相关博客
https://openai.com/blog/
Microsoft Build 2022已正式启动报名!
立即扫码注册大会
5月11日后可预约session
关注微软中国MSDN公众号了解更多
带你进⼊ OpenAI 的世界相关推荐
- 带你进入 OpenAI 的世界
2021年11月的 Microsoft Ignite , 微软带来了全新的 Azure OpenAI Service,通过新的 Azure 认知服务能够访问 OpenAI 强大的 GPT-3 模型 . ...
- 领上这张入场券,带你进入声网 Agora 开发者社区
一直以来 我们以各种形式来传播RTC技术,比如 开源Demo.技术文章.直播课.科普视频 也组织过各种活动,包括 Beta Program.Meetup.编程大赛.RTC大会 这些内容.活动都沉(fē ...
- 【密码学】一万字带您走进密码学的世界(下)
引文 密码学是研究编制密码和破译密码的技术科学.研究密码变化的客观规律,应用于编制密码以保守通信秘密的,称为编码学:应用于破译密码以获取通信情报的,称为破译学,总称密码学. 在<一万字带您走进密 ...
- 【密码学】一万字带您走进密码学的世界(上)
引文 密码学是研究编制密码和破译密码的技术科学.研究密码变化的客观规律,应用于编制密码以保守通信秘密的,称为编码学:应用于破译密码以获取通信情报的,称为破译学,总称密码学. 为了使读者对密码学有一个整 ...
- 带你走进rsync的世界
导读 Rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件,也可以使用 Rsync 同步本地硬盘中的不同目录.rsync共有3种使用方 ...
- 客户旅程_我们进入微服务世界的旅程-以及从中学到的东西。
客户旅程 by Ignacio Salazar Williams 通过伊格纳西奥·萨拉萨尔·威廉姆斯(Ignacio Salazar Williams) 我们进入微服务世界的旅程-以及从中学到的东西. ...
- JAVA带财务进销存ERP管理系统源码,免费分享源码
JAVA带财务进销存ERP管理系统源码 开发语言 : JAVA 数据库 : MySQL 开发工具 : Eclipse 源码类型:全开源免费分享,需要源码学习可以私信我. 系统概述: 系统主要模块有零售 ...
- JAVA带财务进销存 ERP管理系统源码《免费分享源码》
<免费分享源码>JAVA带财务进销存 ERP管理系统源码 开发语言 : JAVA 数据库 : MySQL 开发工具 : Eclipse 源码类型 : WebForm 开源地址:http:/ ...
- 手把手带你进入爬虫的世界
手把手带你进入爬虫的世界 爬虫技术是在互联网时代中非常重要的技能之一.它可以帮助你从网上获取信息,同时也可以进行数据分析和挖掘.本文将手把手地带你进入爬虫的世界,打好基础,让你走得更远. 什么是爬虫? ...
最新文章
- git查找两个分支的共同节点
- 怎么配置搭建Nginx网站服务器
- 斐波那契数列算法分析
- 在…视域下是什么意思_电影中出现的出品人是什么意思?你需要了解下
- 二分答案——跳石头(洛谷 P2678)
- 将序列设置为字段的默认值 - oracle
- QT学习之路:从入门到精通
- matlab 以10为底的对数
- 【CSS】对话框--禁止弹框/对话框蒙层下方内容滚动
- How to install php evn on ubuntu
- 喜茶多肉瓜瓜 | 埃德珈奶茶饮品培训,饮品配方做法制作教程
- SQL Server 数据库中的临时表
- web.xml放在哪个目录下_美术资源标准(文件夹目录篇)
- 能源实现物联网云平台方案
- Java远程屏幕监控案例
- 认识Web Workers
- Python中的pass的作用
- 复习JavaEE笔记
- Java游戏项目之王者荣耀
- Python创建txt文件并读取与写入