WizardCoder:用 Evol-Instruct 使大型语言模型掌握编程技能
本文介绍了一种使用大型语言模型(LLM)替代人类创建指令数据的方法,通过使用我们提出的 Evol-Instruct,从一个初始指令集开始,逐步将其重写为更复杂的指令,然后将生成的所有指令数据混合起来,以调整 LLaMA 模型,获得我们所称的 WizardLM 模型。人类评估证明,Evol-Instruct 出产的指令优于人工创建的指令,尤其是在高复杂度方面,WizardLM 模型的输出被认为比 OpenAI ChatGPT 的输出更好。尽管 WizardLM 在某些方面仍落后于 ChatGPT,但我们的研究表明,用人工智能生成的指令进行微调是提升大型语言模型的一个有前途的方向。
Apr, 2023
Magicoder 是一系列全面开源(代码、权重和数据)的大型语言模型(LLMs),通过使用 OSS-Instruct 来提供更多样化、更真实和可控的数据,从而消除了合成数据的固有偏见,显著缩小了与顶级代码模型的差距。
Dec, 2023
本研究使用大型语言模型(LLMs)和 InstructCoder 数据集,探索用户指令下的代码编辑,涵盖评论插入、代码优化和代码重构等多个隐含任务。实验证明,在 InstructCoder 数据集上对开源 LLMs 进行精细调整,能够大多数情况下正确地编辑代码,展现了前所未有的代码编辑性能水平。
Oct, 2023
AlchemistCoder 是一系列基于多源数据的 Code LLMs,采用 AlchemistPrompts 进行数据集和指令响应对的协调,同时将数据构建过程纳入 fine-tuning 数据,通过提升代码生成和泛化能力,显著超越其他同规模或更大规模模型,进一步推动代码智能的发展。
May, 2024
这篇论文介绍 BigCode 社区的开源科学协作计划,具体讨论了基于 GitHub 数据和 Fine-tuning 方法所训练的大规模语言模型 StarCoder 和 StarCoderBase,证明加强的 PII 去识别流程和追溯工具等重要措施可以更安全地发布模型,并公开发布符合开源 AI 模型许可证商业版本的 StarCoder 模型。
May, 2023
通过将指令数据分类到 4 个与代码相关的任务,并提出了基于 LLM 的生成 - 判别器数据处理框架,从开源代码生成多样且高质量的指令数据,进而介绍了 CodeOcean,这是一个包含 20,000 个指令实例的数据集,用于增强指令调优的效果和优化精调模型的泛化能力,随后提出了 WaveCoder,一种针对增强指令调优的 Code LLM 的精调模型,通过实验验证 WaveCoder 模型在不同代码相关任务上具有较好的泛化能力,并且在以往的代码生成任务中表现出高效性。该论文对指令数据生成和精调模型的领域做出了重要贡献,为增强代码相关任务的性能提供了新的见解和工具。
Dec, 2023
通过对指令进行细调,利用代码进行指令调整,以提升大型语言模型(LLMs)在自然语言任务中的性能表现,并在 Git 提交中利用人类指令的自然结构进行指令调整,实现了在 16B 参数 StarCoder 模型上超过其他自然和合成代码指令(xP3x,自我指导,OASST)的最新性能,即在 HumanEval Python 基准测试中达到 46.2%的一次通过率。
Aug, 2023
该论文提出了一种新的策略,通过连接静态代码文本和动态执行状态,训练具有全面语义的 Code LLMs,从而填补 Code LLMs 在诸如调试和程序修复等复杂任务中对深层语义的依赖的差距。该方法通过收集 PyX,一个具有可执行样本、功能描述和执行跟踪的干净代码语料库,训练 Code LLMs 使用自然语言编写代码、表示和推理执行行为,从而开发出了仅有 67 亿参数的 SemCoder,该模型在代码生成和执行推理任务上与 GPT-3.5-turbo 表现相当。
Jun, 2024
通过引入一种具有自我评估功能的多样指令模型 (DolphCoder) 来增强预训练的 Code LLM 的代码生成性能,实现了卓越的 HumanEval 和 MBPP 基准性能,为未来的代码指令调优工作提供了新的见解。
Feb, 2024
通过将代码集成到大型语言模型的训练数据中,可以提高语言模型的代码生成能力、推理能力以及生成结构化和精确的中间步骤,并将其转化为智能代理在复杂自然语言任务中的应用。
Jan, 2024