如何使用小型自动生成的数据集训练编码LLM

虽然像GPT-4这样的大型语言模型(LLM)在编写软件代码方面非常精通,但是这些模型的成本和不透明性激发了人们对更加经济、规模更小的编码LLM的兴趣。

这些替代方案可以针对特定任务进行微调,并且成本很低。开发这些LLM的一大挑战是在训练数据集的大小和模型的性能之间找到最佳平衡点。

针对这一挑战,微软公司在最近发表的一篇论文中介绍了一种使用更少示例训练高效编码语言模型的新技术。这篇文章介绍了WaveCoder模型,并声称优于其他在类似数量的示例上训练的编码LLM。

作为WaveCoder的补充,微软公司还开发了CodeOcean,这是一个包含2万个不同代码示例的精选数据集。该数据集可以增强编码应用的基础模型的微调。

选择正确的编码示例

图1 CodeOcean管道

虽然WaveCoder是一个令人印象深刻的LLM模型,但这篇论文中更有趣的部分是CodeOcean,它是一个附带的数据集。CodeOcean解决了一个重大挑战:创建一个平衡成本效益和质量的数据集。研究人员认为一个具有最大多样性的数据集可以产生令人印象深刻的结果,即使它包含的示例有限。

该研究团队从CodeSearchNet开始,这是一个包含200万对注释和代码的广泛编码数据集。他们使用基于BERT的Transformer模型为每个示例生成嵌入,将复杂信息转换为数字列表。

他们对嵌入应用了一种聚类算法,根据它们的相似性对示例进行排序。这种方法使研究人员能够从原始数据集中提取一个子集,最大限度地提高多样性。

添加说明

在建立核心数据集之后,研究人员必须创建包含代码和指令的训练示例。为了实现这一点,他们创建了一个生成器-鉴别器框架,用于根据原始代码示例生成指导性数据。最初,他们使用GPT-4在特定的场景中制作任务定义。这些初始任务定义与指导提示相结合,被提供给GPT-3.5,以生成额外示例的相应指令。

图2 CodeOcean的生成器-鉴别器框架

对于鉴别器组件,研究人员制定了一个单独的评估提示。这个提示以及代码和指令示例提供给GPT-4进行评估。然后,CodeOcean管道使用良好的示例来生成未来的训练示例。

研究人员通过这个迭代过程生成了2万个高质量的教学样本。这些示例跨越了四个不同的编码任务类别:代码生成、代码摘要、语言翻译(从一种编程语言到另一种编程语言)和代码修复。这四个类别包含了LLM编码任务的很大一部分。

训练WaveCoder

图3 WaveCoder优于其他在类似数量的示例上训练的编码LLM

生成用于编码LLM的训练示例有很多方法。但微软的CodeOcean以强调泛化和示例效率而与众不同。与依赖大量数据的研究不同,CodeOcean可以使用较小的数据集实现高性能。

为了证明CodeOcean的有效性,研究人员对三种编码语言模型进行了微调:StarCoder-15B、CodeLLaMA(7B和13B)和DeepseekCoder-6.7B。考虑到数据集的大小,其微调既快速又经济高效。研究人员根据HumanEval、MBPP和HumanEvalPack这三个关键的编码基准对微调后的模型进行了评估。

通过在CodeOcean上进行多次训练,所有模型在这些基准测试上都有了显著的改进。在代码生成方面,研究人员描述了WaveCoder的影响和局限性:“在微调过程之后,与基础模型和一些开源模型相比,WaveCoder模型的性能有了显著的提高,但它仍然落后于专有模型(例如GPT-4和Gemini),以及使用7万多个训练数据训练的指示模型。”

WaveCoder和WizardCoder之间的性能差异很小,有78000个训练示例。这表明“精细化和多样化的指令数据可以显著提高指令调优的效率。”

WaveCoder在代码摘要和修复任务方面尤为出色。它在几乎所有编程语言上的表现都优于其他开源模型。这一成功强调了“定义和分类代码相关任务对增强代码LLM泛化能力的有效性”。

虽然微软公司尚未发布WaveCoder和CodeOcean的模型、代码和数据,但有关Hugging Face的讨论表明,该公司正在审查是否将它们对外发布。展望未来,研究人员的目标是探索更大数据集的效果,以及将CodeOcean与其他编码数据集相结合的潜在好处。

免责声明:文章内容不代表本站立场,仅供读者参考。产品相关技术问题请发送工单。 本文链接:https://www.idc.net/help/415235/

为您推荐

当"狂飙"的大模型撞上推荐系统

随着以 ChatGPT 为代表的大模型技术的迅速发展,推荐系统正经历着一场革命性的变革。传统的推荐系统主要基于用户和物品的历史行为数据进行预测,大模型技术的出现,为推荐系统带来了更强的泛化能力和更高的效率,解决了传统推荐系统中的一些难题,如用户和物品数量的巨大规模、不可观测因素对推荐的影响等。同时,大模型推荐技术也带来...

谷歌杀入开源大模型,单挑Meta Llama2,凭什么问鼎王座?

兵贵神速。在大模型的必争之地,谷歌却总是慢人一步,因而屡屡被调侃“起了大早,赶个晚集”。但昨日,谷歌却突放大招,发布了一款开放模型——Gemma,并声称其是轻量级中“最先进的”开放模型系列,超越了原本最强的Mistral 7B。 这款以拉丁语“宝石”命名的模型在此时推出颇有意味。其一,据谷歌官网介绍,Gemma采用了与...

GPT-4正接管人类数据专家!先验知识让LLM大胆预测,准确率堪比传统方式

在数据科学中,AI研究员经常面临处理不完整数据集的挑战。 然而,许多已有的算法根本无法处理「不完整」的数据序列。 传统上,数据科学家会求助于专家,利用他们的专业知识来填补空白,然而这一过程既耗时,却又不实用。 如果AI可以接管专家的角色,又会如何呢? 近日,来自德国人工智能中心、大阪公立大学等团队的研究人员,调查了LL...

重要的医学AI应用:使用多模态 CNN-DDI 预测药物间相互作用事件

生病时,医生往往给我们开了多种药物,这些药物在同时服下时是否因为药物间相互作用产生对身体不良的效果,这引起我们的怀疑和担心。其实医生所开的药方的药品已经经过了药物间相互作用的实验和临床测试,我们不应对此产生疑虑。 药物间相互作用(DDI)是指当一个患者同时服用多种药物时,药物之间可能发生的反应,这些反应可能会影响药物的...

谷歌AI新星转投Pika:视频生成Lumiere一作,担任创始科学家

视频生成进展如火如荼,Pika迎来一位大将—— 谷歌研究员Omer Bar-Tal,担任Pika创始科学家。 一个月前,还在谷歌以共同一作的身份发布视频生成模型Lumiere,效果十分惊艳。 当时网友表示:谷歌加入视频生成战局,又有好戏可看了。 Stability AI CEO、谷歌前同事等在内一些业内人士送上了祝福。...
返回顶部