首页 > 其他分享 >开源代码生成模型 StarCoder 2 全新上线!

开源代码生成模型 StarCoder 2 全新上线!

时间:2024-03-05 10:36:25浏览次数:32  
标签:代码生成 训练 模型 StarCoder2 StarCoder v2 开源 token Stack

BigCode 正式推出 StarCoder2 —— 一系列新一代的开放源代码大语言模型 (LLMs)。这些模型全部基于一个全新、大规模且高品质的代码数据集 The Stack v2 进行训练。我们不仅公开了所有的模型和数据集,还包括了数据处理和训练代码的详细信息,详情请参阅 相关论文

StarCoder2 是什么?

StarCoder2 是一套面向代码的开放式大语言模型系列,提供 3 种规模的模型,分别包括 30 亿 (3B)、70 亿 (7B) 和 150 亿 (15B) 参数。特别地,StarCoder2-15B 模型经过了超过 4 万亿 token 和 600 多种编程语言的训练,基于 The Stack v2 数据集。所有模型均采用分组查询注意力机制 (Grouped Query Attention),具备 16,384 个 token 的上下文窗口和 4,096 个令牌的滑动窗口注意力,并通过“填充中间” (Fill-in-the-Middle) 技术进行训练。

StarCoder2 包含三种规模的模型: ServiceNow 训练的 30 亿参数模型、Hugging Face 训练的 70 亿参数模型以及 NVIDIA 利用 NVIDIA NeMo 在 NVIDIA 加速基础架构上训练的 150 亿参数模型:

  • StarCoder2-3B 基于 The Stack v2 的 17 种编程语言训练,处理了超过 3 万亿 token。
  • StarCoder2-7B 基于 The Stack v2 的 17 种编程语言训练,处理了超过 3.5 万亿 token。
  • StarCoder2-15B 基于 The Stack v2 的 600 多种编程语言训练,处理了超过 4 万亿 token。

StarCoder2-15B 模型在其级别中表现出色,与 33 亿以上参数的模型在多项评估中不相上下。StarCoder2-3B 的性能达到了 StarCoder1-15B 的水平:

The Stack v2 是什么?

The Stack v2 是迄今为止最大的开放代码数据集,非常适合进行大语言模型的预训练。与 The Stack v1 相比,The Stack v2 拥有更大的数据规模,采用了更先进的语言和许可证检测流程以及更优的过滤机制。此外,训练数据集按照仓库进行了分组,使得模型训练能够获得仓库上下文的支持。

数据集对比 The Stack v1 The Stack v2
全部数据量 6.4TB 67.5TB
去重后数据量 2.9TB 32.1TB
训练数据集大小 约 2000 亿 token 约 9000 亿 token

该数据集源自软件遗产档案 (Software Heritage archive),这是一个包含了丰富软件源代码及其开发历史的公共档案库。作为一个开放和非盈利的项目,软件遗产由 Inria 与 UNESCO 合作发起,旨在收集、保存并共享所有公开可用的软件源代码。我们对软件遗产提供这一无价资源表示感谢。欲了解更多信息,请访问 软件遗产网站

您可以通过 Hugging Face Hub 访问 The Stack v2 数据集。

关于 BigCode

BigCode 是由 Hugging Face 和 ServiceNow 联合领导的一个开放科研合作项目,致力于负责任地开发代码用大语言模型。

相关链接

模型资源

数据及治理

其他资源


英文原文: https://hf.co/blog/starcoder2

原文作者: Leandro von Werra, Loubna Ben Allal, Anton Lozhkov, Nouamane Tazi

译者: AdinaY

标签:代码生成,训练,模型,StarCoder2,StarCoder,v2,开源,token,Stack
From: https://www.cnblogs.com/huggingface/p/18053409

