AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


aixcoder-7B :最先进的代码补全、理解、生成等代码大语言模型
发布日期:2024-04-25 12:05:39 浏览次数: 1906 来源:GitHubStore


项目简介


随着大型代码模型的能力逐渐被挖掘出来,aiXcoder 一直在思考如何让这些模型在实际开发场景中更加有益。为此,我们开源了 aiXcoder 7B Base,它经过了 1.2T Unique Token 的广泛训练,模型的预训练任务以及上下文信息都是针对真实世界的代码生成上下文而设计的。

在所有参数大小相似的模型中,aiXcoder 7B Base 是代码完成场景中最有效的模型,在多语言 nl2code 基准测试中的平均性能也超过了 codellama 34B 和 StarCoder2 15B 等主流模型。

在我们不断探索应用大型代码模型的过程中,aiXcoder 7B Base 的发布代表了一个重要的里程碑。当前版本的aiXcoder 7B Base是一个基础模型,专注于提高代码完成和代码生成任务的效率和准确性,旨在为开发者在这些场景下提供强大的支持。需要注意的是,此版本尚未经过特定的指令调整,这意味着它可能尚未为专门的高级任务(如测试用例生成和代码调试)提供最佳性能。

但是,我们已经计划进一步开发 aiXcoder 模型系列。在不久的将来,我们的目标是发布该模型的新版本,这些版本经过精心指导,适用于更广泛的编程任务,包括但不限于测试用例生成和代码调试。通过这些指令调整模型,我们希望为开发人员提供更全面、更深入的编程支持,帮助他们在软件开发的每个阶段最大限度地提高效率。

aiXcoder 7B 在 nl2code 基准测试中超越了主流型号。aiXcoder-7B 是 aiXcoder-7B-Base 的增强功能,对十万个数据条目进行了微调,类似于一个纪元的 Evol-instruct。


快速入门

环境要求

选项 1:构建环境

若要运行模型推理代码,需要以下环境设置:

  • Python 3.8 或更高版本

  • PyTorch 2.1.0 或更高版本

  • Sentencepiece 0.2.0 或更高版本

  • transformers 4.34.1 或更高版本(如果通过 transformers 库运行推理)

请确保使用以下命令安装所有依赖项:

conda create -n aixcoder-7b python=3.11conda activate aixcoder-7bgit clone git@github.com:aixcoder-plugin/aiXcoder-7b.gitcd aiXcoder-7bpip install -r requirements.txt

requirements.txt 列出了所有必要的库及其版本。

为了实现更快的推理速度,尤其是对于大型模型,我们建议安装 flash attention . Flash attention 是一种优化的注意力机制,可在不牺牲精度的情况下显著减少基于 transformer 的模型的计算时间。

在继续操作之前,请确保您的环境满足 CUDA 要求,因为 flash attention 利用了 GPU 加速。请按照以下步骤安装 flash attention :

git clone git@github.com:Dao-AILab/flash-attention.gitcd flash-attentionMAX_JOBS=8 python setup.py install


选项 2:Docker

对于一致且隔离的环境,我们建议使用 Docker 运行模型推理代码。下面介绍了如何为我们的模型设置和使用 Docker:

  1. 安装 Docker:如果尚未安装,请在计算机上安装 Docker。

  2. 拉取 Docker 镜像:从 Docker Hub 拉取 Docker 镜像。

docker pull pytorch/pytorch:2.1.0-cuda11.8-cudnn8-devel
  1. 运行容器:拉取映像后,可以在 Docker 容器中运行模型。


docker run --gpus all -it -v /dev/shm:/dev/shm --name aix_instance pytorch/pytorch:2.1.0-cuda11.8-cudnn8-devel /bin/bashpip install sentencepiecegit clone git@github.com:aixcoder-plugin/aiXcoder-7b.gitcd aiXcoder-7b

此命令从 pytorch 映像启动名为 aix_instance 的容器。您可以与此容器中的模型进行交互。

为了实现更快的推理速度,尤其是对于大型模型,我们建议安装 flash attention .

git clone git@github.com:Dao-AILab/flash-attention.gitcd flash-attentionMAX_JOBS=8 python setup.py install
  1. 模型推理:在 Docker 容器中,您可以运行模型推理代码,如推理示例部分所述。


使用 Docker 提供了一个干净、可控的环境,可最大程度地减少与软件版本和依赖项相关的问题。



53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询