北京昇腾人工智能计算中心率先实现基于MindSpore的Baichuan大模型训练、微调、推理和部署
北京昇腾人工智能计算中心率先实现基于MindSpore的Baichuan大模型训练、微调、推理和部署

北京昇腾人工智能计算中心基于国产自主创新框昇思MindSpore以及大模型开发套件MindFormers成功完成国产开源大模型Baichuan的训练、微调和推理部署,并支持某行业客户使用计算中心160张卡训练集群完成二次预训练,Loss稳定收敛,成功孵化行业大模型。

(用户实测集群训练Loss曲线以及学习率)
MindFormers套件
MindFormers是一款强大而全面的大模型训练、推理和部署全流程开发套件。它不仅提供了丰富的的基础知识,还具备多种训练方式、多种推理算法和多种部署方式。同时,MindFormers还具有易用性和可扩展性的特点,让用户可以快速上手,一行代码实现从单卡到大规模集群训练的无缝切换,高效地融合数据并行和模型并行策略;同时可以根据用户的实际需求进行功能扩展和定制。
Baichuan大模型
Baichuan大模型是由百川智能开发的一系列开源可商用的大规模预训练语言模型。包含了70亿、130亿、530亿参数的模型。
具体优势如下:
1. 基于海量的中英文数据训练,具有很强的语言通用性和跨语言能力。它们可以处理各种类型和风格的文本,无论是正式叙述还是口语化表述,无论中文还是英文。
2 . 基于Transformer结构,具有很高的并行性和可扩展性。它们可以利用大规模的计算资源,实现高效的训练和推理。也可以通过模型压缩和优化技术,适应不同的硬件和环境。
3 . 基于自回归,具有很强的生成能力和连贯性。它们可以根据上下文生成流畅和有意义的文本,无论文本的长短。它们均可通过控制参数和策略,实现不同的生成目标和效果。
北京昇腾人工智能计算中心
北京昇腾人工智能计算中心由门头沟政府牵头,中关村发展集团投资建设,并由北京昇腾创新人工智能科技中心有限公司独立运营,计算中心基于昇腾AI基础软硬件平台,一期100P算力规模,年底将扩容到400P,可以为企业和科研高校提供昇腾AI澎湃的算力服务。
大模型时代,为了帮助各行业客户更好的使用大模型和大算力的能力,北京昇腾人工智能计算中心,已经将Baichuan、GLM、Llama、Bloom 、T5、BERT、GPT2、PanGuAlpha、MAE、VIT、Swin、CLIP等模型完成了训练、微调、推理和部署,未来还将逐步增加更多基础大模型,方便行业客户基于基础大模型,快速孵化专属的行业模型。
**附:**基于北京昇腾人工智能计算中心进行Baichuan模型单机多卡训练的操作指导
1
注册镜像
1、首先打开modelarts,进入镜像管理选项,进行注册镜像
swr.cn-north-309.mtgascendic.cn/bj-aicc/mindformers_0.6rc1_mindspore_2_0_update1:mindformers_0.6rc1_mindspore_2_0_modelarts
2
基于注册的镜像创建notebook
1、打开开发环境选项,创建notebook,选择镜像进行创建
3
拉取mindformers并安装依赖
git clone -b dev https://gitee.com/mindspore/mindformers.gitcd mindformersbash build.shpip3 install -r requirements.txt
4
拉取mindformers并安装依赖
wget https://baichuan.obs.cn-north-309.mtgascendic.cn/wiki.train.tokens wget https://baichuan.obs.cn-north-309.mtgascendic.cn/baichuan/tokenizer.model wget https://baichuan.obs.cn-north-309.mtgascendic.cn/baichuan/pytorch_model.bin
5
下载配置文件
wget https://baichuan.obs.cn-north-309.mtgascendic.cn/run_baichuan7b.yamlwget https://baichuan.obs.cn-north-309.mtgascendic.cn/run_baichuan7b_lora.yaml
6
使用预处理脚本生成mindrecord训练数据
cd mindformers/tools/dataset_preprocess/llama python llama_preprocess.py --input_glob /home/ma-user/work/mindformers/wiki.train.tokens --model_file /home/mauser/work/mindformers/tokenizer.model --seq_length 2048 --output_file /home/mauser/work/mindformers/wiki2048.mindrecord
7
更改训练数据路径
/home/ma-user/work/mindformers/wiki2048.mindrecord
8
单机多卡启动(训练)
cp /user/config/nbstart_hccl.json /home/ma-user/work/mindformerscd scriptsbash run_distribute.sh /home/ma-user/work/mindformers/nbstart_hccl.json /home/mauser/work/mindformers/run_baichuan7b.yaml [0,8] train
9
查看运行效果
tail -f ../../mindformers/output/log/rank_0/info.l