云服务器内容精选

  • 删除/退订/释放节点 若是“按需计费”的资源池,您可单击操作列的“删除”,即可实现对单个节点的资源释放。 若想批量删除节点,勾选待删除节点名称前的复选框,然后单击名称上方的“删除”,即可实现对多个节点的资源释放。 若是“包年/包月”且资源未到期的资源池,您可单击操作列的“退订”,即可实现对节点的资源释放。支持批量退订节点。 若是“包年/包月”且资源到期的资源池(处于宽限期),您可单击操作列的“释放”,即可实现对单个节点的资源释放。不支持批量释放处于宽限期的节点。 部分“包年/包月”节点会出现“删除”按钮,原因是该节点为存量节点,单击“删除”即可实现节点的资源释放。
  • 步骤二 修改训练超参配置 以 llama2-70b 和 llama2-13b 预训练 为例,执行脚本为 0_pl_pretrain_70b.sh 和 0_pl_pretrain_13b.sh 。 修改模型训练脚本中的超参配置,必须修改的参数如表1所示。其他超参均有默认值,可以参考表1按照实际需求修改。 表1 训练超参配置说明 参数 示例值 参数说明 ORIGINAL_TRAIN_DATA_PATH /home/ma-user/ws/training_data/train-00000-of-00001-a09b74b3ef9c3b56.parquet 必须修改。训练时指定的输入数据路径。请根据实际规划修改。 ORIGINAL_HF_WEIGHT /home/ma-user/ws/models/llama2-13B 必须修改。加载Hugging Face权重(可与tokenizer相同文件夹)时,对应的存放地址。请根据实际规划修改。 TOKENIZER_PATH /home/ma-user/ws/tokenizers/llama2-13B 该参数为tokenizer文件的存放地址。默认与ORIGINAL_HF_WEIGHT路径相同。若用户需要将Hugging Face权重与tokenizer文件分开存放时,则需要修改参数。 INPUT_PRO CES SED_DIR /home/ma-user/ws/llm_train/AscendSpeed/processed_for_input/llama2-13b 该路径下保存“数据转换”和“权重转换”的结果。示例中,默认生成在“processed_for_input”文件夹下。若用户需要修改,可添加并自定义该变量。 OUTPUT_SAVE_DIR /home/ma-user/ws/llm_train/AscendSpeed/saved_dir_for_output/ 该路径下统一保存生成的 CKPT、P LOG 、LOG 文件。示例中,默认统一保存在“saved_dir_for_output”文件夹下。若用户需要修改,可添加并自定义该变量。 CKPT_SAVE_PATH /home/ma-user/ws/llm_train/AscendSpeed/saved_dir_for_output/saved_models/llama2-13b 保存训练生成的模型 CKPT 文件。示例中,默认保存在“saved_dir_for_output/saved_models”文件夹下。若用户需要修改,可添加并自定义该变量。 LOG_SAVE_PATH /home/ma-user/ws/llm_train/AscendSpeed/saved_dir_for_output/saved_models/llama2-13b/log 保存训练过程记录的日志 LOG 文件。示例中,默认保存在“saved_models/llama2-13b/log”文件夹下。若用户需要修改,可添加并自定义该变量。 ASCEND_PROCESS_LOG_PATH /home/ma-user/ws/llm_train/AscendSpeed/saved_dir_for_output/plog 保存训练过程中记录的程序堆栈信息日志 PLOG 文件。示例中,默认保存在“saved_dir_for_output/plog”文件夹下。若用户需要修改,可添加并自定义该变量。 对于Yi系列模型、ChatGLMv3-6B和Qwen系列模型,还需要手动修改训练参数和tokenizer文件,具体请参见训练tokenizer文件说明。
  • 步骤四 根据config.yaml启动作业 启动作业命令如下。首先会根据config.yaml创建pod,继而在pod容器内自动启动训练作业。 kubectl apply -f config.yaml 启动后,可通过以下命令获取所有已创建的pod信息。若pod已全部启动,则状态为:Running。 kubectl get pod -A -o wide 若查看启动作业日志信息,可通过以下命令打印正在启动的日志信息。其中${pod_name}为上述pod信息中的NAME,例如vcjob-main-0。 kubectl logs -f ${pod_name}
  • 步骤二 修改训练超参配置 以 llama2-70b 和 llama2-13b 预训练 为例,执行脚本为 0_pl_pretrain_70b.sh 和 0_pl_pretrain_13b.sh 。 修改模型训练脚本中的超参配置,必须修改的参数如表1所示。其他超参均有默认值,可以参考表1按照实际需求修改。 表1 训练超参配置说明 参数 示例值 参数说明 ORIGINAL_TRAIN_DATA_PATH /home/ma-user/ws/training_data/train-00000-of-00001-a09b74b3ef9c3b56.parquet 必须修改。训练时指定的输入数据路径。请根据实际规划修改。 ORIGINAL_HF_WEIGHT /home/ma-user/ws/models/llama2-13B 必须修改。加载Hugging Face权重(可与tokenizer相同文件夹)时,对应的存放地址。请根据实际规划修改。 TOKENIZER_PATH /home/ma-user/ws/tokenizers/llama2-13B 该参数为tokenizer文件的存放地址。默认与ORIGINAL_HF_WEIGHT路径相同。若用户需要将Hugging Face权重与tokenizer文件分开存放时,则需要修改参数。 INPUT_PROCESSED_DIR /home/ma-suser/ws/llm_train/AscendSpeed/processed_for_input/llama2-13b 该路径下保存“数据转换”和“权重转换”的结果。示例中,默认生成在“processed_for_input”文件夹下。若用户需要修改,可添加并自定义该变量。 OUTPUT_SAVE_DIR /home/ma-user/ws/llm_train/AscendSpeed/saved_dir_for_output/ 该路径下统一保存生成的 CKPT、PLOG、LOG 文件。示例中,默认统一保存在“saved_dir_for_output”文件夹下。若用户需要修改,可添加并自定义该变量。 CKPT_SAVE_PATH /home/ma-user/ws/llm_train/AscendSpeed/saved_dir_for_output/saved_models/llama2-13b 保存训练生成的模型 CKPT 文件。示例中,默认保存在“saved_dir_for_output/saved_models”文件夹下。若用户需要修改,可添加并自定义该变量。 LOG_SAVE_PATH /home/ma-user/ws/llm_train/AscendSpeed/saved_dir_for_output/saved_models/llama2-13b/log 保存训练过程记录的日志 LOG 文件。示例中,默认保存在“saved_models/llama2-13b/log”文件夹下。若用户需要修改,可添加并自定义该变量。 ASCEND_PROCESS_LOG_PATH /home/ma-user/ws/llm_train/AscendSpeed/saved_dir_for_output/plog 保存训练过程中记录的程序堆栈信息日志 PLOG 文件。示例中,默认保存在“saved_dir_for_output/plog”文件夹下。若用户需要修改,可添加并自定义该变量。 对于Yi系列模型、ChatGLMv3-6B和Qwen系列模型,还需要手动修改训练参数和tokenizer文件,具体请参见训练tokenizer文件说明。
  • 步骤四 根据config.yaml启动作业 启动作业命令如下。首先会根据config.yaml创建pod,继而在pod容器内自动启动训练作业。 kubectl apply -f config.yaml 启动后,可通过以下命令获取所有已创建的pod信息。若pod已全部启动,则状态为:Running。 kubectl get pod -A -o wide 若查看启动作业日志信息,可通过以下命令打印正在启动的日志信息。其中${pod_name}为上述pod信息中的NAME,例如vcjob-main-0。 kubectl logs -f ${pod_name}
  • 插件版本与CCE集群版本适配关系 表3 插件版本与CCE集群版本适配关系 类别 插件名称 插件版本 适配CCE集群版本 适用范围、约束 插件功能描述 ccePlugin gpu-beta 2.0.48(推荐) v1.(23|25).* GPU 支持在容器中使用GPU显卡的设备管理插件。 1.2.15 v1.23.* huawei-npu 2.1.5(推荐) v1.(23|25).* NPU 支持容器里使用huawei NPU设备的管理插件。 volcano 1.11.9(推荐) v1.(23|25).* NPU 基于Kubernetes的批处理平台。 npuDriver npu-driver 7.1.0.7.220-23.0.5(推荐) 7.1.0.5.220-23.0.3 无约束 NPU 用于升级、回滚npu驱动。 helm rdma-sriov-dev-plugin 0.1.0 无约束 适用于BMS、RDMA且非ascend-1980 用于支持容器里使用RDMA网卡。 memarts 3.23.6-r002 无约束 无约束 近计算侧分布式缓存插件,用于存储加速。 os-node-agent 6.5.0-20240529142433 无约束 无约束 OS插件,用于故障检测。 icAgent icagent default CCE默认安装当前适配版本 无约束 CCE基础组件,用于日志和监控。 gpuDriver gpu-driver 515.65.01(推荐) 510.47.03 470.182.03 470.57.02 gpu-driver与系统内核版本有关,请见表4。 用于升级、回滚gpu驱动,插件依赖gpu-beta版本。
  • 系统内核与gpu-driver配套关系 表4 系统内核与gpu-driver配套关系 镜像版本 系统内核版本 适配CCE gpu-driver版本 EulerOS 2.10 4.18.0-147.5.2.15.h1109.eulerosv2r10.x86_64 v1.(23|25|27|28).* 容器隧道网络|VPC|ENI 470.57.02 4.18.0-147.5.2.5.h805.eulerosv2r10.x86_64 v1.(23|25|27).* 容器隧道网络|VPC|ENI 470.57.02 EulerOS 2.9 4.18.0-147.5.1.6.h841.eulerosv2r9.x86_64 v1.(23|25|27|28).* 容器隧道网络|VPC 470.57.02 EulerOS 2.3 3.10.0-514.44.5.10.h193.x86_64 v1.(23|25).* 容器隧道网络|VPC 470.57.02 3.10.0-514.44.5.10.h254.x86_64 v1.(23|25).* 容器隧道网络|VPC 470.57.02
  • 裸金属服务器的对应的软件配套版本 表1 裸金属服务器 类型 卡类型 RDMA网络协议 操作系统 适用范围、约束 依赖插件 NPU ascend-snt9b RoCE 操作系统:EulerOS 2.10 64bit(推荐) 内核版本:4.19.90-vhulk2211.3.0.h1543.eulerosv2r10.aarch64 架构类型:aarch64 集群类型:CCE Standard 集群版本:v1.23(v1.23.5-r0及以上版本)|v1.25(推荐) 集群规模:50|200|1000|2000 集群网络模式:容器隧道网络|VPC 集群转发模式:iptables|ipvs huawei-npu npu-driver volcano 插件版本匹配关系请见表3。 RoCE 操作系统:Huawei Cloud EulerOS 2.0 64bit 内核版本:5.10.0-60.18.0.50.r865_35.hce2.aarch64 架构类型:aarch64 集群类型: CCE Turbo 集群版本:v1.23|v1.25(推荐) 集群规模:50|200|1000|2000 集群网络模式:ENI 集群转发模式:iptables|ipvs ascend-snt9 RoCE 操作系统:EulerOS 2.8 64bit 内核版本:4.19.36-vhulk1907.1.0.h619.eulerosv2r8.aarch64 架构类型:aarch64 集群类型:CCE Standard|Turbo 集群版本:v1.23(v1.23.5-r0及以上版本)|v1.25(推荐) 集群规模:50|200|1000|2000 集群网络模式:容器隧道网络|VPC|ENI 集群转发模式:iptables|ipvs GPU gp-ant8 RoCE 操作系统:EulerOS 2.10 64bit 内核版本:4.18.0-147.5.2.15.h1109.eulerosv2r10.x86_64 架构类型:x86 集群类型:CCE Standard 集群版本:v1.23|v1.25(推荐) 集群规模:50|200|1000|2000 集群网络模式:容器隧道网络|VPC 分布式训练时仅支持容器隧道网络 集群转发模式:iptables|ipvs gpu-beta gpu-driver rdma-sriov-dev-plugin 插件版本匹配关系请见表3。 gp-ant1 RoCE 操作系统:EulerOS 2.10 64bit 4.18.0-147.5.2.15.h1109.eulerosv2r10.x86_64 架构类型:x86 集群类型:CCE Standard 集群版本:v1.23|v1.25(推荐) 集群规模:50|200|1000|2000 集群网络模式:容器隧道网络|VPC 分布式训练时仅支持容器隧道网络 集群转发模式:iptables|ipvs gp-vnt1 RoCE|IB 操作系统:EulerOS 2.9 64bit(仅上海一p6|p6s规格使用) 内核版本:147.5.1.6.h1099.eulerosv2r9.x86_64 架构类型:x86 集群类型:CCE Standard| 集群版本:v1.23|v1.25(推荐) 集群规模:50|200|1000|2000 集群网络模式:容器隧道网络|VPC 分布式训练时仅支持容器隧道网络 集群转发模式:iptables|ipvs 操作系统:EulerOS 2.9 64bit(推荐) 内核版本:4.18.0-147.5.1.6.h841.eulerosv2r9.x86_64 架构类型:x86 RDMA:Remote Direct Memory Access(RDMA)是一种直接内存访问技术,将数据直接从一台计算机的内存传输到另一台计算机。 RoCE:RDMA over Converged Ethernet(RoCE)是一种网络协议,允许应用通过以太网实现远程内存访问。 IB:InfiniBand (IB) 是一种高性能计算机网络通信协议,专为高性能计算和数据中心互连设计。
  • 弹性云服务器的对应的软件配套版本 表2 弹性云服务器 类型 卡类型 操作系统 适用范围 依赖插件 NPU ascend-snt3p-300i 操作系统:EulerOS 2.9 架构类型:x86 集群类型:CCE Standard、CCE Turbo 集群版本:v1.23(v1.23.5-r0及以上版本)|v1.25(推荐) 集群规模:50|200|1000|2000 集群网络模式:容器隧道网络|VPC|ENI 集群转发模式:iptables|ipvs huawei-npu npu-driver volcano 插件版本匹配关系请见表3。 ascend-snt3 操作系统:EulerOS 2.5 架构类型:x86 集群类型:CCE Standard 集群版本:v1.23|v1.25(推荐) 集群规模:50|200|1000|2000 集群网络模式:容器隧道网络|VPC 集群转发模式:iptables|ipvs 操作系统:EulerOS 2.8 架构类型:arm 集群类型:CCE Standard 集群版本:v1.23|v1.25(推荐) 集群规模:50|200|1000|2000 集群网络模式:容器隧道网络|VPC 集群转发模式:iptables|ipvs GPU gp-vnt1 操作系统:EulerOS 2.9 架构类型:x86 集群类型:CCE Standard 集群版本:v1.23|v1.25(推荐) 集群规模:50|200|1000|2000 集群网络模式:容器隧道网络|VPC 集群转发模式:iptables|ipvs gpu-beta gpu-driver rdma-sriov-dev-plugin 插件版本匹配关系请见表3。 gp-ant03 操作系统:EulerOS 2.9 架构类型:x86 集群类型:CCE Standard 集群版本:v1.23|v1.25(推荐) 集群规模:50|200|1000|2000 集群网络模式:容器隧道网络|VPC 集群转发模式:iptables|ipvs gp-ant1-pcie40 操作系统:EulerOS 2.9 架构类型:x86 集群类型:CCE Standard 集群版本:v1.23|v1.25(推荐) 集群规模:50|200|1000|2000 集群网络模式:容器隧道网络|VPC 集群转发模式:iptables|ipvs gp-tnt004 操作系统:EulerOS 2.9 架构类型:x86 集群类型:CCE Standard 集群版本:v1.23|v1.25(推荐) 集群规模:50|200|1000|2000 集群网络模式:容器隧道网络|VPC 集群转发模式:iptables|ipvs
  • 配置流程 图1 Lite Cluster资源配置流程图 表1 Cluster资源配置流程 配置顺序 配置任务 场景说明 1 配置Lite Cluster网络 购买资源池后,需要弹性公网IP并进行网络配置,配置网络后可通过公网访问集群资源。 2 配置kubectl工具 kubectl是Kubernetes集群的命令行工具,配置kubectl后,您可通过kubectl命令操作Kubernetes集群。 3 配置Lite Cluster存储 如果没有挂载任何外部存储,此时可用存储空间根据dockerBaseSize的配置来决定,可访问的存储空间比较小,因此建议通过挂载外部存储空间解决存储空间受限问题。容器中挂载存储有多种方式,不同的场景下推荐的存储方式不一样,您可根据业务实际情进行选择。 4 (可选)配置驱动 当专属资源池中的节点含有GPU/Ascend资源时,为确保GPU/Ascend资源能够正常使用,需要配置好对应的驱动。如果在购买资源池时,没配置自定义驱动,默认驱动不满足业务要求,可通过本章节将驱动升级到指定版本。 5 (可选)配置镜像预热 Lite Cluster资源池支持镜像预热功能,镜像预热可实现将镜像提前在资源池节点上拉取好,在推理及大规模分布式训练时有效缩短镜像拉取时间。
  • Label指标介绍 表3 Label名字栏 指标对象 Label名字 Label描述 容器级别指标 pod_name 容器所属pod的名字。 pod_id 容器所属pod的ID。 node_ip 容器所属的节点IP值。 container_id 容器ID。 cluster_id 集群ID。 cluster_name 集群名称。 container_name 容器名称。 namespace 是用户创建的POD所在的命名空间。 app_kind 取自首个ownerReferences的kind字段。 app_id 取自首个ownerReferences的uid字段。 app_name 取自首个ownerReferences的name字段。 npu_id 昇腾卡的ID信息,比如davinci0(即将废止)。 device_id 昇腾系列AI处理器的Physical ID。 device_type 昇腾系列AI处理器类型。 pool_id 物理专属池对应的资源池id。 pool_name 物理专属池对应的资源池name。 gpu_uuid 容器使用的GPU的UUID。 gpu_index 容器使用的GPU的索引。 gpu_type 容器使用的GPU的型号。 node级别指标 cluster_id 该node所属CCE集群的ID。 node_ip 节点的IP。 host_name 节点的主机名。 pool_id 物理专属池对应的资源池ID。 project_id 物理专属池的用户的project id。 npu_id 昇腾卡的ID信息,比如davinci0(即将废止)。 device_id 昇腾系列AI处理器的Physical ID。 device_type 昇腾系列AI处理器类型。 gpu_uuid 节点上GPU的UUID。 gpu_index 节点上GPU的索引。 gpu_type 节点上GPU的型号。 device_name infiniband或RoCE网络网卡的设备名称。 port IB网卡的端口号。 physical_state IB网卡每个端口的状态。 firmware_version IB网卡的固件版本。 filesystem NFS挂载的文件系统。 mount_point NFS的挂载点。 Diagnos cluster_id GPU所在节点所属的CCE集群ID。 node_ip GPU所在节点的IP。 pool_id 物理专属池对应的资源池ID。 project_id 物理专属池的用户的project id。 gpu_uuid GPU的UUID。 gpu_index 节点上GPU的索引。 gpu_type 节点上GPU的型号。 device_name infiniband或RoCE网络网卡的设备名称。 port IB网卡的端口号。 physical_state IB网卡每个端口的状态。 firmware_version IB网卡的固件版本。
  • 替换节点 “节点管理”页签中提供对单个节点替换的功能。可单击操作列的“替换”,即可实现对单个节点的替换。替换节点操作不会收取费用。 单击“操作记录”可查看当前资源池替换节点的操作记录。“运行中”表示节点在替换中。替换成功后,节点列表中会显示新的节点名称。 替换最长时间为24小时,超时后仍然未找到合适的资源,状态会变为“失败”。可将鼠标悬浮在图标上,查看具体失败原因。 每天累计替换的次数不超过资源池节点总数的20%,同时替换的节点数不超过资源池节点总数的5%。 替换节点时需确保有空闲节点资源,否则替换可能失败。 当操作记录里有节点处于重置中时,该资源池无法进行替换节点操作。
  • 操作流程 图1 操作流程图 表2 操作任务流程说明 阶段 任务 说明 准备工作 准备环境 本教程案例是基于ModelArts Lite k8s Cluster运行的,需要购买并开通k8s Cluster资源。 准备代码 准备AscendSpeed训练代码、分词器Tokenizer和推理代码。 准备数据 准备训练数据,可以用本案使用的数据集,也可以使用自己准备的数据集。 准备镜像 准备训练模型适用的容器镜像。 预训练 预训练 介绍如何进行预训练,包括训练数据处理、超参配置、训练任务、性能查看。 微调训练 SFT全参微调 介绍如何进行SFT全参微调、超参配置、训练任务、性能查看。 LoRA微调训练 介绍如何进行LoRA微调、超参配置、训练任务、性能查看。
  • 训练支持的模型列表 本方案支持以下模型的训练,如表1所示。 表1 支持的模型列表 序号 支持模型 支持模型参数量 权重文件获取地址 1 llama2 llama2-7b https://huggingface.co/meta-llama/Llama-2-7b-chat-hf 2 llama2-13b https://huggingface.co/meta-llama/Llama-2-13b-chat-hf 3 llama2-70b https://huggingface.co/meta-llama/Llama-2-70b-hf https://huggingface.co/meta-llama/Llama-2-70b-chat-hf (推荐) 4 llama3 llama3-8b https://huggingface.co/meta-llama/Meta-Llama-3-8B-Instruct 5 llama3-70b https://huggingface.co/meta-llama/Meta-Llama-3-70B-Instruct 6 Qwen qwen-7b https://huggingface.co/Qwen/Qwen-7B-Chat 7 qwen-14b https://huggingface.co/Qwen/Qwen-14B-Chat 8 qwen-72b https://huggingface.co/Qwen/Qwen-72B-Chat 9 Qwen1.5 qwen1.5-7b https://huggingface.co/Qwen/Qwen1.5-7B-Chat 10 qwen1.5-14b https://huggingface.co/Qwen/Qwen1.5-14B-Chat 11 qwen1.5-32b https://huggingface.co/Qwen/Qwen1.5-32B-Chat 12 qwen1.5-72b https://huggingface.co/Qwen/Qwen1.5-72B-Chat 13 Yi yi-6b https://huggingface.co/01-ai/Yi-6B-Chat 14 yi-34b https://huggingface.co/01-ai/Yi-34B-Chat 15 ChatGLMv3 glm3-6b https://huggingface.co/THUDM/chatglm3-6b 16 Baichuan2 baichuan2-13b https://huggingface.co/baichuan-inc/Baichuan2-13B-Chat 17 Qwen2 qwen2-0.5b https://huggingface.co/Qwen/Qwen2-0.5B-Instruct 18 qwen2-1.5b https://huggingface.co/Qwen/Qwen2-1.5B-Instruct 19 qwen2-7b https://huggingface.co/Qwen/Qwen2-7B-Instruct 20 qwen2-72b https://huggingface.co/Qwen/Qwen2-72B-Instruct 21 GLMv4 glm4-9b https://huggingface.co/THUDM/glm-4-9b-chat 说明: glm4-9b模型必须使用版本4b556ad4d70c38924cb8c120adbf21a0012de6ce 22 mistral mistral-7b https://huggingface.co/mistralai/Mistral-7B-Instruct-v0.2 23 mixtral mixtral-8x7b https://huggingface.co/mistralai/Mixtral-8x7B-Instruct-v0.1 24 llama3.1 llama3.1-8b https://huggingface.co/meta-llama/Meta-Llama-3.1-8B-Instruct 25 llama3.1-70b https://huggingface.co/meta-llama/Meta-Llama-3.1-70B-Instruct 26 Qwen2.5 qwen2.5-0.5b https://huggingface.co/Qwen/Qwen2.5-0.5B-Instruct 27 qwen2.5-7b https://huggingface.co/Qwen/Qwen2.5-7B-Instruct 28 qwen2.5-14b https://huggingface.co/Qwen/Qwen2.5-14B-Instruct 29 qwen2.5-32b https://huggingface.co/Qwen/Qwen2.5-32B-Instruct 30 qwen2.5-72b https://huggingface.co/Qwen/Qwen2.5-72B-Instruct 31 llama3.2 llama3.2-1b https://huggingface.co/meta-llama/Llama-3.2-1B-Instruct 32 llama3.2-3b https://huggingface.co/meta-llama/Llama-3.2-3B-Instruct
  • 文档更新内容 6.3.911版本相对于6.3.910版本新增如下内容: 文档中新增在数据预处理时,支持LLama-Factory格式的模板: 支持Alpaca格式的数据,DATA_TYPE 环境变量需设置为 AlpacaStyleInstructionHandler 支持Sharegpt格式的数据,DATA_TYPE 环境变量需设置为 SharegptStyleInstructionHandler 已支持的系列模型模板: qwen2.5系列 qwen2系列 qwen1.5系列 llama3.2系列 llama3.1系列 llama3系列 llama2系列 glm4-9b mixtral-8x7b baichuan2-13b