使用CodeQwen 1.5编码
GABRIB拥抱脸模型镜演示DISCORD介绍利用大型语言模型(LLM)功能的高级编程工具的出现显着提高了程序员的生产力和准确性。尽管取得了这些进步,但Github Copilot等基于专有LLM构建的主导编码助手在成本、隐私、安全性和潜在版权侵权方面构成了显着的挑战。
认识到更透明、更易于访问的替代方案的必要性,开源社区已开始共同努力开发开放代码LLM。这一举措已经催生了几个有前途的开源模型,包括StarCoder 2、CodeLlama和DeepSeek-Coder,提供了一条前进的道路,尽管这一道路需要继续改进。
今天,我们很高兴介绍Qwen 1的一位新成员。5开源家族,CodeQwen 1。5- 7 B,基于Qwen 1构建的专门代码LLM。5语言模型。代码Qwen 1。5- 7 B已预先训练了大约3万亿个代币的代码相关数据。
它支持广泛的92种编程语言,并且在长上下文理解和生成方面表现出出色的能力,能够处理64 K个令牌的信息。性能方面,CodeQwen 1. 5展示了基本代码生成、长上下文模式化、代码编辑和SQL方面令人印象深刻的能力。
我们相信这种模型可以显着提高开发人员的生产力并简化不同技术环境中的软件开发工作流程。CodeQwen是一名基本编码员代码生成是大型语言模型的关键能力,因为它们的任务是将自然语言指令以坚定不移的精确度翻译为可执行代码。
代码Qwen 1。5仅拥有70亿个参数,在基本代码生成能力方面超越了更大的模型,进一步缩小了GPT-4和开源代码LLM之间编码熟练度的差距。我们对HumanEval和MBPP进行了彻底的评估,以提供如下清晰、公平的比较。
除了广泛认可的HumanEval和MBPP基准之外,我们还探索了LiveCodeBench。该基准通过引入来自LeetCode、AtCoder和CodeForces等编码竞赛的新挑战来评估代码性能。
我们对CodeQwen 1的评估。LiveCodeBench上的5个时间从2023年9月1日到2024年4月1日。研究结果表明,CodeQwen 1. 5跻身目前可用的顶级开放获取模型之列。
注意:将LeetCode数据包含在我们的预训练库中可能会有助于LiveCodeBench的性能。提到的评估主要围绕Python功能展开;但是,CodeQwen 1. 5不仅是Python专家,也是多种编程语言的专家。
我们对CodeQwen 1进行了全面评估。
MultiPL-E中的八种主流语言中的5种,包括Python、C++、Java、PHP、TypScript、C#、Bash和JavaScript。结果凸显了CodeQwen 1的卓越编程能力。
5. CodeQwen是一个长上下文编码器长上下文能力对于代码LLM至关重要,是理解存储库级代码和成为代码代理的核心技能。然而,当前的代码模型对长度的支持仍然非常有限,这阻碍了其实际应用的潜力。
代码Qwen 1。5旨在进一步推进开源代码模型在长上下文建模中的进展。为了实现这一目标,我们在存储库级别收集并构建了长序列代码数据以进行预训练。通过仔细的数据比例和组织,我们使其能够支持高达64 K代币的输入长度。
评估1:我们于2024年3月28日从GitHub Trending存储库收集了未包含在CodeQwen 1中的高质量回购。5的训练数据来观察长上下文建模的有效性。下图表明,随着序列长度的增加,CodeQwen 1. 5的Perplexity(PPL)仍然保持下降趋势。
评估2:我们创建了一个名为“代码中的针”的综合任务,受到文本领域流行的长上下文评估的启发。
在这项任务中,我们在更长代码库内的各个位置插入了一个非常简单的自定义函数(我们选择Megatron是为了表彰其对开源LLM的贡献!)并测试该模型是否可以在代码库末尾复制该功能。下图显示CodeQwen能够在64 k长度范围内成功完成这项任务。
评估1和评估2都作为初始评估和基础评估。对于聊天模型,我们的目标是通过更实际的任务来评估其长上下文能力。然而,我们的目标是通过更务实的、现实世界的评估任务来检查聊天模型处理长期上下文的能力。
评价3:SWE Bench是一个基准,旨在评估大型语言模型(LLM)或代理应对实际软件开发挑战的能力。它为参赛者提供了代码存储库和相关问题,并责成他们生成有效解决问题的提交补丁。
该基准测试独特地强调代码LLM的长上下文处理能力,需要深入理解给定代码库并生成广泛的、单元测试通过的代码。目前,SWE长凳竞赛的参与者主要是专有车型。我们引入CodeQwen 1。5作为开源模型条目。
尽管得分为0分。89,Code Qwen 1。5超过ChatGPT-3。
5,展示了开源代码模型相对于专有代码模型的新生但充满希望的竞争力。CodeQwen是一个黑客一个有效的代码助理必须表现出在根据给定规范生成代码以及熟练地修改或调试现有代码以适应不断变化的需求或纠正错误方面的熟练程度。
在评估CodeQwen 1时。由于5对代码修改任务的熟练程度,我们将评估集中在CodeEditorBench套件上,涵盖四个不同的维度:收件箱、翻译、语言切换和代码抛光。结果表明CodeQwen 1. 5实现了70亿参数规模的SOTA性能。
CodeQwen是SQL代码Qwen 1。5可以作为弥合非编程专业人士和高效数据交互之间差距的解决方案。它使没有编码专业知识的用户能够通过自然语言查询数据库,从而简化了与SQL相关的陡峭学习曲线。
我们评估了CodeQwen 1。5-Chat在两个流行的文本到SQL基准Spider和Bird上的性能。实验结果构成CodeQwen 1。5接近GPT-4的第二个位置(结果来自DIN-SQL,一种SOTA提示方法)。
这种出色的性能归功于在整个预训练和微调阶段对合成数据的利用。
合成数据以其可扩展性、可验证性和多样性为特点,因其在增强CodeQwen 1方面的有效性而成为未来研究的一个引人注目的领域。5的SQL功能。使用CodeQwen 1开发。5代码Qwen 1。5是Qwen 1的一部分。
5开源家族。我们建议您阅读我们的Qwen 1博客。5了解变形金刚、vLLM、美洲驼的用法。cpp、Olama等。结论我们已经发布了CodeQwen 1。5- 7 B和Code Qwen 1。5- 7 B-Chat,一个开放且通用的代码LLM。
这些模型旨在帮助代码协助和代码代理方面的进展,使研究界受益。我们将继续大力投资智能代码开发,最终目标是创建人工智能程序员。引文@misc{codeqwen1。5,title = {Code Qwen 1。
5},url = {https://qwenlm。GitHub. io/blog/codeqwen 1。5/},作者= {Qwen Team},月= {四月},年= {2024}}