【通览一百个大模型】CodeX(OpenAI)

【通览一百个大模型】CodeX(OpenAI)

作者:王嘉宁,本文章内容为原创,仓库链接:https://github.com/wjn1996/LLMs-NLP-Algo

订阅专栏【大模型&NLP&算法】可获得博主多年积累的全部NLP、大模型和算法干货资料大礼包,近200篇论文,300份博主亲自撰写的markdown笔记,近100个大模型资料卡,助力NLP科研、学习和求职。


CodeX大模型基本信息资料卡

序号大模型名称归属推出时间规模预训练语料评测基准模型与训练方法开源论文模型地址相关资料
5CodeX
CodeX-C
CodeX-D
产品:Copilot
OpenAI2021-07<12B1、来自GitHub约为159GB的代码数据,用于Code Fine-Tuning
2、监督微调:编程比赛网站和持续合入的代码仓分别构造了10000、40000个编程问题,并进行了过滤。
构建HumanEval、APPS评测数据集。不采用BLEU等指标,而是定义pass@k来表示大模型在HumanEval测试集上功能正确性在GPT3的基础上,先在大规模的代码语料上进行预训练,得到CodeX。其次在监督数据集上进行微调,CodeX-C:根据函数名、docstrings生成函数体;CodeX-D:根据函数名和函数体生成docstrings。
image.png
未开源论文未开源查看
资料

CodeX

欢迎订阅阅读【大模型&NLP&算法】。

  • 作者:王嘉宁
  • 本文章内容为转载或整理;
  • 仓库链接:https://github.com/wjn1996/LLMs-NLP-Algo

Evaluating Large Language Models Trained on Code
论文:https://arxiv.org/pdf/2107.03374.pdf
相关资料:https://zhuanlan.zhihu.com/p/414210861
转载


正如OpenAI 的联合创始人兼首席技术官 Greg Brockman介绍的那样,“Codex是GPT-3的后代”,Codex基于GPT-3使用code数据进行了Fine-Tuning,模型参数从 12M 到 12B不等。
CodeX训练过程:

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

这部分数据相当于是用于continual pre-training的

2. 评测数据集
在之前的代码生成工作中,主要采用的是基于匹配的方法,即基于模型输出和参考代码的精确或模糊匹配,如BLEU,也有一些工作基于匹配的方法做了一定的改进来捕捉代码的语义正确性,如CodeBLEU ,但论文中认为基于匹配的方法,不能评价编程功能的正确性,因为从功能上看,参考代码所对应的解空间是十分巨大和复杂的。因此,论文中参考了之前代码迁移工作 和“伪代码到代码”转换工作 中的做法,将生成代码的功能正确性作为评测指标

具体来说,在论文中,关注从docstrings生成python函数的任务,并通过unit tests的方法来评测生成代码的正确性。

评测指标采用的pass@k,在之前的工作 中,该指标表示被解决问题的比例,其中每个问题在预测时采样k个样本,k个样本中任何一个通过unit tests,则认为该问题被解决,但论文中指出,用这种方式计算 pass@k 方差比较大,论文对该评测指标进行了改进。与之前工作不同的是,对每个问题,在预测时产生 n≥k 个样本,统计能够通过unit tests的正确样本的数量 c ≤ n, 并根据下式计算 pass@k 的无偏估计:
image.png

pass@K的估计:
image.png
pass@K的评测脚本:
image.png

2.1 HumanEval
为了评价函数功能的正确性,论文中构建了一个包括164个人工受写的编程问题的数据集,叫做HumanEval,其中每个编程问题包括函数头、docstrings、函数体和几个 unit tests。HumanEval中的编程问题可以用来评估语言理解能力、推理能力、算法能力和简单的数学能力,该数据集已经开源 。
image.png
2.2 APPS
APPS 是 Hendrycks 等人提出的用来衡量语言模型编程能力的数据集,APPS一共包含10000个编程问题,每个编程问题都有若干个 unit tests,其中5000个编程问题作为训练集,5000个编程问题作为测试集,训练集中的每个问题还包括若干个正确答案。

