【论文】OSS-Instruct——EvalPlus榜单SOTA模型Magicoder

OSS-Instruct利用大型语言模型从开源代码中生成多样化的编码任务,以此改进LLM的指令跟踪能力。Magicoder通过OSS-Instruct数据集微调,在代码生成任务上展现出优于其他SOTA模型的性能,尤其在Python和多语言环境中。实验表明,数据的真实性和多样性对于模型性能提升至关重要。
摘要由CSDN通过智能技术生成

 arxiv论文地址

EvalPlus Leaderboard

GitHub - ise-uiuc/magicoder: Magicoder: Source Code Is All You Need

目录

​编辑

背景

OSS-Instruct

具体例子

数据处理

实验

python代码生成

小语种生成

deepseek做base

语言分布的消融实验

直接用开源代码进行fine-tune


背景

现有的数据生成办法可以有效地提高LLM的指令跟踪能力,但它们依赖于小范围的预定义任务或启发式方法。而这样的方法会显著地继承LLMs和预定义任务中固有的系统偏差。

Self-Instruct仅依靠21个种子任务,使用相同的提示模板生成新的代码指令。

Evol-Instruct 以Code Alpaca为种子,仅依靠5种启发式算法对数据集进行演化。

OSS-Instruct

如图所示,OSS - INSTRUCT利用强大的LLM,通过从开源中收集的任意随机码片段中获得灵感,自动生成新的编码问题。【直接用开源代码进行fine-tune会对模型性能产生负面影响】在这个例子中,LLM从来自不同功能的两个不完整的代码片段中得到启发,并设法将它们联系起来,形成一个现实的机器学习问题。得益于"无限"的开源代码,OSS - INSTRUCT可以通过提供不同的种子代码片段直接产生多样化、逼真和可控的代码指令。

根据从GitHub中收集到的一些种子代码段,提示一个LLM (例如, ChatGPT)产生一个编码问题及其解决方案。种子片段提供了生成的可控性,并鼓励LLM创建能够反映真实世界编程场景的多样化编码问题。

源码中提取种子片段的代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值