相关文章

  • Rust 登上了开源头条「GitHub 热点速览」
    抱歉!上周因为出月刊工作量比较大,所以「GitHub热点速递」暂停了一期,必须要给守着更新的读者道个歉,以后每周二的「热点速递」会按时更新,下不为例......
  • [系统] 开源通用系统框架(Java)
    0序1代码级通用框架1.0后端:Servlet+Structs+JDBC1.1后端:SpringMVC+Spring+MyBatis/SpringJPA1.2后端:SpringBootspringboothttps://spring.io/projects/spring-boot/https://spring.io/quickstarthttps://start.spring.io/https://github.com/spring......
  • RunnerGo-基于Go的开源测试平台介绍及使用
    前言测试人员目前广泛使用的测试工具如Postman、JMeter等,如Postman缺少对API的性能测试部分、JMeter则缺少测试报告和测试脚本的统一管理系统及UI测试功能,而RunnerGo的出现填补了传统测试工具的空缺,为测试人员提供了一个可以满足测试全流程的测试工具,本文将介绍RunnerGo的功能特......
  • Jitsi Meet 是一组开源项目,使用户能够使用和部署具有最先进视频质量和功能的视频会议
    JitsiMeet是一组开源项目,使用户能够使用和部署具有最先进视频质量和功能的视频会议平台。 为了在运行Docker和DockerCompose的机器上快速运行JitsiMeet,请执行以下步骤:下载并解压缩最新版本。不要克隆git仓库。如果您对运行测试映像感兴趣,请参阅下文:wget$(curl-sht......
  • 27.8k star!微软开源了免费的AI课程
    GitHub上的项目"microsoft/AI-For-Beginners"是由微软发起的一个旨在教育和引导初学者学习人工智能(AI)的资源库。根据提供的链接信息,这个项目提供了一个为期12周、包含24课的课程计划,旨在让所有人能够学习AI。github地址:https://github.com/microsoft/AI-For-Beginners这个项......
  • .NET开源功能强大的串口调试工具
    前言今天大姚给大家分享一款.NET开源的、功能强大的串口调试工具:LLCOM。工具介绍LLCOM是一个.NET开源的、功能强大的串口调试工具。支持Lua自动化处理、串口调试、串口监听、串口曲线、TCP测试、MQTT测试、编码转换、乱码恢复等功能。功能列表收发日志清晰明了,可同时显示HEX......
  • 在github开源市场如何高效寻找优秀开源项目
    作为程序员,不论是开发还是学习,肯定会用到开源项目,那么怎么快速在开源网站找到这些项目呢?常用的开源网站有:github和giteegithub是全球最大的开源社区,今天就以github为例,演示一下github界面一般来说,优秀的项目,维护会比较频繁,提交数也就会多一点。当然,一个好的项目,它......
  • C#的托盘窗体显示与隐藏效果 - 开源研究系列文章
          今天无聊,进行的C#的编码内容仍然在继续。这些天不断地在完善及编写C#的Winform相关的代码,并将其整理形成博文。这次带来的是关于窗体的显示及隐藏效果的代码段。上次有过一个代码,这次当做新代码进行更新了。1、项目目录; 2、代码介绍;1)这里是一......
  • C#的系统菜单添加自定义项 - 开源研究系列文章
          今天无聊,想起以前在VisualBasic6中有一个在应用程序的系统菜单中添加自定义项的源码,于是就编写了此基于C#的源码,在自己的其它项目中进行了使用,效果还是刚刚的。下面进行介绍: 1、项目目录; 2、代码介绍;下面就是在系统菜单中添加自定义项的......
  • RTE 开源|小红书 REDPlayer 正式发布!快来 get 同款播放器~
    本项目由RTE开发者社区x小红书联合运营 播放器最初出现在19世纪,当时主要用于播放音频,例如通过留声机播放唱片。 随着技术的进步,音频播放器不断改进,品质越来越好,体积也越来越小。到了今天,通过手机或网络,人们可以随时随地播放音频和视频。 优秀的播放器有几个特性:需......