3. Supervised Fine-Tuning数据集
从Github上收集的Code Fine-Tuning数据集除了独立函数外,还包含类实现、配置文件、脚本,甚至还包含存储数据的文件,这些代码和从 docstring 生成函数的相关性不大,因此,论文认为这种数据分布的不匹配会影响模型在HumanEval数据集上的效果。
为了进行额外的有监督的 fine-tuning,论文构建了一个用于正确生成独立函数的数据集,数据集的来源是编程比赛网站和持续合入的代码仓,论文通过前者构造了10000个编程问题,通过后者构造了40000个编程问题,并进行了过滤。
4. Docstrings 生成数据集
论文中还尝试了从代码生成docstrings,由于数据集中通常的数据格式为 <函数头><函数体>,因此根据函数头和 docstrings 生成函数体相对比较容易,而根据函数头和函数体生成 docstrings 可能没那么容易。通过将之前数据集中的数据格式变为<函数头><函数体>, 构造了一个根据代码生成 docstrings 的数据集。
二. 模型
Codex 的模型结构和 GPT 完全一样,论文中尝试了从头训练和基于 GPT-3 的参数 fine-tuning,结果发现基于 GPT-3 的参数 fine-tuning 并没有取得效果上的提升,原因可能是 Code Fine-tuning 数据集太大,但基于 GPT-3 的参数 fine-tuing 可以收敛的更快,因此,论文中都采用的是这种训练策略。
为了尽可能的利用 GPT 的文本表示,Codex 使用了和 GPT-3 一样的分词器,但因为代码中词的分布和自然语言中词的分布有很大区别,GPT-3 的分词器在表示代码时可能不是非常有效,在 python 语言中,分词器编码低效的一个主要原因是空格的编码,因此,论文中在GPT-3 的分词器中加入了额外的一些 token 来表示不同长度的空格,这样在表示代码时可以少使用 30% 的 token。
推理时,使用核采样 不断采样 Codex 生成的 token,直到碰见以下字符中的任何一个。
“\nclass”,“\ndef”,“\n#”,“\nif” , ‘\nprint’

2.1 Codex
论文中训练得到的第一个模型就是Codex,即在不同参数量的 GPT-3 上做 Code-Funing 得到的模型,模型参数量有12M、25M、42M、85M、300M、679M,2.5B 和 12B。
2.2 Codex-S
为了提升 Codex 在 HumanEval 数据集上的效果,论文将 Codex 在 Supervised Fine-Tuning 数据集上进行了fine-tuning,得到的模型称为 Codex-S。为了和HumanEval保持一致,将数据都处理成了图2所示例子的形式,当一个batch内提示(函数名和 docstrings )长度不同时,采用了 left-pad 的方法进行了处理,在训练时,mask了所有提示中的token上的loss。
2.3 Codex-D
为了训练 Codex 生成 docstrings 的能力,论文将 Codex 在 Docstrings 生成数据集上进行了fine-tuning,得到的模型称为Codex-D,在训练时,mask了所有代码(函数名+函数体)中token上的loss。

  博客记录着学习的脚步,分享着最新的技术,非常感谢您的阅读,本博客将不断进行更新,希望能够给您在技术上带来帮助。


【大模型&NLP&算法】专栏

近200篇论文,300份博主亲自撰写的markdown笔记。订阅本专栏【大模型&NLP&算法】专栏,或前往https://github.com/wjn1996/LLMs-NLP-Algo即可获得全部如下资料:

  • 机器学习&深度学习基础与进阶干货(笔记、PPT、代码)
  • NLP基础与进阶干货(笔记、PPT、代码)
  • 大模型全套体系——预训练语言模型基础、知识预训练、大模型一览、大模型训练与优化、大模型调优、类ChatGPT的复现与应用等;
  • 大厂算法刷题;

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/52481.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

火车头采集器伪原创【php插件代码】

