StarCoder: 最先进的代码大模型

这篇具有很好参考价值的文章主要介绍了StarCoder: 最先进的代码大模型。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

关于 BigCode

BigCode 是由 Hugging Face 和 ServiceNow 共同领导的开放式科学合作项目,该项目致力于开发负责任的代码大模型。

StarCoder 简介

StarCoder 和 StarCoderBase 是针对代码的大语言模型 (代码 LLM),模型基于 GitHub 上的许可数据训练而得,训练数据中包括 80 多种编程语言、Git 提交、GitHub 问题和 Jupyter notebook。与 LLaMA 类似,我们基于 1 万亿个词元训练了一个约 15B 参数的模型。此外,我们还针对一个 35B 词元的 Python 数据集对 StarCoderBase 模型进行了微调,从而获得了一个我们称之为 StarCoder 的新模型。

我们发现 StarCoderBase 在流行的编程基准测试中表现优于现有其他开源的代码 LLM,同时与闭源模型相比,如来自 OpenAI 的 code-cushman-001 (早期版本的 GitHub Copilot 背后的原始 Codex 模型),其表现也相当甚至超过了闭源模型的表现。凭借超过 8,000 个词元的上下文长度,StarCoder 模型可以处理比任何其他开源 LLM 更多的输入,从而可以赋能更广泛的有趣应用。例如,通过用多轮对话来提示 StarCoder 模型,我们可以让它们充当我们的技术助理。此外,这些模型还可用于自动补全代码、根据指令修改代码以及用自然语言解释代码片段等任务。

为了实现开源模型的安全发布,我们采取了一系列的措施,包括改进了 PII (Personally Identifiable Information,个人身份信息) 编辑流水线、对归因跟踪工具进行了创新,并使用改进的 OpenRAIL 许可证发布 StarCoder。更新后的许可证简化了公司将模型集成到其产品中所需的流程。我们相信,凭借其强大的性能,StarCoder 模型将赋能社区将其应用或适配至广泛的应用场景和产品中。

评估

我们在不同的测试基准上对 StarCoder 及其他几个与其类似的模型进行了深入的评估。其中之一测试基准是 HumanEval,这是一个比较流行的 Python 基准测试,它主要测试模型是否可以根据函数的签名和文档来编写函数。我们发现 StarCoder 和 StarCoderBase 在 HumanEval 上的表现均优于最大的模型,包括 PaLM、LaMDA 和 LLaMA,尽管它们尺寸要小得多。同时,它们的性能还优于 CodeGen-16B-Mono 和 OpenAI 的 code-cushman-001 (12B) 模型。我们还注意到该模型会生成 #Solution here 这样的注释代码,这可能是因为此类代码通常是训练数据中代码习题的一部分。为了强制模型生成一个实际的解决方案,我们添加了提示词 <filename>solutions/solution_1.py\n# Here is the correct implementation of the code exercise。这使得 StarCoder 的 HumanEval 分数有了显著提高,从 34% 提升到 40% 以上,刷新了开源模型的最佳结果的记录。我们也在 CodeGen 和 StarCoderBase 上尝试了此提示词,但结果没有太大差异。

模型 HumanEval MBPP
LLaMA-7B 10.5 17.7
LaMDA-137B 14.0 14.8
LLaMA-13B 15.8 22.0
CodeGen-16B-Multi 18.3 20.9
LLaMA-33B 21.7 30.2
CodeGeeX 22.9 24.4
LLaMA-65B 23.7 37.7
PaLM-540B 26.2 36.8
CodeGen-16B-Mono 29.3 35.3
StarCoderBase 30.4 49.0
code-cushman-001 33.5 45.9
StarCoder 33.6 52.7
StarCoder-Prompted 40.8 49.5

StarCoder 的一个有趣方面是它是多语言的,因此我们在 MultiPL-E 上对其进行了评估,MultiPL-E 是 HumanEval 的多语言扩展版。我们观察到 StarCoder 在许多编程语言上与 code-cushman-001 的表现相当甚至更优。在 DS-1000 数据科学基准测试中,它以明显优势击败了 code-cushman-001 以及所有其他开源模型。好了,我们来看看除了代码补全之外,StarCoder 还能做些什么!

技术助理

经过详尽的评估,我们已经知道 StarCoder 非常擅长编写代码。我们还想测试它是否可以用作技术助理,毕竟它的训练数据中有大量的文档和 GitHub 问题。受 Anthropic 的 HHH 提示 的启发,我们构建了一个 技术助理提示。令人惊喜的是,仅凭提示,该模型就能够充当技术助理并回答与编程相关的问题!

训练数据

该模型是在 The Stack 1.2 的一个子集上训练的。该数据集仅包含许可代码,它还包含一个退出流程,以便代码贡献者可以从数据集中删除他们的数据 (请参见 Am I in The Stack)。此外,我们从训练数据中删除了个人身份信息,例如姓名、密码和电子邮件地址。

我们还发布了……

除了模型,我们还发布了一系列其他资源和应用演示:

  • 模型权重,包括具有 OpenRAIL 许可证的 checkpoints
  • 所有数据预处理和训练代码,许可证为 Apache 2.0
  • 对模型进行全面评估的工具
  • 用于训练的删除掉 PII 信息的新数据集,以及用于评估 PII 信息删除效果的代码
  • 用于训练的预处理过的数据集
  • 用于在数据集中查找生成代码出处的代码归因工具

链接

