CodeShell Technical Report

2024年03月23日
  • 简介
    代码大语言模型是人工智能的一个重要突破,它们专门设计用于理解和生成编程语言,极大地提高了编码开发工作流的效率。在这份技术报告中,我们介绍了CodeShell-Base,一个具有70亿参数和8K上下文长度的基础模型,展示了在代码理解方面卓越的能力。通过将Grouped-Query Attention和Rotary Positional Embedding纳入GPT-2中,CodeShell-Base集成了StarCoder和CodeLlama的结构优点,并形成了其独特的架构设计。然后,我们仔细构建了全面的数据预处理过程,包括相似数据去重、基于困惑度的数据过滤和基于模型的数据过滤。通过这个过程,我们从GitHub中筛选出了1000亿高质量的预训练数据。由于高质量的数据,CodeShell-Base在仅训练500亿个标记(5个时期)后,在Humaneval中的表现优于CodeLlama。我们在多个语言数据集上进行了广泛的实验,包括Python、Java和C++,结果表明我们的模型具有强大的基础能力,能够理解和生成代码。
  • 图表
  • 解决问题
    论文旨在构建一个能够理解和生成编程语言的AI模型,提高编码开发工作流的效率。
  • 关键思路
    通过将Grouped-Query Attention和Rotary Positional Embedding集成到GPT-2中,结合StarCoder和CodeLlama的结构优势,构建了一个7亿参数、8K上下文长度的基础模型CodeShell-Base。通过精心构建的数据预处理流程,从GitHub中筛选出1000亿高质量的预训练数据。CodeShell-Base在Python、Java和C++等多个语言数据集上进行了广泛的实验,表现出了在代码理解和生成方面的强大能力。
  • 其它亮点
    论文的亮点包括使用了Grouped-Query Attention和Rotary Positional Embedding来增强模型的性能,以及构建了一个综合的数据预处理流程来筛选高质量的预训练数据。实验设计严谨,使用了多个语言数据集,并且开源了代码。值得进一步研究的是如何将该模型应用于实际的编码开发工作流中。
  • 相关研究
    在最近的相关研究中,也有类似于CodeShell-Base的模型被构建,如CodeBERT和CodeGPT。
PDF
原文
点赞 收藏 评论 分享到Link

沙发等你来抢

去评论