大家好&#xff0c;火车头伪原创给大家分享一下c语言和python区别大吗&#xff0c;很多人还不知道这一点。下面详细解释一下。现在让我们来看看&#xff01; <?php header("Content-type: text/html; charsetgb2312"); set_time_limit(0);error_reporting(E_ALL)…

小发猫伪原创,python下载需要花钱吗

大家好&#xff0c;给大家分享一下下载python需要下载pycharm吗&#xff0c;很多人还不知道这一点。下面详细解释一下。现在让我们来看看&#xff01; 1、python软件免费吗_百度知道 python软件免费吗? python是免费的&#xff0c;是自由、开放源码的软件之一&#xff0c;在p…

【Stable Diffusion | AI 绘画】手把手教你体验--AI 生成唯美二次元

应用背景 AI 绘画是一种应用人工智能技术来生成数字艺术作品的创作方法。这个领域的发展让艺术家和设计师能够更加轻松地使用技术来实现创意和想象。AI绘画是数字艺术领域的一种热门话题&#xff0c;因为它可以让我们了解人工智能技术如何应用于创造性领域&#xff0c;并且可以…

腾讯测开,也不简单啊...

很多同学觉得后端岗位太卷&#xff0c;都会去投一下测开岗位&#xff0c;但是不知道如何准备测开。 其实测开的面试和后端差不多的&#xff0c;一样是八股文项目算法&#xff0c;所以直接按后端开发的方向准备就行了。 今天分享一位同学腾讯测开的面试&#xff0c;腾讯测开的…

佛经中蕴涵的人生哲理

一、人之所以痛苦&#xff0c;在于追求错误的东西。 二、与其说是别人让你痛苦&#xff0c;不如说自己的修养不够。 三、如果你不给自己烦恼&#xff0c;别人也永远不可能给你烦恼。因为你自己的内心&#xff0c;你放不下。 四、好好的管教你自己&#xff0c;不要管别人。 …

测试和对比一下ChatGLM2-6B和BaiChuan-13B的对自然语言的理解结果

测试和对比一下ChatGLM2-6B和BaiChuan-13B的对自然语言的理解结果 0. 背景1. 测试示例说明2. ChatGLM2-6B 的测试代码和测试结果(截图)3. Baichuan-13B 的测试代码和测试结果(截图)4. Llama-2-70b-Chat 测试结果(截图)5. ChatGPT(3.5) 测试结果(截图)6. Claude2 测试结果(截图)…

物联网还有哪些创业机会?

如果每个网络信号都有实体的话&#xff0c;我们眼前的世界一定会越来越拥挤。 二十年前&#xff0c;互联网改变了我们获取信息和相互交流的方式。现在&#xff0c;这一运动正在以相同的方式改变我们与周遭物理世界的联系。据市场研究机构DC预测&#xff0c;到2020年时&#xf…

人工智能亟待深耕

两年前&#xff0c;一场围棋的人机大战掀动了人工智能的热潮&#xff0c;各类AI创业公司如雨后春笋般涌现&#xff0c;资本纷纷加码&#xff0c;深度学习、神经网络等概念炙手可热。然而&#xff0c;除了人脸识别、语音智能之外&#xff0c;人工智能带来的惊喜与公众的期待还有…

最强王者级主动股票基金和债券基金池

好久没发说说了&#xff0c;今天周六整理了下圈子里各位大V组合和筛选了全市场的所有主动型基金。整理了一份主动股票基金和债券基金优选池&#xff0c;用于接下来调整资产配置&#xff0c;弥补主动基金投资这部分的空缺。 说明&#xff1a;主动基金更重要的是基金经理人。可以…

“史上“最疯狂”的顶级数学家,看完后忍不住感慨太神了”

▲ 点击查看 说起世界上最顶级的数学家&#xff0c;你的脑海中会浮现的&#xff0c;大概是欧拉、高斯、香农等数学巨匠。但是要说起成就和神秘性兼备的&#xff0c;一定就是—— 称为印度之子的——拉马努金。 1887年12月22日&#xff0c;拉马努金出生在印度一个穷困潦倒的家庭…

互联网+智能化实验室建设将成发展趋势