模型

  • 论文: 关于 StarCoder 的技术报告。
  • GitHub: 你可以由此获得有关如何使用或微调 StarCoder 的所有信息。
  • StarCoder: 基于 Python 数据集进一步微调 StarCoderBase 所得的模型。
  • StarCoderBase: 基于来自 The Stack 数据集的 80 多种编程语言训练而得的模型。
  • StarEncoder: 在 The Stack 上训练的编码器模型。
  • StarPii: 基于 StarEncoder 的 PII 检测器。

工具和应用演示

  • StarCoder Chat: 和 StarCoder 聊天!
  • VSCode Extension: 使用 StarCoder 补全代码的 VSCode 插件!
  • StarCoder Playground: 用 StarCoder 写代码!
  • StarCoder Editor: 用 StarCoder 编辑代码!

数据与治理

  • StarCoderData: StarCoder 的预训练数据集。
  • Tech Assistant Prompt: 使用该提示,你可以将 StarCoder 变成技术助理。
  • Governance Card: 有关模型治理的卡片。
  • StarCoder License Agreement: 该模型基于 BigCode OpenRAIL-M v1 许可协议。
  • StarCoder Search: 对预训练数据集中的代码进行全文搜索。
  • StarCoder Membership Test: 快速测试某代码是否存在于预训练数据集中。

你可以在 huggingface.co/bigcode 找到所有资源和链接!


英文原文: https://huggingface.co/blog/starcoder

原文作者: Leandro von Werra,Loubna Ben Allal

译者: Matrix Yao (姚伟峰),英特尔深度学习工程师,工作方向为 transformer-family 模型在各模态数据上的应用及大规模模型的训练推理。

审校/排版: zhongdongy (阿东)文章来源地址https://www.toymoban.com/news/detail-436826.html

到了这里,关于StarCoder: 最先进的代码大模型的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 参数估计与计算机视觉:最先进的方法与实例

    计算机视觉是人工智能领域的一个重要分支,其主要关注于计算机从图像和视频中提取高级的视觉信息。参数估计在计算机视觉中具有重要作用,主要用于优化模型的性能。在这篇文章中,我们将深入探讨参数估计在计算机视觉中的核心概念、算法原理、实例应用以及未来发

    2024年02月22日
    浏览(44)
  • IDEFICS 简介: 最先进视觉语言模型的开源复现

    我们很高兴发布 IDEFICS ( I mage-aware D ecoder E nhanced à la F lamingo with I ninterleaved C ross-attention S ) 这一开放视觉语言模型。IDEFICS 基于 Flamingo,Flamingo 作为最先进的视觉语言模型,最初由 DeepMind 开发,但目前尚未公开发布。与 GPT-4 类似,该模型接受任意图像和文本输入序列并生成

    2024年02月09日
    浏览(94)
  • 先进语言模型带来的变革与潜力

            用户可以通过询问或交互方式与GPT-4这样的先进语言模型互动,开启通往知识宝库的大门,即时访问人类历史积累的知识、经验与智慧。 像GPT-4这样的先进语言模型,能够将人类历史上积累的海量知识和经验整合并加以利用。通过深度学习和大规模数据训练,这些模

    2024年02月22日
    浏览(35)
  • 人工智能预测模型:从基础到先进

    人工智能(Artificial Intelligence, AI)是一门研究如何让计算机模拟人类智能的学科。预测模型(Predictive Models)是人工智能中的一个重要分支,旨在根据历史数据预测未来事件。预测模型广泛应用于商业、金融、医疗、科学等领域,帮助决策者做出明智的决策。 在本文中,我们将从基

    2024年03月24日
    浏览(92)
  • ChatGPT的使用指南:探索与利用先进对话模型的技巧与方法

    ChatGPT是一种先进的对话生成模型,通过模拟自然语言交互,能够与人类用户进行流畅的对话。为了帮助用户更好地利用ChatGPT,本文将介绍ChatGPT的基本用法、优化技巧以及注意事项,以便读者能够最大程度地发挥其潜力。 基本用法 输入格式:ChatGPT接受文本字符串作为输入,

    2024年02月16日
    浏览(51)
  • AllenAI 开源了关于大模型的所有细节!数据、代码、参数、训练过程,完全复现

    在人工智能领域,语言模型(LMs)的发展一直是推动自然语言处理(NLP)技术进步的核心力量。随着商业价值的增长,强大的语言模型逐渐被封闭在专有接口之后,它们的训练数据、架构和开发细节往往不为人知。然而,这些细节对于科学研究至关重要,它们不仅关系到模型

    2024年02月20日
    浏览(40)
  • Fox AI横空出世,集成了GPT 3.5,GPT4.0, Midjourney等多种先进的AI模型!

    友情提示:文章虽长但句句是精华,跳着看别怪FoxGPT没帮你挣着钱!别看说的就是你。 Fox AI: https://foxgpt.club/ 在人工智能领域, Fox AI 以其独特的集合式应用模式,引领着技术的新潮流。这款由 广东松狐科技有限公司 精心打造的产品,集成了GPT 3.5,GPT4.0, Midjourney等多种先进的A

    2024年02月11日
    浏览(52)
  • Google ScreenAI代表了一款先进的视觉语言模型,专为用户界面(UI)和视觉情境下的语言理解而设计

      每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领域的领跑者。点击订阅,与

    2024年04月11日
    浏览(43)
  • 使用 StarCoder 创建一个编程助手

    如果你是一个软件开发者,你可能已经使用过 ChatGPT 或 GitHub 的 Copilot 去解决一些写代码过程中遇到的问题,比如将代码从一种语言翻译到另一种语言,或者通过自然语言,诸如“ 写一个计算斐波那契数列第 N 个元素的 Python 程序 ”,来自动生成代码。尽管这些专有系统功能

    2024年02月06日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包