云服务器内容精选

  • Step3 启动容器镜像 启动容器镜像前请先按照参数说明修改${}中的参数。可以根据实际需要增加修改参数。启动容器命令如下。 export work_dir="自定义挂载的工作目录" #容器内挂载的目录,例如/home/ma-user/ws export container_work_dir="自定义挂载到容器内的工作目录" export container_name="自定义容器名称" export image_name="镜像名称" docker run -itd \ --device=/dev/davinci0 \ --device=/dev/davinci1 \ --device=/dev/davinci2 \ --device=/dev/davinci3 \ --device=/dev/davinci4 \ --device=/dev/davinci5 \ --device=/dev/davinci6 \ --device=/dev/davinci7 \ --device=/dev/davinci_manager \ --device=/dev/devmm_svm \ --device=/dev/hisi_hdc \ -v /usr/local/sbin/npu-smi:/usr/local/sbin/npu-smi \ -v /usr/local/dcmi:/usr/local/dcmi \ -v /usr/local/Ascend/driver:/usr/local/Ascend/driver \ --cpus 192 \ --memory 1000g \ --shm-size 200g \ --net=host \ -v ${work_dir}:${container_work_dir} \ --name ${container_name} \ $image_name \ /bin/bash 参数说明: --name ${container_name} 容器名称,进入容器时会用到,此处可以自己定义一个容器名称,例如ascendspeed。 -v ${work_dir}:${container_work_dir} 代表需要在容器中挂载宿主机的目录。宿主机和容器使用不同的文件系统。work_dir为宿主机中工作目录,目录下存放着训练所需代码、数据等文件。container_work_dir为要挂载到的容器中的目录。为方便两个地址可以相同。 容器不能挂载/home/ma-user目录,此目录为ma-user用户家目录。 driver及npu-smi需同时挂载至容器。 不要将多个容器绑到同一个NPU上,会导致后续的容器无法正常使用NPU功能。 ${image_name} 为docker镜像的ID,在宿主机上可通过docker images查询得到。 --shm-size:表示共享内存,用于多进程间通信。由于需要转换较大内存的模型文件,因此大小要求200g及以上。 通过容器名称进入容器中。启动容器时默认用户为ma-user用户。 docker exec -it ${container_name} bash 上传代码和数据到宿主机时使用的是root用户,此处需要执行如下命令统一文件属主为ma-user用户。 #统一文件属主为ma-user用户 sudo chown -R ma-user:ma-group ${container_work_dir} # ${container_work_dir}:/home/ma-user/ws 容器内挂载的目录 #例如:sudo chown -R ma-user:ma-group /home/ma-user/ws 使用ma-user用户安装依赖包。 #进入scripts目录换 cd /home/ma-user/ws/llm_train/AscendSpeed #执行安装命令 sh scripts/install.sh 为了避免因使用不同版本的 transformers 库进行训练和推理而导致冲突的问题,建议用户分别为训练和推理过程创建独立的容器环境。 通过运行install.sh脚本,还会git clone下载Megatron-LM、MindSpeed、ModelLink源码(install.sh中会自动下载配套版本,如果手动下载源码还需修改版本)至llm_train/AscendSpeed文件夹中。下载的源码文件结构如下: |——AscendCloud-LLM |──llm_train # 模型训练代码包 |──AscendSpeed # 基于AscendSpeed的训练代码 |──ascendcloud_patch/ # 针对昇腾云平台适配的功能补丁包 |──scripts/ # 训练需要的启动脚本 |——src/ # 启动命令行封装脚本,在install.sh里面自动构建 |──Megatron-LM/ # 适配昇腾的Megatron-LM训练框架 |──MindSpeed/ # MindSpeed昇腾大模型加速库 |──ModelLink/ # ModelLink端到端的大语言模型方案 |——megatron/ # 注意:该文件夹从Megatron-LM中复制得到 |——...
  • 镜像地址 本教程中用到的训练和推理的基础镜像地址和配套版本关系如下表所示,请提前了解。 表1 基础容器镜像地址 镜像用途 镜像地址 基础镜像 swr.cn-southwest-2.myhuaweicloud.com/atelier/pytorch_2_1_ascend:pytorch_2.1.0-cann_8.0.rc3-py_3.9-hce_2.0.2312-aarch64-snt9b-20240824153350-cebb080 表2 模型镜像版本 模型 版本 CANN cann_8.0.rc3 驱动 23.0.6 PyTorch 2.1.0
  • Step1 检查环境 SSH登录机器后,检查NPU设备检查。运行如下命令,返回NPU设备信息。 npu-smi info # 在每个实例节点上运行此命令可以看到NPU卡状态 npu-smi info -l | grep Total # 在每个实例节点上运行此命令可以看到总卡数 如出现错误,可能是机器上的NPU设备没有正常安装,或者NPU镜像被其他容器挂载。请先正常安装固件和驱动,或释放被挂载的NPU。 检查docker是否安装。 docker -v #检查docker是否安装 如尚未安装,运行以下命令安装docker。 yum install -y docker-engine.aarch64 docker-engine-selinux.noarch docker-runc.aarch64 配置IP转发,用于容器内的网络访问。执行以下命令查看net.ipv4.ip_forward配置项的值,如果为1,可跳过此步骤。 sysctl -p | grep net.ipv4.ip_forward 如果net.ipv4.ip_forward配置项的值不为1,执行以下命令配置IP转发。 sed -i 's/net\.ipv4\.ip_forward=0/net\.ipv4\.ip_forward=1/g' /etc/sysctl.conf sysctl -p | grep net.ipv4.ip_forward
  • 操作场景 服务扩展点是CodeArts的一种扩展插件,为CodeArts提供连接第三方服务的能力。 当CodeArts中的一些任务需要连接到远程第三方服务,进行一些获取数据操作时,例如连接第三方GitHub仓库获取项目源码、连接第三方Jenkins服务执行Jenkins任务等,可以通过新建扩展点来实现与相应服务的连接。 CodeArts支持以下扩展点。 表1 服务扩展点 类型 使用场景 Docker repository 用于连接Docker镜像仓库,连接成功后可以通过部署服获取仓库中的Docker镜像。 Jenkins 用于连接Jenkins服务,连接成功后可以在流水线中调用并执行Jenkins服务中所包含的任务。 Kubernetes 用于连接Kubernetes集群,连接成功后可对Kubernetes集群下发部署任务。 nexus repository 用于连接第三方私有Maven仓库,连接成功后可以通过构建任务获取该仓库中文件信息。 通用Git 用于连接第三方Git仓库,连接成功后可以在流水线、构建等服务中获取该仓库的分支等信息。 码云Git 用于连接码云Git账号,连接成功后可以在流水线、构建等服务中获取该账号的仓库、分支等信息。 GitHub 用于连接Github账号,连接成功后可以在流水线、构建等服务中获取该账号的仓库、分支等信息。 IAM 账户 用于委托自己账号的AK/SK给需要执行任务的账号,在该账号执行部署任务的时候可以通过AK/SK获得被委托的账号的token执行更高权限的任务。 CodeArts Repo HTTPS 用于授权CodeArts服务对托管的Repo仓库进行代码下载、分支创建、分支合并、代码提交等操作。当前主要用于流水线服务的微服务变更功能模块及其相关插件。 Gerrit 用于连接第三方Gerrit仓库,连接成功后可以在流水线、构建等服务中获取该仓库代码。 GitCode 用于连接GitCode账号,连接成功后可以在流水线、构建等服务中获取该账号的仓库、分支等信息。
  • Windows操作系统 远程登录Windows操作系统的X实例一般需要做好如下准备工作,具体准备工作请根据Windows云服务器登录方式概述参见对应的登录方式。 获取云服务器登录密码。 使用公共镜像、市场镜像创建的云服务器,默认已经安装一键式重置密码插件。如果您忘记密码或密码过期,可以通过重置密码功能重新设置云服务器登录密码。 确保云服务器绑定弹性公网IP(仅VNC方式不要求)。 L实例 购买时默认已绑定弹性公网IP。 确保云服务器已开启远程桌面协议(MSTSC方式、通过RDP文件登录等方式要求)。 Flexus云服务器X实例默认已开启远程桌面协议。 安全组入方向开放3389端口(仅VNC方式不要求)。
  • Linux操作系统 远程登录Linux操作系统的X实例一般需要做好如下准备工作,具体准备工作请根据Linux云服务器登录方式概述参见对应的登录方式。 获取登录密码。 使用公共镜像创建的云服务器,默认已经安装一键式重置密码插件。如果您忘记密码或密码过期,可以通过重置密码功能重新设置云服务器登录密码。 确保云服务器绑定弹性公网IP(仅VNC方式不要求)。 L实例购买时默认已绑定弹性公网IP。 安全组入方向开放22端口(仅VNC方式不要求)。
  • 示例流程 图1 给用户授权 DLI 权限流程 创建用户组并授权 在IAM控制台创建用户组,并授予DLI服务普通用户权限“DLI ReadOnlyAccess”。 创建用户并加入用户组 在IAM控制台创建用户,并将其加入1中创建的用户组。 用户登录并验证权限 使用新创建的用户登录控制台,切换至授权区域,验证权限: 在“服务列表”中选择 数据湖探索 ,进入DLI主界面。如果在“队列管理”页面可以查看队列列表,但是单击右上角“购买队列”,无法购买DLI队列(假设当前权限仅包含DLI ReadOnlyAccess),表示“DLI ReadOnlyAccess”已生效。 在“服务列表”中选择除 数据湖 探索外(假设当前策略仅包含DLI ReadOnlyAccess)的任一服务,如果提示权限不足,表示“DLI ReadOnlyAccess”已生效。
  • 相关软件下载及安装 Jenkins下载安装 下载链接:https://mirrors.jenkins.io/war-stable/,参考https://www.jenkins.io/zh/doc/book/installing/进行安装。 安装git用于拉取代码进行构建命令 yum install git –y JDK安装包下载 https://www.oracle.com/cn/java/technologies/downloads/#java11 Maven安装包下载 https://maven.apache.org/download.cgi 安装Docker用于打包镜像包并上传到镜像仓库 yum install docker
  • 安装后检查 检查git: [root@ecs-jenkins ~]# git version git version 1.8.3.1 检查JDK: [root@ecs-jenkins jar]# java -version openjdk version "1.8.0_345" OpenJDK Runtime Environment (build 1.8.0_345-b01) OpenJDK 64-Bit Server VM (build 25.345-b01, mixed mode) 检查Maven: [root@ecs-jenkins jar]# mvn -v Apache Maven 3.8.6 (84538c9988a25aec085021c365c560670ad80f63) Maven home: /root/app/maven/apache-maven-3.8.6 Java version: 11.0.8, vendor: Huawei Technologies Co., LTD, runtime: /root/app/jdk11/jdk-11.0.8 Default locale: en_US, platform encoding: UTF-8 OS name: "linux", version: "3.10.0-1160.76.1.el7.x86_64", arch: "amd64", family: "unix" 检查Docker: [root@ecs-jenkins jar]# docker version Client: Version: 1.13.1 API version: 1.26 Package version: docker-1.13.1-209.git7d71120.el7.centos.x86_64 Go version: go1.10.3 Git commit: 7d71120/1.13.1 Built: Wed Mar 2 15:25:43 2022 OS/Arch: linux/amd64 Server: Version: 1.13.1 API version: 1.26 (minimum version 1.12) Package version: docker-1.13.1-209.git7d71120.el7.centos.x86_64 Go version: go1.10.3 Git commit: 7d71120/1.13.1 Built: Wed Mar 2 15:25:43 2022 OS/Arch: linux/amd64 Experimental: false
  • 环境信息说明 在Linux虚拟机上安装Jenkins,本实践使用的具体环境信息如下所示。如果使用镜像包部署,需要在虚拟机中安装Docker。 虚拟机:CentOS 7.9 Jenkins:2.319.3 git:yum安装 JDK:11.0.8 Apache Maven:3.8.6 部署的Jenkins启动时需添加参数: -Dhudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_ CS RF_PROTECTION=true 否则GitLab对接Jenkins会失败,报错信息如下: HTTP Status 403 - No valid crumb was included in the request
  • Step3 安装Docker 检查docker是否安装。 docker -v #检查docker是否安装 如尚未安装,运行以下命令安装docker。 yum install -y docker 配置IP转发,用于容器内的网络访问。执行以下命令查看net.ipv4.ip_forward配置项的值,如果为1,可跳过此步骤。 sysctl -p | grep net.ipv4.ip_forward 如果net.ipv4.ip_forward配置项的值不为1,执行以下命令配置IP转发。 sed -i 's/net\.ipv4\.ip_forward=0/net\.ipv4\.ip_forward=1/g' /etc/sysctl.conf sysctl -p | grep net.ipv4.ip_forward
  • 创建OBS桶 ModelArts使用 对象存储服务 (Object Storage Service,简称OBS)进行数据存储以及模型的备份和快照,实现安全、高可靠和低成本的存储需求。因此,在使用ModelArts之前通常先创建一个OBS桶,然后在OBS桶中创建文件夹用于存放数据。 本文档也以将运行代码以及输入输出数据存放OBS为例,请参考创建OBS桶,例如桶名:standard-llama2-13b。并在该桶下创建文件夹目录用于后续存储代码使用,例如:training_data。
  • 步骤3:(可选)激活站点 购买“部署位置”为“公有云”的数字化制造基础服务后,您还需要按照界面指引激活站点,才能使用数字化制造基础服务。 登录CraftArts IPDCenter控制台。 在左侧导航栏中,单击“数字化制造基础服务”,进入数字化制造基础服务页面。 选择“公有云运行服务”页签,单击服务记录左侧的。 在“状态”为“新建”的站点“操作”列中单击“激活站点”,系统弹出“激活站点”窗口。 选择组织。 (可选)没有组织或想创建新的组织时,请参考以下步骤创建组织: 单击“没有组织?去创建”。 在弹出的“创建组织”窗口中,设置组织名称和 域名 。 组织名称:由1~60个中文、英文、数字及合法字符组成。 域名:可设置新域名或使用自有域名。 没有域名,请设置域名:可使用2~30位字母、数字和.-或它们的组合,例如abc,后缀名为固定的.orgid.top。 已有域名,使用自有域名:单击“使用自有域名”,输入自有域名,例如example.com。 设置组织域名后,管理员为组织创建成员时,成员的管理式华为账号会默认带有固定域名后缀。如设置的组织域名为abc.orgid.top,则管理员创建的成员账号名为xxx@abc.orgid.top;如使用的组织域名为example.com,则管理员创建的成员账号名为xxx@example.com。 阅读并勾选相关服务协议,然后单击“创建”。 组织创建成功,返回至“激活站点”窗口。 单击“请选择”的下拉框,在已有的组织列表中选择组织。 单击“确定”。 站点激活成功后,即可通过控制台或Web网页方式登录数字化制造基础服务。
  • 步骤2:购买数字化制造基础服务 用户可以根据实际业务需求,在CraftArts IPDCenter控制台购买数字化制造基础服务。针对不同的应用场景,用户可以自定义站点数量、用户数量和购买时长,全方位贴合实际业务诉求。 进入购买数字化制造基础服务页面。 根据页面提示,配置如下信息。 表1 数字化制造基础服务配置说明 类型 配置项 配置说明 基础配置 部署位置 数字化制造基础服务的部署位置,支持“公有云”和“边缘云”。 说明: “边缘云”仅在识别到有效的边缘可用区时才显示。 可用区 仅“部署位置”选择“边缘云”时显示。选择数字化制造基础服务所属的可用区。 可选值来源于位置服务(Location Service,LCS )授予账号使用的对应边缘可用区(Availability Zone,AZ)。 计费模式 包年/包月:数字化制造基础服务的预付费模式。 运行服务名称 用户自定义,表示需要购买的数字化制造基础服务的名称。 企业项目 仅对开通企业项目的企业客户账号显示。如需使用该功能,请联系客服申请开通。 企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理,默认项目为default。了解更多企业项目相关信息,请参见企业项目管理。 虚拟私有云 仅“部署位置”选择“边缘云”时显示。表示在华为云上构建的逻辑隔离的网络空间,一个虚拟私有云由至少一个子网组成。系统会为您在每个地域提供默认的虚拟私有云和子网。 如现有的虚拟私有云/子网不符合您的要求,可以在虚拟私有云控制台进行创建,具体操作请参见创建虚拟私有云和子网。 同一虚拟私有云内资源默认内网互通。 安全组 仅“部署位置”选择“边缘云”时显示。表示一个逻辑上的分组,为具有相同安全保护需求并相互信任的云服务器提供访问策略。系统会为您提供一个默认安全组,默认安全组的规则是在出方向上的数据报文全部放行,入方向访问受限,安全组内的云服务器无需添加规则即可互相访问。 如现有的安全组不符合您的要求,可以在虚拟私有云控制台进行创建,具体操作请参见创建安全组。 站点配置 站点 通常一个站点对应一个物理的制造基地(工厂)。站点数量最少为1。 单击“增加站点”,可增加您需要购买站点的数量。 单击“删除”,可减少您需要购买站点的数量。 用户数量 设置对应站点您需要购买用户的数量。单个站点的对应的用户数量最少为1。 购买时长 - 选择您需要购买的数字化制造基础服务的时长。 勾选“自动续费”,可避免数字化制造基础服务到期时需要进行手动续费的操作。 单击“下一步”,进入待购买服务规格确认页面。 确认购买清单中的资源配置信息后,阅读并勾选同意协议。 协议详细内容请参见CraftArts IPDCenter服务声明。 单击“立即购买”。 购买包年/包月的数字化制造基础服务,请根据页面提示完成支付。 待系统提示购买成功后,即可进入CraftArts IPDCenter控制台查收您的数字化制造基础服务。
  • 注意事项 数字化制造基础服务目前仅在华北-北京四、华南-广州上线,请在控制台页面左上角的区域中选择“华北-北京四”或“华南-广州”。 1个华为账号只能购买5个数字化制造基础服务站点(不同区域、部署位置分开计算)。 仅当购买“部署位置”为“公有云”的数字化制造基础服务时才需要进行激活站点操作: 1个数字化制造基础服务站点只能绑定1个组织,且1个组织不能同时被多个数字化制造基础服务站点绑定。 站点所绑定的组织的创建者即数字化制造基础服务业务系统的超级管理员。