CodeFuse-13B: A Pretrained Multi-lingual Code Large Language Model

本文是LLM系列文章,针对《CodeFuse-13B: A Pretrained Multi-lingual Code Large Language
Model》的翻译。

CodeFuse-13B:一个预训练的多语言代码大型语言模型

  • 摘要
  • 1 引言
  • 2 数据准备
  • 3 训练
  • 4 评估
  • 5 相关工作
  • 6 讨论,结论,未来工作

摘要

代码大型语言模型(Code LLM)由于其在软件工程的整个生命周期中的广泛应用而在业界引起了极大的关注。然而,现有模型在理解多语言代码相关任务的非英语输入方面的有效性仍远未得到充分研究。本文介绍了CodeFuse-13B,一个开源的预训练代码LLM。它是专门为具有中英文提示的代码相关任务设计的,支持40多种编程语言。CodeFuse通过利用高质量的预训练数据集来实现其有效性,该数据集经过程序分析器的仔细过滤,并在训练过程中进行优化。使用真实世界的使用场景、行业标准基准HumanEval-x和专门为中文提示设计的CodefuseEval进行了广泛的实验。为了评估CodeFuse的有效性,我们积极从AntGroup的软件开发过程中收集有价值的人类反馈,CodeFuse已经成功部署。结果表明CodeFuse-13B实现了HumanEvalpass@1得分37.10%,将其定位为具有相似参数大小的顶级多语言代码LLM之一。在实际场景中,如代码生成、代码翻译、代码注释和测试用例生成,当遇到中文提示时,CodeFuse的性能优于其他模型。

1 引言

2 数据准备

3 训练

4 评估

5 相关工作

6 讨论,结论,未来工作

扩展MFT框架以支持开源模型。我们开发了一个多任务微调框架,并将其开源为MFTCoder。该框架可用于微调我们内部开发的CodeFuse-13B和新出现的开源CodeLLM,如StarCoder和CodeLLaMA。我们在收集的数据集上使用MFTCoder框架对StarCoder和CodeLLaMA模型进行了微调,并将微调版本开源为CodeFuse-CodeLLaMA-34B和CodeFuseStarCoder-15B。CodeFuse-CodeLlama-34B实现74.4%pass@1score在HumanEval上,它超过了GPT4和ChatGPT-3.5的分数,代表了开源语言模型(LLM)的最先进结果。很明显,CodeFuse中的数据准备策略大大提高了其他代码LLM的性能。
部署。CodeFuse以IDE插件和基于web的聊天的形式部署在AntGroup的生产环境中。有关一些示例,请参见图6。为了提高模型响应时间和服务吞吐量,我们对模型服务进行了一系列优化,包括:(1)使用自动迭代精化GPTQ将模型量化为4-bit,精度损失可忽略不计;(2) 利用Nvidia TensorRT LLM提供的软件优化;(3) 通过语义缓存和流输出进行服务优化。该产品现在支持AntGroup 5000多名工程师的日常软件开发。
结论本文介绍了CodeFuse-13B,这是一个开源的预训练语言模型(LLM),具有130亿个参数,用于多语言(英语和汉语)提示的代码相关任务。它支持40多种编程语言,并使用经过仔细筛选的预训练数据集。使用真实世界场景和行业基准的实验表明,CodeFuse-13B实现了HumanEvalPass@1得分37.10%,是参数大小相似的顶级多语言模型之一。它在代码生成、翻译、注释和具有中文输入的测试用例生成任务方面优于其他模型。AntGroup软件开发过程中的宝贵人力反馈证实了CodeFuse-13B的成功集成。
未来的工作。除了CodeFuse和MFTCoder框架的模型外,我们还计划进一步开源CodeFuse的两个重要组件:CodefuseEval基准测试和Sparrow程序查询系统,用于高质量的代码数据清理。通过开源这些组件,我们的目标是为研究界做出贡献,并促进人工智能原生软件开发的整个生命周期的进一步进步。

你可能感兴趣的:(LLM,语言模型,人工智能,自然语言处理)