服务粉丝

我们一直在努力
当前位置:首页 > 财经 >

Azure OpenAI 官方指南04|Codex的模型结构和应用场景

日期: 来源:微软开发者MSDN收集编辑:Azure OpenAI

点击上方蓝字

关注我们

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

Codex 是 OpenAI 公司推出的 GPT-3(Generative Pre-trained Transformer – 3)的多个派生模型之一。它是基于GPT语言模型,使用代码数据进行 Fine-Tune(微调)而训练出的专门用于代码生成/文档生成的模型。Codex 模型参数从12M到12B不等,是目前最强的编程语言预训练模型。Codex 能够帮助程序员根据函数名和注释自动补全代码、直接生成代码、自动补充测试样例,并支持多种编程语言。本期 Azure OpenAI 官方指南将详解 Codex 的模型结构如何帮助程序员实现自动代码生成。



Codex 的模型结构 ╱ 01

Azure Codex 模型家族简介 ╱ 02

Codex 的应用场景示例 ╱ 03



01

Codex的模型结构



OpenAI CTO 兼联合创始人 Greg Brockman 表示,“Codex 将是一款能够施展程序员力量的重要工具”。Codex 项目负责人 Wojciech Zaremba 则将 Codex 视为编码历史演变的下一阶段。那么,Codex 是如何颠覆编码的?


编程主要分为两个阶段,第一个阶段是认真思考问题并尝试理解,第二个阶段是把这些小片段与现有代码映射起来,包括库、函数以及 API。通过自然语言模型结构与代码数据集训练,在第二个阶段,Codex 模型的优势显露无疑。“Codex 的出现,让专业程序员们告别了不少令人头痛的苦差事。”


模型结构

在GPT模型上加入额外token


Codex 的模型结构和 GPT 完全一样,为了尽可能地利用 GPT 的文本表示,Codex 使用了和 GPT-3 一样的分词器。但因为代码中词的分布和自然语言中词的分布有很大区别,GPT-3 的分词器在表示代码时可能不是非常有效。Codex 论文显示在 GPT-3 的分词器中加入了额外的一些 token 来表示不同长度的空格,这样在表示代码时可以少使用 30% 的 token。


推理时,使用核采样不断采样 Codex 生成的 token,直到碰见以下字符中的任何一个:"\nclass","\ndef","\n#","\nif" , '\nprint'。这样可以大大减小模型第一和最后一层的参数量。实验证明 Codex 可以通过增加模型规模持续精进。如下图所示:



数据集

用于微调与评测


●  Fine-Tuning 数据集

首先是用来做 Fine-Tuning 的 code 数据集。在2020年5月,Codex 从 Github 的 54,000,000 个公开代码仓上收集了数据,包括 179 GB 大小在 1 MB 以下的独一无二的 python 文件,在经过过滤后,最终的数据集大小为 159GB。


●  评测数据集

Codex 将生成代码的功能正确性作为评测指标,关注从 docstrings 生成 python 函数的任务,并通过 unit tests 的方法来评测生成代码的正确性。评测指标采用的是 pass@k。评测数据集包含 HumanEval 和 APPS 两个数据集。


HumanEval 构建了一个包括164个人工手写的编程问题的数据集,其中每个编程问题包括函数头、docstrings、函数体和几个 unit tests。HumanEval 中的编程问题可以用来评估语言理解能力、推理能力、算法能力和简单的数学能力,该数据集已经开源。人工手写是非常重要的:因为如果直接从网上找,比如说从 leetcode 上去扒,很有可能导致数据穿越。


Codex、GPT-Neo、GPT-J 和 TabNine 在 HumanEval 上的实验结果对比如下图所示,可以发现 Codex-300M 的效果优于 GPT-J 6B。




02

Azure Codex 模型家族


Codex 擅长 Python,精通十多种语言,包括c#、JavaScript、Go、Perl、PHP、Ruby、Swift、TypeScript、SQL 和 Shell。Codex 的模型包含:code-davinci-002、code-cushman-001(按能力大小排列)。


●  Davinci

与 GPT-3 类似,Davinci 是最强大的 Codex 模型,可以执行其他模型能够执行的任何任务,而需要更少的指令。对于需要深入理解内容的应用程序,Davinci 可以产生最好的结果。更强大的功能需要更多的计算资源,因此 Davinci 的成本更高,速度也不如其它模型。


●  Cushman