群贤毕至——邢志、赵晓光、卢晓红、赵永刚与您畅谈互联网智能化实验室建设&#xff01; 2019年10月23日&#xff0c;第十八届北京分析测试学术报告会暨展览会(BCEIA2019)在北京国家会议中心盛大开幕。 2019年10月23日&#xff0c;第十八届北京分析测试学术报告会暨展览会(BCEI…

2020(广东)功能性农业大健康大会中国农民丰收节交易会

2020&#xff08;广东&#xff09;功能性农业大健康大会中国农民丰收节交易会 新闻中国采编 中国新闻釆编 谋定研究中国智库、经信研究 国研智库 国情讲坛 万权釆编&#xff1a;“倡导农业大健康以创造交易机会、打通功能性食品及特色地域地标性农副产品到达餐桌最后一公里&am…

matlab相机标定论文,基于MATLAB中calibration toolbox的相机标定应用研究

(2)在主窗口中通过读取图片&#xff0c;可以获得所要标定的照片。 (3)获取角点。程序运行界面如图5所示。程序标定结果如下&#xff1a; %--Focal length: fc[3463.194803808018200;3807.341090056066200]; %--Principal point: CC[1633.861831663415600;1394.235351077526500]…

寒冬中,这些行业正在爆发

来源 | 深燃&#xff08;shenrancaijing&#xff09; 作者 | 唐亚华 编辑 | 黎明 2021年&#xff0c;各行各业似乎都过得不太容易。一级市场融资难&#xff0c;二级市场股价不振&#xff0c;资本失去了往日的昂扬。 这一年&#xff0c;大厂裁员收缩&#xff0c;开源节流&#x…

我要是早点用Python做副业就好了......

近几年的科技发展趋势十分有趣&#xff0c;关注科技圈的朋友应该都能有一种共识&#xff0c;那就是人类科技进化的“技能点”似乎都点在了人工智能、虚拟现实、大数据、物联网与区块链上&#xff0c;相关技术在短时间内被广泛普及并大量应用。其速度之快&#xff0c;应用之广&a…

JavaEE期末项目——惠健康医疗平台

JavaEE期末项目——惠健康医疗平台 惠健康医疗平台惠健康后端系统实现功能惠健康官网平台实现功能惠健康后端系统具体功能界面展示首页可视化数据订单管理用户管理商品管理生产商厂商管理病患追踪签约专家 惠健康官网具体功能界面展示登录界面官网首页商品详细页个人信息页购物…

chatgpt赋能Python-python31个关键词

Python 31个关键词: 了解Python编程的基础知识 Python是一种高级编程语言&#xff0c;首次推出于1991年。自那时以来&#xff0c;Python已经成为最受欢迎的编程语言之一&#xff0c;它具有易读性、易维护性和清晰的语法。在这篇文章中&#xff0c;我们将介绍Python的31个关键词…

重新审视Prompt优化问题,预测偏差让语言模型上下文学习更强

©作者 | 机器之心编辑部 来源 | 机器之心 LLMs 在 In-context Learning 下取得了良好的表现&#xff0c;但是选取不同的示例会导致截然不同的表现。一项最新的研究工作从预测偏差 (predictive bias) 角度&#xff0c;提出了 prompt 搜索策略&#xff0c;近似找到了最优的示…

老王跑步入场GPT,要搞AI,先送外卖?

十年前AlphaGo火的时候&#xff0c;百度在送外卖&#xff1b; 十年后ChatGPT火的时候&#xff0c;抖音还在送外卖&#xff1b; 而十年前送外卖的大佬&#xff0c;现在出来搞AI&#xff1b; 所以……要搞AI&#xff0c;先送外卖&#xff1f; 公众号后台回复&#xff1a;“ChatGP…

微信小程序输入框限制字数

想实现的效果如上图 wxml: <view classsuggest_title>请输入你想反馈的问题</view><view classsuggest_box><textarea classsuggest_text bindinput"bindText" maxlength200 placeholder我们有什么地方让您不满意&#xff0c;请输入您的反馈意…