BigCode开放性能超越Copilot的代码生成模型Starcoder

2023-05-16

BigCode释出高效能程式码生成模型StarCoderBase,与为Python调校的StarCoder,效能超越GitHub Copilot初期版本所用的OpenAI code-cushman-001模型:

  • BigCode昨晚发布了基于源代码和自然语言文本训练的编程语言生成模型StarCoder。其训练数据包含超过80种不同的编程语言,以及从github issues和commits以及notebooks中提取的文本。
  • StarCoder的基座模型StarCoderBase拥有155亿个参数,支持80多种编程语言、8192个token的上下文。StarCoder是在基座模型上额外使用350亿Python语言的Token训练而成的。

Github地址:https://github.com/bigcode-project/starcoder
项目地址:https://www.bigcode-project.org/BigCodeProject
论文地址:https://drive.google.com/file/d/1cN-b9GnWtHzQRoE7M7gAEyivY0kl4BYs/view
体验地址:https://huggingface.co/spaces/bigcode/bigcode-playground

开放科学协作组织BigCode选在星战日,发布论文〈StarCoder : May the source be with you!〉,并释出150亿参数的大型语言模型StarCoderBase,以及进一步为Python调校的StarCoder模型。

两个模型皆使用大量GitHub上的授权程式码进行训练,是目前所有开放程式码生成模型中效能最佳的模型,甚至已经超过GitHub Copilot初期版本所使用的OpenAI code-cushman-001模型。

其评估结果表明,StarCoderBase优于所有支持多种编程语言的开放编程语言模型,并且媲美或优于OpenAI code-cushman-001模型。此外,StarCoder在Python上的性能优于所有经过微调的模型,在HumanEval上可以达到40% pass@1,并在其他编程语言上仍然保持其性能。

ServiceNow研究院与Hugging Face所合作成立的BigCode,是一个开放科学协作组织,该组织目标是负责任地开发程式码生成大型语言模型。在2022年底,BigCode先释出了一个仅有11亿参数的高效能程式语言模型SantaCoder,可生成和填充Python、Java与JavaScript程式码。SantaCoder模型虽小,但效能已经比起拥有67亿参数的InCoder,以及27亿参数的模型CodeGen-multi还要好。

StarCoderBase是更大型的程式码生成模型,开发团队使用大量的程式码训练,涵盖80多种程式语言、Git提交、GitHub问题和Jupyter笔记本,模型总共从1兆输入的文字单位(Token)中学习。开发团队另外用350亿个Python Token微调,生成StarCoder模型。

StarCoder模型的优点之一,是可以处理比其他大型语言模型更多的输入,可以接受高达8,000个Token,而这将能支援更多样的应用,像是经过一系列的对话指示,便可使StarCoder成为技术助理。而StarCoder也能胜任一般程式码生成模型所能达成的任务,像是自动完成程式码,遵循指令修改程式码,以及用自然语言解释程式码片段等。

开发团队将StarCoder与类似模型,以Python基准测试HumanEval进行测试,了解StarCoder与其他模型在能力上差异。实验发现,虽然无论是StarCoderBase还是StarCoder,模型规模都较PaLM、LaMDA和LLaMA小得多,但是表现却更好,并且也能比Salesforce CodeGen-16B-Mono和OpenAI code-cushman-001模型生成更好的结果。

由于StarCoder是一个多语言模型,因此开发团队也使用MultiPL-E基准测试进行比较,在多语言上,StarCoder表现比OpenAI code-cushman-001模型更好,并在资料科学DS-1000基准测试上,击败其他开放存取模型。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

BigCode开放性能超越Copilot的代码生成模型Starcoder 的相关文章

