云服务器内容精选

  • 环境准备 开通裸金属服务器资源(请见DevServer资源开通),并在裸金属服务器上搭建迁移环境请见裸金属服务器环境配置指导。 启动华为云预置镜像环境,本案例使用的贵阳一的镜像环境。 #shell docker run --privileged --name chatglm-test --cap-add=SYS_PTRACE -e ASCEND_VISIBLE_DEVI CES =0-7 -u=0 swr.cn-southwest-2.myhuaweicloud.com/atelier/pytorch_1_11_ascend:pytorch_1.11.0-cann_7.0.1-py_3.9-euler_2.10.7-aarch64-snt9b-20231107190844-50a1a83 bash 此处“-e ASCEND_VISIBLE_DEVICES” 用于指定容器中启动的NPU device,0-7表示从0-7号卡,请按照实际NPU卡情况修改。 安装相关依赖库。 ChatGLM-6B是完全基于Python开发的模型,训练之前需要事先安装与之依赖的Python库。其中部分依赖库可以使用pip工具安装,执行如下脚本: #shell pip install rouge_chinese nltk jieba sentencepiece datasets==2.12.0 fsspec==2022.11.0 transformers==4.29.2 deepspeed==0.9.2 与昇腾NPU适配的依赖库有torch_npu,多卡训练也需要deepspeed_npu,本文适配的版本如下:deepspeed_npu(0.1),torch_npu(1.11)。其中torch_npu在镜像环境中已经预置安装,deepspeed_npu安装配置详见deepspeed_npu。 此外, transformers执行需要高版本的scikit-learn、acclerate,详见常见问题5、常见问题6。此处执行升级命令: #shell pip install scikit-learn accelerate --upgrade transformers库的training_args.py有部分操作是适配的cuda设备,详见常见问题7,本文使用昇腾ModelZoo的适配版本脚本替换(下载链接)。 下载ChatGLM-6B源代码、模型权重与数据集到容器环境。 源代码:chatglm-6B 模型权重:weights 数据集:Firefly(流萤)、ADGEN (广告生成) 源代码、模型权重使用的清华官方在Github和Hugging Face开源的版本,源代码适配的main分支,权重当前使用1d240ba固定分支。其他分支版本理论上也可以进行迁移工作,不过注意可能由于权重不同原因最后训练结果也不太一致,此处建议您使用固定分支进行迁移。 数据集Firefly为本文用于多卡训练使用的数据集,数据集ADGEN为ChatGLM-6B ptuning训练适配的数据集,如果您运行环境为单卡环境下载数据集ADGEN。 父主题: 基于LLM模型的GPU训练业务迁移至昇腾指导