很强大,同时速度很快。当谈到分析复杂任务时,Davinci 更强,而 Cushman 是许多代码生成任务的能干模型。Cushman 通常也比 Davinci 跑得更快、更便宜。

◉ 上图为 Azure Codex 模型概要

该模型仅可根据要求进行微调。目前我们不接受微调模型的新请求。

由于需求量大,美国东部目前无法为新客户提供微调服务。请使用美国中南部地区进行培训。




03

Codex 应用场景示例


Codex 模型主要应用在IT科技部门的代码研发流程自动化上。


●  编写程序

比如开发小游戏,准确率高达72%!Codex 不仅能够收到指令后自行编程,还能够开发小游戏。



● 辅助编程

微软、OpenAI、GitHub 联合推出了自动代码生成 AI Copilot,Copilot 能够在用户输入过程中随时提供补全代码行内容的建议。





企业级Azure OpenAI国际版官方指南

Vol.04 Codex 作者


陈珊珊 微软云大数据与人工智能架构师


相关阅读

  • 来认领你的神仙GPT助理!

  • ChatGPT 风潮席卷全球,越来越多企业开始将生成式 AI 应用在商业场景中。微软也在 3 月陆续推出了 Dynamics 365 Copilot、Microsoft 365 Copilot 以及 Power Platform Copilo
  • 用ChatGPT+爬虫搞副业心得

  • 说起兼职,我有一位做了4年Python工程师的朋友,爬虫做副业起码挣了20W+,写各种奇葩爬虫挣钱。爬虫兼职方式多,单也很多,首先是爬虫外包活,国内有平台接单,价格500-4000不等。也可以
  • 百度文心一言发布,硬刚 ChatGPT!

  • 点击关注公众号,架构干货及时送达来源:OSC开源社区OpenAI 刚发布了 GPT-4,百度预热已久的人工智能生成式对话产品也终于亮相了。今天下午,文心一言 (ERNIE Bot)—— 百度全新一
  • 165K Star!面试有这个项目,稳了!

  • 关注“脚本之家”,与百万开发者在一起原创:开源小分队(微信公众号ID:sourceteam)已获得原公众号授权转载今天了不起给大家推荐一个非常牛的JavaScript算法与数据结构项目-javasc
  • 史上最大规模降价!5月7日生效!

  • 4月26日,阿里云宣布启动史上最大规模降价,核心产品价格全线下调15%-50%,存储产品最高降50%。阿里巴巴董事会主席张勇26日还透露,已有20万企业用户申请接入阿里版ChatGPT“通义千问

热门文章

  • “复活”半年后 京东拍拍二手杀入公益事业

  • 京东拍拍二手“复活”半年后,杀入公益事业,试图让企业捐的赠品、家庭闲置品变成实实在在的“爱心”。 把“闲置品”变爱心 6月12日,“益心一益·守护梦想每一步”2018年四
  • 美国对华2000亿关税清单,到底影响有多大?

  • 1 今天A股大跌,上证最大跌幅超过2%。直接导火索是美国证实计划对华2000亿美元产品加征25%关税。 听起来,2000亿美元数目巨大,我们来算笔账。 2000亿美元,按现在人民币汇率

最新文章

  • 失联11天后,传来噩耗!

  • 4月15日15时许,合肥驴友芮先生在河南金刚台山中失联,至今已11日。4月26日下午,记者获悉,芮先生的遗体已在西河景区谷底被找到,目前有关部门正赶往现场。此前报道合肥41岁驴友失联
  • Bing 性能是如何跟随 .NET 一起迭代的?

  • 点击上方蓝字关注我们(本文阅读时间:6分钟)大约两年前,我发表了一篇文章,详细的介绍了 Bing 的中央工作流引擎(XAP)从 .NET Framework 升级到 .NET 5 的过程。你可以通过这篇文
  • 规则推荐,这个合集一般人不敢用!

  • 不星标可能收不到消息,记得星标公众号回复QQ群获取群号前言今天给大家推荐一个轻合集小程序,由153大佬维护,它叫轻合集.鬼屋,不过其实并不是全是恐怖小程序轻合集.鬼屋什么时候
  • 四个站汇集,啥都能搜!

  • 不星标可能收不到消息,记得星标公众号回复QQ群获取群号前言今天给大家推荐一个小程序,叫AI图书馆AI图书馆使用AI识片的技术,批量多线程搜索多个网站,包含知搜、YouGit等四个站点