盘古模型代码及指导:models: Models of MindSpore - Gitee.com
环境:华为云ModelArts ;Ascend:8*Ascend 910;Mindspore 1.5.1;PyTorch 1.8
一、【盘古数据集生成】
1.将数据集转换成TXT文档(编码:UTF-8)
2.上传至工作根目录data文件夹中
3.执行指令 :python -m src.preprocess --input_glob 'data/*.txt' --tokenizer gpt --eot 50256 --data_column_name input_ids --seq_length 1025
(需要提前pip sentencepiece、jieba、transformers、torch )
生成结果如图:
二:【盘古模型初始化】
直接运行代码会产生无法初始化的问题,因为普通开发者没有root权限,无法获取hccl_8p.json文件,并且客服明确回复因为安全问题无法放开root权限。
模板自行配置盘古模型初始化文件hccl_8p.json
文档中的说明“可以在当前Server执行指令cat /etc/hccn.conf获取网卡IP”,同样由于没有root权限无法获取真实IP。
同时注意到 配置device的网卡IP_昇腾CANN社区版(5.0.5.alpha001)_软件安装 (命令行)_安装运行环境(nnae软件,在物理机/虚拟机安装)_华为云 中有这样一段话:
AI Server中的第0/4,1/5,2/6,3/7号网卡需处于同一网段,第0/1/2/3号网卡在不同网段,第4/5/6/7号网卡在不同网段。
最终本次实验hccl_8p.json文件见附件(hccl_8p.txt)
2.配置好json文件后在terminal中执行相关指令:bash scripts/run_distribute_train.sh /home/ma-user/work/data/ /home/ma-user/work/hccl_8p.json 8 fp32 2.6B 1 1 8 0 8,可以运行且没有中断,所配置的IP是有效的,ModelArts工程师也说明了这一点
3.运行之后,资源监控处可以看到占用N卡,模型正在训练并且生成了左边的strategy.ckpt文件,log中的warning是精度问题可以忽略,参考:https://bbs.huaweicloud.com/forum/thread-187278-1-1.html
4.由于AICore显示为0%,因此询问了华为云工程师给出了可能的原因:
同时华为云工程师也进行了后台检测,AICore实际上在训练,只是没有返回使用率:
5.模型成功进入训练,盘古模型训练时间较长,由于平台时限,最终中断。