StarCoder: 愿源码与你同在!
本技术报告介绍了 BigCode 项目截至 2022 年 12 月的进展情况,包括当前状态的个人身份信息 (PII) 清理管道、减少模型架构风险的实验以及改进训练数据预处理方法的实验。我们在 The Stack 的 Java、JavaScript 和 Python 子集上训练了 11 亿参数模型,并在 MultiPL-E 的文本到代码基准测试上进行了评估。我们发现,更激进地过滤近似重复的数据可以进一步提高性能,并令人惊讶的是,从具有超过 5 个 GitHub 星的代码库中选择文件实际上会明显降低性能。我们最好的模型在 MultiPL-E 的 Java、JavaScript 和 Python 部分的从左到右生成和插值中都优于以前的开源多语言代码生成模型 (InCoder-6.7B 和 CodeGen-Multi-2.7B),尽管它是一个相对较小的模型。所有模型均在 https://github.com/bigcode/BIGCODE 中以 OpenRAIL 许可证发布。
Jan, 2023
本文介绍了 WizardCoder,它利用 Evol-Instruct 方法将复杂的指令微调应用于代码领域,通过对四个主要的代码生成基准进行全面实验,揭示了该模型的出色能力,并超越了所有其他开源 Code LLMs,甚至在 HumanEval 和 HumanEval + 上表现出秀。
Jun, 2023
SteloCoder 是基于 StarCoder 的解码器的大语言模型,通过混合专家技术和多任务处理,在多编程语言之间实现高效的代码转换,拥有与 StarCoder 相同的骨干结构,仅增加了 4500 万个额外参数和 32 小时的有效训练时间,并在多编程语言到 Python 的翻译中取得了显著的性能提升。
Oct, 2023
通过对现有大型模型 (包括 Codex、GPT-J、GPT-Neo、GPT-NeoX-20B 和 CodeParrot) 的系统评估,我们填补了目前缺少大量模型和数据设计决策信息的空白,并提出了一个基于 GPT-2 架构的新模型 (PolyCoder)。我们发现虽然 Codex 本身并不是开源的,但现有的开源模型在某些编程语言上取得了接近的结果,并且在 C 编程语言中,PolyCoder 模型优于所有模型包括 Codex。
Feb, 2022
发布了 Code Llama,这是一套基于 Llama 2 的大型代码语言模型,在开源模型中具有最先进的性能、填充能力、大尺寸输入上下文支持以及无人操作编程任务的指令跟随能力。
Aug, 2023
提出了一种名为 CodeT5 + 的编译器 - 解码器语言模型,具有灵活的组件模块和多样化的预训练任务,能够在不同的代码相关基准测试中取得最先进的结果,特别是在针对人类评估的代码生成任务中。
May, 2023
本文介绍了一个包含三十种编程语言的开源代码数据集 The Stack,以及如何构建、管理和使用该数据集来训练大型语言模型,通过在 Python 子集上训练 350M 参数解码器,在文本到代码的基准测试上取得了有前途的结果。
Nov, 2022
本文介绍了一种新的代码补全任务,提出了一种称为 LongCoder 的稀疏 Transformer 模型来解决这个任务。LongCoder 采用滑动窗口机制进行自我注意,并引入了两种全局可访问的标记 - 桥接标记和内存标记 - 以提高性能和效率。实验结果表明,LongCoder 在维护推理时的计算资源效率方面保持相当的效率,在代码完成任务中比先前的模型性能更优秀。
Jun, 2023
通过对指令进行细调,利用代码进行指令调整,以提升大型语言模型(LLMs)在自然语言任务中的性能表现,并在 Git 提交中利用人类指令的自然结构进行指令调整,实现了在 16B 参数 StarCoder 模型上超过其他自然和合成代码指令(xP3x,自我指导,OASST)的最新性能,即在 HumanEval Python 基准测试中达到 46.2%的一次通过率。
Aug, 2023
本研究使用大型语言模型(LLMs)和 InstructCoder 数据集,探索用户指令下的代码编辑,涵盖评论插入、代码优化和代码重构等多个隐含任务。实验证明,在 InstructCoder 数据集上对开源 LLMs 进行精细调整,能够大多数情况下正确地编辑代码,展现了前所未有的代码编辑性能水平。
Oct, 2023