随机推荐

  • docker 在本地 修改启动失败的 配置文件

    使用 docker inspect containerID 比如 然后出现一大推这类文件 找到 data 选项里面的 34 MergedDir 34 cd 切换到 本地 这个目录 切换过来如果有的话 直接去镜像对应目录找文件修改 也有可能
  • 简历上的项目经历怎么写 ?这 3 条原则不可忽视 !

    原创 xff1a 黄小斜 程序员江湖 阅读本文大概需要 5 分钟 作为一个程序员 xff0c 想必大家曾经都做过一些项目 xff0c 可能现在手头上也还有一些项目 不过还是有很多学生朋友来问我 没有项目怎么办 xff0c 诚然 xff0c
  • 程序员面试必问:你为什么要离开上一家公司。你会怎么回答?

    在进行社招面试时 xff0c 有一个问题几乎是必问的 xff1a 你为什么要离开上一家公司 xff1f 其实这个问题主要是想试探一下你的核心诉求 xff0c 并借此预估一下你在本公司工作的稳定性 常见的答案也无非就是这么几种 xff1a 对
  • input框赋值

    input框赋值 lt input id 61 34 name1 34 name 61 34 teacherName 34 type 61 34 text 34 gt 通过以下js代码可以实现对input文本框进行赋值 39 name1 3
  • form表单改为AJAX提交

    一 form表单改成AJAX提交 原来的form格式 lt form action 61 34 xxx 34 method 61 34 get 34 gt action的值是请求的url地址 lt div class 61 34 form
  • 程序员只能在一线城市么?

    01 困惑的提问 小伙伴焱在 Java极客技术 星球上提问 xff0c 内容如下 xff1a 本人毕业一年多在广州工作了一年左右 xff0c 因为一些原因离开广州到了二线城市工作 xff0c 进了个小公司 虽然技术上也用到了 SpringC
  • KIND网络插件实验:使用bridge作为cni插件

    kind网络插件实验 KIND简介和环境安装和使用cni bridge插件验证 KIND简介和环境 KIND kubernetes in docker 是在本地通过docker容器运行kubernetes环境的一个工具 xff0c 它能够把
  • nuxt nuxtServerInit asyncData 不能await 或者await报错

    因为一般是async nuxtServerI async asyncData await fangfa xff08 xff09 await的上一层一定要是async 不然会报错
  • 目标检测中precision、recall、AP、mAP的含义

    在阅读目标检测相关的论文中遇到评估模型性能时使用mAP这一概念 xff0c 为此查阅相关资料来进行理解 与mAP相关的还有平均精度 xff08 AP xff09 平均精度均值 xff08 mAP xff09 查准率 xff08 precis
  • Gazebo加载慢或者黑屏打不开问题解决

    模型的加载需要连接国外网站 xff0c 所以加载速度慢 解决办法 xff1a cd gazebo mkdir p models cd gazebo models wget http file ncnynl com ros gazebo mo
  • 【合辑】三维激光点云机载激光LiDAR论文及翻译

    60 翻译论文 Urban land cover classification using airborne LiDAR data A review xff08 2014 xff09 使用机载LiDAR数据的城市土地覆盖分类 xff1a 综
  • java引用类型

    Java对引用的概念进行了扩充 xff0c 将引用分为强引用 xff08 Strong Reference xff09 软引用 xff08 Soft Reference xff09 弱引用 xff08 Weak Reference xff0
  • freeRTOS 互斥锁和二值信号量

    互斥锁创建 xff0c 初始值为1 二值信号量创建 xff0c 初始值为0 take信号量含义获取一个信号里 xff0c 从公共资源去拿走该信号量 带有占用含义 give信号量含义是释放一个信号量 gt 把信号量放入到公共资源区 下次想再g
  • open vswitch 所有实例过MAC地址都是同一个MAC

    问题 xff1a 所有实例出到物理网络中 xff08 出了实例所在主机的网卡后 xff09 时MAC地址都是同一个MAC xff08 进入实例查看网卡信息时 xff0c 它们的MAC是不一样的 xff09 注 xff1a 红色的全部是我的实
  • 小白学C++ L1 解析第一个C++程序

    解析第一个C 43 43 程序 span class token macro property span class token directive hash span span class token directive keyword
  • SOCKET CAN的理解

    转载 xff1a https www cnblogs com FZLGYZ p 11750462 html 转载 xff1a https blog csdn net Righthek CAN总线原理 由于Socket CAN涉及到CAN总线
  • KIND网络插件实验:使用flannel作为cni插件

    KIND网络插件实验 前言部署flannel验证总结后续 前言 KIND环境介绍及启动 xff08 禁用默认的网络插件 xff09 请跳转到 KIND网络插件实验 xff1a 使用bridge作为cni插件 上文介绍了使用bridge作为K
  • 【NLP最佳实践】Huggingface Transformers实战教程

    内容简介 x1f917 手把手带你学 xff1a 快速入门Huggingface Transformers 和鲸链接 xff1a https www heywhale com home activity detail 61dd2a3dc23
  • DeepSpeed-Chat:最强ChatGPT训练框架,一键完成RLHF训练!

    https github com microsoft DeepSpeedExamples tree master applications DeepSpeed Chat 一个快速 负担得起 可扩展和开放的系统框架 xff0c 用于实现端到端
  • BigCode开放性能超越Copilot的代码生成模型Starcoder

    BigCode释出高效能程式码生成模型StarCoderBase xff0c 与为Python调校的StarCoder xff0c 效能超越GitHub Copilot初期版本所用的OpenAI code cushman 001模型 xff