华为云用户手册

  • 管理您的个人信息 华为非常尊重您对个人信息的关注,华为将遵照相关法律法规的要求,协调、支持并保障您行使访问、复制、更正、删除等个人信息主体权利。 由于您是通过开发者应用使用【华为云应用性能分析服务数据采集SDK】和服务,如果您希望访问、复制或更正与【华为云应用性能分析服务数据采集SDK】和服务相关的个人信息,您应通过开发者应用提供的路径实现您的个人信息主体权利。 为保障您访问、复制、更正和删除个人信息的权利实现,华为在与开发者的协议中,明确要求开发者承诺根据法律法规要求向您提供便捷的权利实现方式。【同时,华为的开放能力也向开发者提供了相关的接口,支持开发者通过接口调用方式来执行您关于个人信息的访问、复制、更正和删除的权利请求。】您也可以通过本声明“如何联系华为”章节中所述联系方式与华为取得联系,华为将尽力协调、支持并保障您的上述权利实现。 当您直接向华为提出个人信息主体权利时,为了保障您的数据安全和其他合法权益,华为可能会对您的身份进行验证并要求您提供验证身份所必要的个人信息,同时华为也可能会向开发者提供收集的身份验证信息以核实您的身份。在验证确认您的身份后,华为会根据法律法规要求及时响应您的相关请求。 如您对您的数据主体权利有进一步要求或存在任何疑问、意见或建议,可通过本声明中“如何联系华为”章节中所述方式与华为取得联系,并行使您的相关权利。
  • 设备权限调用 当您使用相应功能及服务时,华为会通过开发者应用向系统申请您设备的相应权限。您可以在设备的设置功能或“隐私设置”中查看权限状态,并可自行选择开启或关闭部分或全部权限。 开发者在集成、使用相应开放能力时,将自行决定权限的调用范围,因此开发者应对权限的调用及用途向您进行说明。您根据开发者应用的请求开启任一权限即代表授权华为可以处理相关个人信息来为您提供对应服务;一旦您关闭任一权限即代表您取消了授权,华为将不再基于对应权限继续处理相关个人信息,可能无法继续为您提供该权限所对应的服务。请注意,您关闭权限的决定不会影响此前基于您授权所进行的个人信息处理活动的效力。 权限 权限描述 使用目的 获取网络状态权限 获取网络状态。 用于检测当前的网络连接是否有效。 获取Wi-Fi状态权限 获取Wi-Fi状态。 用于获取当前Wi-Fi接入的状态。
  • 如何联系华为 华为设立了个人信息保护专职部门,您可以通过访问个人行使权利的申请受理页面与其取得联系,华为会尽快回复。 公司注册地址:贵州省贵安新区黔中大道交兴功路华为云数据中心。 如果您对华为的回复不满意,特别是当华为的个人信息处理行为损害了您的合法权益时,您还可以通过向有管辖权的人民法院提起诉讼、向行业自律协会或政府相关管理机构投诉等外部途径进行解决。您也可以向华为了解可能适用的相关投诉途径的信息。 华为将始终遵照华为的隐私政策来收集和使用您的信息。有关华为的隐私政策,可参阅华为云隐私政策声明。
  • 对未成年人的保护 华为非常重视对未成年人个人信息的保护,华为将严格按照国家法律法规要求对未成年人提供服务并对未成年人提供保护。如果您是未成年人,需要您的父母或其他监护人同意您使用开发者应用并同意相关应用的服务条款。父母或其他监护人也应采取适当的预防措施来保护未成年人,包括监督其对开发者应用的使用。 特别地,如果您是儿童(不满十四周岁的未成年人),在您使用开发者应用和华为的服务前,请务必通知您的父母或其他监护人一起仔细阅读开发者应用隐私声明、本声明,并在您的父母或其他监护人同意或指导后,使用开发者应用和华为的服务或向华为提供信息。如果您是儿童的父母或其他监护人,请确保您监护的儿童在您的同意或指导下使用开发者应用和华为的服务以及向华为提供信息。
  • 日志索引流量费用变化说明 “索引配置”功能上线公测期间,对于未配置索引或者配置全文索引的场景,labels字段支持搜索,但暂不收取索引流量费用,该特性在2024年7月转商用后,恢复对所有字段的索引流量收费。 例如以下日志示例内容,其中finishLog、func_urn、function为上报的labels字段。 "content": "this is a test log", "finishLog": "finish log", "func_urn": "func_urn", "function": "test001" “索引配置”功能上线公测期间,对于未配置索引或者配置全文索引的场景,上述字段均支持搜索,但只收取content的索引流量费用,该特性在2024年7月转商用后,content及finishLog、func_urn、function字段均会收取索引流量费用。 父主题: 计费FAQ
  • 监控插件安装步骤 当前账户需要给 CES 授权委托,请参考创建用户并授权使用 云监控服务 。 当前还不支持在CES界面直接一键安装监控,需要登录到服务器上执行以下命令安装配置Agent。其它region的安装请参考单台主机下安装Agent。 cd /usr/local && curl -k -O https://obs.cn-north-4.myhuaweicloud.com/uniagent-cn-north-4/script/agent_install.sh && bash agent_install.sh 安装成功的标志如下: 图1 安装成功提示 在CES界面查看具体的监控项,加速卡类的监控项必须在主机安装加速卡驱动后才会有相关指标。 图2 监控界面 至此,监控插件已经安装完成,相关指标的采集可以在UI界面直接查看或者根据指标值配置相关告警。
  • 裸金属服务器监控介绍 监控概述请参考BMS官方文档。除文档所列支持的镜像之外,目前还支持Ubuntu20.04。 监控指标采样周期1分钟。当前监控指标项已经包含CPU、内存、磁盘、网络。在主机上安装加速卡驱动后,可以自动采集的如下指标: 表1 指标列表 指标英文名 指标中文名 说明 单位 维度 gpu_status gpu健康状态。 BMS上GPU健康状态,是一个综合指标,0代表健康,1代表亚健康,2代表故障。 - instance_id,gpu gpu_utilization gpu使用率。 该GPU的算力使用率。 % instance_id,gpu memory_utilization 显存使用率。 该GPU的显存使用率。 % instance_id,gpu gpu_performance gpu性能状态。 该GPU的性能状态。 - instance_id,gpu encoder_utilization 编码使用率。 该GPU的编码能力使用率。 % instance_id,gpu decoder_utilization 解码使用率。 该GPU的解码能力使用率。 % instance_id,gpu volatile_correctable 短期可纠正ECC错误数量。 该GPU重置以来可纠正的ECC错误数量,每次重置后归0。 个 instance_id,gpu volatile_uncorrectable 短期不可纠正ECC错误数量。 该GPU重置以来不可纠正的ECC错误数量,每次重置后归0。 个 instance_id,gpu aggregate_correctable 累计可纠正ECC错误数量。 该GPU累计的可纠正ECC错误数量。 个 instance_id,gpu aggregate_uncorrectable 累计不可纠正ECC错误数量。 该GPU累计的不可纠正ECC错误数量。 个 instance_id,gpu retired_page_single_bit retired page single bit错误数量。 retired page single bit错误数量,表示当前卡隔离的单比特页数。 个 instance_id,gpu retired_page_double_bit retired page double bit错误数量。 retired page double bit错误数量,表示当前卡隔离的双比特页的数量。 个 instance_id,gpu
  • 背景信息 Megatron-Deepspeed Megatron-Deepspeed是一个基于PyTorch的深度学习模型训练框架。它结合了两个强大的工具:Megatron-LM和DeepSpeed,可在具有分布式计算能力的系统上进行训练,并且充分利用了多个GPU和深度学习加速器的并行处理能力。可以高效地训练大规模的语言模型。 Megatron-LM是一个用于大规模语言建模的模型。它基于GPT(Generative Pre-trained Transformer)架构,这是一种基于自注意力机制的神经网络模型,广泛用于 自然语言处理 任务,如文本生成、 机器翻译 和对话系统等。 DeepSpeed是NVIDIA开源的加速深度学习训练的库。它针对大规模的模型和分布式训练进行了优化,可以显著提高训练速度和效率。DeepSpeed提供了各种技术和优化策略,包括分布式梯度下降、模型并行化、梯度累积和动态精度缩放等。它还支持优化大模型的内存使用和计算资源分配。 GPT2 GPT2(Generative Pre-trained Transformer 2),是OpenAI组织在2018年于GPT模型的基础上发布的新预训练模型,是一个基于Transformer且非常庞大的语言模型。它在大量数据集上进行了训练,直接运行一个预训练好的GPT-2模型:给定一个预定好的起始单词或者句子,可以让它自行地随机生成后续的文本。
  • 环境准备 在华为云ModelArts Server预购相关超强算力的GPU裸金属服务器,并选择AIGC场景通用的镜像,完成使用Megatron-Deepspeed训练GPT2模型。本最佳实践使用以下镜像和规格: 镜像选择:Ubuntu 20.04 x86 64bit SDI3 for Ant8 BareMetal with RoCE and NVIDIA-525 CUDA-12.0。 裸金属规格选择: GP Ant8,包含8张GPU卡以及8张RoCE网卡。 关于Ant8裸金属服务器的购买,可以在华为云官网提工单至ModelArts云服务, 完成资源的申请。
  • 步骤3 单机多卡训练 和单机单卡训练相比, 单机多卡训练只需在预训练脚本中设置多卡参数相关即可, 其余步骤与单机单卡相同。 当前选择GPU裸金属服务器是8卡, 因此需要调整如下参数: GPUS_PER_NODE=8 调整全局批处理大小(global batch size)、微批处理大小(micro batch size)、数据并行大小(data_parallel_size)参数。三者的关系为:“global_batch_size”可被“micro_batch_size * data_parallel_size”整除。 本文设置的参数值如下: global_batch_size = 64 micro_batch_size = 4 data_parallel_size = 8 单机多卡完整的预训练脚本内容如下: #! /bin/bash # Runs the "345M" parameter model GPUS_PER_NODE=8 # Change for multinode config MASTER_ADDR=localhost MASTER_PORT=6000 NNODES=1 NODE_RANK=0 WORLD_SIZE=$(($GPUS_PER_NODE*$NNODES)) DATA_PATH=data/meg-gpt2_text_document CHECKPOINT_PATH=checkpoints/gpt2 DISTRIBUTED_ARGS="--nproc_per_node $GPUS_PER_NODE --nnodes $NNODES --node_rank $NODE_RANK --master_addr $MASTER_ADDR --master_port $MASTER_PORT" python -m torch.distributed.launch $DISTRIBUTED_ARGS \ pretrain_gpt.py \ --tensor-model-parallel-size 1 \ --pipeline-model-parallel-size 1 \ --num-layers 24 \ --hidden-size 1024 \ --num-attention-heads 16 \ --micro-batch-size 4 \ --global-batch-size 64 \ --seq-length 1024 \ --max-position-embeddings 1024 \ --train-iters 5000 \ --lr-decay-iters 320000 \ --save $CHECKPOINT_PATH \ --load $CHECKPOINT_PATH \ --data-path $DATA_PATH \ --vocab-file data/gpt2-vocab.json \ --merge-file data/gpt2-merges.txt \ --data-impl mmap \ --split 949,50,1 \ --distributed-backend nccl \ --lr 0.00015 \ --lr-decay-style cosine \ --min-lr 1.0e-5 \ --weight-decay 1e-2 \ --clip-grad 1.0 \ --lr-warmup-fraction .01 \ --checkpoint-activations \ --log-interval 10 \ --save-interval 500 \ --eval-interval 100 \ --eval-iters 10 \ --fp16 训练时监控的GPU利用率如下: 图7 GPU利用率
  • 步骤1 安装模型 安装Megatron-Deepspeed框架。 使用root用户SSH的方式登录GPU裸金属服务器,登录方式在华为云购买页面可以获取。 拉取pytorch镜像,可以选择常用的镜像源进行下载。 docker pull nvcr.io/nvidia/pytorch:21.10-py3 启动容器。 docker run -d -t --network=host --gpus all --privileged --ipc=host --ulimit memlock=-1 --ulimit stack=67108864 --name megatron-deepspeed -v /etc/localtime:/etc/localtime -v /root/.ssh:/root/.ssh nvcr.io/nvidia/pytorch:21.10-py3 执行以下命令,进入容器终端。 docker exec -it megatron-deepspeed bash 下载Megatron-DeepSpeed框架。 git clone https://github.com/bigscience-workshop/Megatron-DeepSpeed 若git clone失败,可以尝试先下载至本地,然后拷贝至服务器中,在docker cp至容器中。 安装Megatron-DeepSpeed框架。 cd Megatron-DeepSpeed pip install -r requirements.txt -i http://mirrors.myhuaweicloud.com/pypi/web/simple --trusted-host mirrors.myhuaweicloud.com pip install mpi4py -i http://mirrors.myhuaweicloud.com/pypi/web/simple --trusted-host mirrors.myhuaweicloud.com 修改测试代码,注释掉以下文件的断言所在行。 vim /workspace/Megatron-DeepSpeed/megatron/model/fused_softmax.py +191 在“assert mask is None, "Mask is silently ignored due to the use of a custom kernel"”前加“#”,即: # assert mask is None, "Mask is silently ignored due to the use of a custom kernel" 数据集下载和预处理。 本实践中选择使用1GB 79K-record的JSON格式的OSCAR数据集。 下载数据集。 wget https://huggingface.co/bigscience/misc-test-data/resolve/main/stas/oscar-1GB.jsonl.xz wget https://s3.amazonaws.com/models.huggingface.co/bert/gpt2-vocab.json wget https://s3.amazonaws.com/models.huggingface.co/bert/gpt2-merges.txt 解压数据集。 xz -d oscar-1GB.jsonl.xz 预处理数据。 python3 tools/preprocess_data.py \ --input oscar-1GB.jsonl \ --output-prefix meg-gpt2 \ --vocab gpt2-vocab.json \ --dataset-impl mmap \ --tokenizer-type GPT2BPETokenizer \ --merge-file gpt2-merges.txt \ --append-eod \ --workers 8 若发生如下“np.float”报错,按照报错提示修改为“float”即可。 图1 预处理数据报错 数据预处理完成标识。 图2 数据预处理完成 新建data目录并移动处理好的数据。 mkdir data mv meg-gpt2* ./data mv gpt2* ./data
  • 步骤2 单机单卡训练 本小节使用上文的服务器环境和安装好的模型, 使用GP Ant8裸金属服务器, 完成单机单卡GPT-2 MEDIUM模型的训练。 创建预训练脚本文件。 执行以下命令,创建预训练脚本文件。 vim pretrain_gpt2.sh 在文件中添加以下信息。 #! /bin/bash # Runs the "345M" parameter model GPUS_PER_NODE=1 # Change for multinode config MASTER_ADDR=localhost MASTER_PORT=6000 NNODES=1 NODE_RANK=0 WORLD_SIZE=$(($GPUS_PER_NODE*$NNODES)) DATA_PATH=data/meg-gpt2_text_document CHECKPOINT_PATH=checkpoints/gpt2 DISTRIBUTED_ARGS="--nproc_per_node $GPUS_PER_NODE --nnodes $NNODES --node_rank $NODE_RANK --master_addr $MASTER_ADDR --master_port $MASTER_PORT" python -m torch.distributed.launch $DISTRIBUTED_ARGS \ pretrain_gpt.py \ --tensor-model-parallel-size 1 \ --pipeline-model-parallel-size 1 \ --num-layers 24 \ --hidden-size 1024 \ --num-attention-heads 16 \ --micro-batch-size 4 \ --global-batch-size 8 \ --seq-length 1024 \ --max-position-embeddings 1024 \ --train-iters 5000 \ --lr-decay-iters 320000 \ --save $CHECKPOINT_PATH \ --load $CHECKPOINT_PATH \ --data-path $DATA_PATH \ --vocab-file data/gpt2-vocab.json \ --merge-file data/gpt2-merges.txt \ --data-impl mmap \ --split 949,50,1 \ --distributed-backend nccl \ --lr 0.00015 \ --lr-decay-style cosine \ --min-lr 1.0e-5 \ --weight-decay 1e-2 \ --clip-grad 1.0 \ --lr-warmup-fraction .01 \ --checkpoint-activations \ --log-interval 10 \ --save-interval 500 \ --eval-interval 100 \ --eval-iters 10 \ --fp16 开始训练。 本文是单机单卡训练,使用预训练脚本参数控制: GPUS_PER_NODE=1 NNODES=1 NODE_RANK=0 执行以下命令,开始预训练。 nohup sh ./pretrain_gpt2.sh & 图3 开始预训练 实时查看训练日志,监控程序。 tail -f nohup.out 如果显示如下信息, 表示模型训练完成。 图4 模型训练完成 在训练过程中观察单GPU卡的利用率,如下: 图5 GPU利用率 查看生成的模型checkpoint。 本示例生成的模型checkpoint路径设置在“/workspace/Megatron-DeepSpeed/checkpoints/gpt2”。 ll ./checkpoints/gpt2 图6 模型checkpoint
  • 使用 对象存储服务 OBS作为存储 若使用OBS服务作为存储方案,推荐使用“并行文件系统+obsutil”的方式,并行文件系统是OBS服务提供的一种经过优化的高性能文件语义系统,提供毫秒级别访问时延,TB/s级别带宽和百万级别的IOPS。obsutil是一款用于访问管理华为云对象存储服务(Object Storage Service,OBS)的命令行工具,您可以使用该工具对OBS进行常用的配置管理操作,如创建桶、上传文件/文件夹、下载文件/文件夹、删除文件/文件夹等。对于熟悉命令行程序的用户,obsutil能在执行批量处理、自动化任务场景能为您带来更优体验。 在OBS服务控制台上创建并行文件系统,具体步骤请参考创建并行文件系统。 针对您的操作系统,下载对应版本的obsutil至弹性裸金属服务器,并完成安装,具体步骤请参考下载和安装obsutil。 使用obsutil之前,您需要配置obsutil与OBS的对接信息,包括OBS终端节点地址(Endpoint)和访问密钥(AK和SK)。获得OBS的认证后,才能使用obsutil执行OBS桶和对象的相关操作,具体步骤请参考初始化配置。 配置完成后,您可以通过命令行的方式在弹性裸金属服务器中对OBS的文件进行上传下载等操作,关于命令行介绍请参考命令行结构。
  • 使用弹性文件服务SFS作为存储 若使用SFS服务作为存储方案,推荐使用SFS Turbo文件系统。SFS Turbo提供按需扩展的高性能文件存储,还具备高可靠和高可用的特点,支持根据业务需要弹性扩容,且性能随容量增加而提升,可广泛应用于多种业务场景。 在SFS服务控制台上创建文件系统,具体步骤请参考创建SFS Turbo文件系统。同一区域不同可用区之间文件系统与云服务器互通,因此保证SFS Turbo与Server服务器在同一区域即可。 当创建文件系统后,您需要使用弹性裸金属服务器来挂载该文件系统,具体步骤请参考挂载NFS协议类型文件系统到云服务器(Linux)。 为避免已挂载文件系统的云服务器重启后,挂载信息丢失,您可以在云服务器设置重启时进行自动挂载,具体步骤请参考服务器重启后自动挂载指南。
  • 使用云硬盘EVS作为存储 在EVS服务控制台上购买磁盘,选择裸金属服务器所在的可用区,挂载方式选择“暂不挂载”,计费模式选择“包年/包月”或者“按需计费”均可以,磁盘大小根据自身需求进行选择购买,更多EVS购买参数介绍可参考购买云硬盘。 图1 购买磁盘 由于产品特性设计,暂不支持在购买EVS云硬盘时立即挂载到云服务器,此时网页界面会提示不支持原因,挂载方式选择暂不挂载即可。 图2 不支持立即挂载 在完成EVS数据盘购买后,进入Server对应的裸金属服务器详情界面,单击“挂载磁盘”,选择刚才购买的EVS数据盘进行挂载即可。 图3 挂载磁盘 在退订裸金属服务时,挂载的EVS数据盘不会自动删除。用户可根据自身需求,将其挂载在其他裸金属服务器上或者进行手动删除。
  • 场景描述 Lite Server为一台弹性裸金属服务器,您可以使用BMS服务提供的切换操作系统功能,对Lite Server资源操作系统进行切换。本文介绍以下三种切换操作系统的方式: 在BMS控制台切换操作系统 使用BMS Go SDK的方式切换操作系统 使用Python封装API的方式切换操作系统 切换操作系统需满足以下条件: 当前裸金属服务器状态为停止状态。 目标操作系统必须是该Region下的IMS公共镜像或者私有共享镜像。
  • 使用BMS Go SDK的方式切换操作系统 以下为BMS使用Go语言通过SDK方式切换操作系统的示例代码。 package main import ( "fmt" "os" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" bms "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/bms/v1" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/bms/v1/model" region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/bms/v1/region" ) func main() { // 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全; // 本示例以ak和sk保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。 ak := os.Getenv("HUAWEICLOUD_SDK_AK") sk := os.Getenv("HUAWEICLOUD_SDK_SK") auth := basic.NewCredentialsBuilder(). WithAk(ak). WithSk(sk). Build() client := bms.NewBmsClient( bms.BmsClientBuilder(). WithRegion(region.ValueOf("cn-north-4")). WithCredential(auth). Build()) keyname := "KeyPair-name" userdata := "aGVsbG8gd29ybGQsIHdlbGNvbWUgdG8gam9pbiB0aGUgY29uZmVyZW5jZQ==" request := &model.ChangeBaremetalServerOsRequest{ ServerId: "****input your bms instance id****", Body: &model.OsChangeReq{ OsChange: &model.OsChange{ Keyname: &keyname, Imageid: "****input your ims image id****", Metadata: &model.MetadataInstall{ UserData: &userdata, }, }, }, } response, err := client.ChangeBaremetalServerOs(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } }
  • 在BMS控制台切换操作系统 获取操作系统镜像。 由华为云官方提供给客户操作系统镜像,在IMS 镜像服务 的共享镜像处进行接收即可,参考如下图操作。 图1 共享镜像 切换操作系统。 对Lite Server资源对应的裸金属服务器,对其进行关机操作,完成关机后,才可以执行切换操作系统动作。 在裸金属服务的更多选项中,点击切换操作系统,如下图所示。 图2 选择操作系统 在切换操作系统界面,选择上一步接收到的共享镜像即可。 图3 选择镜像
  • Python封装API方式切换操作系统 以下为BMS使用Python语言通过API方式切换操作系统的示例代码。 # -*- coding: UTF-8 -*- import requests import json import time import requests.packages.urllib3.exceptions from urllib3.exceptions import InsecureRequestWarning requests.packages.urllib3.disable_warnings(InsecureRequestWarning) class ServerOperation(object): ################################ IAM 认证API################################################# def __init__(self, account, password, region_name, username=None, project_id=None): """ :param username: if IAM user,here is small user, else big user :param account: account big big user :param password: account :param region_name: """ self.account = account self.username = username self.password = password self.region_name = region_name self.project_id = project_id self.ma_endpoint = "https://modelarts.{}.myhuaweicloud.com".format(region_name) self.service_endpoint = "https://bms.{}.myhuaweicloud.com".format(region_name) self.iam_endpoint = "https://iam.{}.myhuaweicloud.com".format(region_name) self.headers = {"Content-Type": "application/json", "X-Auth-Token": self.get_project_token_by_account(self.iam_endpoint)} def get_project_token_by_account(self, iam_endpoint): body = { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": self.username if self.username else self.account, "password": self.password, "domain": { "name": self.account } } } }, "scope": { "project": { "name": self.region_name } } } } headers = { "Content-Type": "application/json" } import json url = iam_endpoint + "/v3/auth/tokens" response = requests.post(url, headers=headers, data=json.dumps(body), verify=True) token = (response.headers['X-Subject-Token']) return token def change_os(self, server_id): url = "{}/v1/{}/baremetalservers/{}/changeos".format(self.service_endpoint, self.project_id, server_id) print(url) body = { "os-change": { "adminpass": "@Server", "imageid": "40d88eea-6e41-418a-ad6c-c177fe1876b8" } } response = requests.post(url, headers=self.headers, data=json.dumps(body), verify=False) print(json.dumps(response.json(), indent=1)) return response.json() if __name__ == '__main__': # 调用API前置准备,初始化认证鉴权信息 server = ServerOperation(username="xxx", account="xxx", password="xxx", project_id="xxx", region_name="cn-north-4") server.change_os(server_id="0c84bb62-35bd-4e1c-ba08-a3a686bc5097")
  • GP Vnt1裸金属服务器支持的镜像详情 Vnt1规格在北京四、北京一和上海一虽然规格相同,但是产品的配置、发布时间都存在很大差异,因此镜像不能共用。 镜像名称:Ubuntu-18.04-for-BareMetal-Vnt1-p3-with-NVIDIA-470-CUDA-11.4-Uniagent(仅限于北京一、北京四、广州一) 表6 镜像详情 软件类型 版本详情 操作系统 Ubuntu 18.04 server 64bit 内核版本 4.15.0-45-generic 架构类型 x86 驱动版本 470.182.03 cuda 11.4 container-toolkit 1.15.0.-1 mlnx-ofed-linux 5.7-1.0.2.1-ubuntu18.04-x86_64 libnccl2 2.10.3-1 nccl-test v2.13.9 docker 24.0.2 镜像名称:Ubuntu-18.04-for-BareMetal-Vnt1-p6-with-NVIDIA-470-CUDA-11.4-Uniagent(仅限于上海一) 表7 镜像详情 软件类型 版本详情 操作系统 Ubuntu 18.04 server 64bit 内核版本 4.15.0-45-generic 架构类型 x86 驱动版本 470.182.03 cuda 11.4 container-toolkit 1.15.0.-1 mlnx-ofed-linux 5.7-1.0.2.1-ubuntu18.04-x86_64 libnccl2 2.10.3-1 nccl-test v2.13.9 docker 24.0.2 镜像名称:Euler2.9-X86-for-V100-BareMetal(仅限于北京四和上海一) 表8 镜像详情 软件类型 版本详情 操作系统 EulerOS 2.9 64bit 架构类型 x86 镜像名称:CentOS-7.9-64bit-for-BareMetal- -with-NVIDIA-515-CUDA-11.7-Uniagent(仅限于北京一、北京四、广州一) 表9 镜像详情 软件类型 版本详情 操作系统 CentOS 7.9 64bit 架构类型 x86
  • GPU Ant1裸金属服务器支持的镜像详情 镜像名称:Ubuntu-20.04-x86-for-A100-BareMetal-with-RoCE-and-NVIDIA-515-CUDA-11.7-AIGC(仅限北京四和乌兰一) 表10 镜像详情 软件类型 版本详情 操作系统 Ubuntu 20.04 server 64bit 架构类型 x86 RoCE路由配置 不支持自动配置,需创建后手动配置。 镜像名称:Ubuntu-20.04-x86-for-A100-BareMetal-with-RoCE-and-NVIDIA-525-CUDA-12.0-AIGC(仅限北京四和乌兰一) 表11 镜像详情 软件类型 版本详情 操作系统 Ubuntu 20.04 server 64bit 架构类型 x86 RoCE路由配置 不支持自动配置,需创建后手动配置。
  • GP Ant8裸金属服务器支持的镜像详情 镜像名称:Ubuntu-20.04-for-Ant8-with-RoCE-and-NVIDIA-525-CUDA-12.0-Uniagent 表4 镜像详情 软件类型 版本详情 操作系统 Ubuntu 20.04 server 64bit 内核版本 5.4.0-144-generic 架构类型 x86 驱动版本 525.105.17 cuda 12.0 container-toolkit 1.13.3-1 fabricmanager 525.105.17 mlnx-ofed-linux 5.8-2.0.3.1-ubuntu20.04-x86_64 peer-memory-dkms 1.2-0 libnccl2 2.18.1 nccl-test v.2.13.6 docker 20.10.23 RoCE路由配置 支持 镜像名称:Ubuntu-20.04-for-Ant8-with-RoCE-and-NVIDIA-515-CUDA-11.7-Uniagent 表5 镜像详情 软件类型 版本详情 操作系统 Ubuntu 20.04 server 64bit 内核版本 5.4.0-144-generic 架构类型 x86 驱动版本 515.105.01 cuda 11.7 container-toolkit 1.13.3-1 fabricmanager 515.105.01-1 mlnx-ofed-linux 5.8-2.0.3.1-ubuntu20.04-x86_64 peer-memory-dkms 1.2-0 libnccl2 2.14.3 nccl-test v.2.13.6 docker 20.10.23 RoCE路由配置 支持
  • NPU Snt9B裸金属服务器支持的镜像详情 镜像名称:EulerOS2.10-Arm-64bit-for-Snt9B-BareMetal-with-23.0.6-7.1.0.9.220-CANN7.0.1.5 表2 镜像详情 软件类型 版本详情 操作系统 EulerOS 2.10 内核版本 Linux 4.19.90-vhulk2211.3.0.h1543.eulerosv2r10.aarch64 架构类型 aarch64 固件版本 7.1.0.9.220 npu-driver 23.0.6 Ascend-cann-toolkit 7.0.1.5 cann-kernels 7.0.1.5 Ascend-mindx-toolbox 5.0.1.1 Docker 24.0.7 Ascend-docker-runtime 5.0.1.1 MindSpore Lite 2.1.0-cp37-cp37m Mpich 3.2.1 镜像名称:HCE2.0-Arm-64bit-for-Snt9B-BareMetal-with-23.0.6-7.1.0.9.220-CANN7.1.0.5 表3 镜像详情 软件类型 版本详情 操作系统 HCE2.0 内核版本 Linux 5.10.0-60.18.0.50.r865_35.hce2.aarch64 架构类型 aarch64 固件版本 7.1.0.9.220 npu-driver 23.0.6 Ascend-cann-toolkit 7.0.1.5 cann-kernels 7.0.1.5 Ascend-mindx-toolbox 5.0.1.1 Docker 18.09 Ascend-docker-runtime 5.0.1.1 MindSpore Lite 2.1.0-cp37-cp37m Mpich 4.1.3
  • Lite Server资源配置流程 在开通Lite Server资源后,需要完成相关配置才能使用,配置流程如下图所示。 图1 Lite Server资源配置流程图 表1 Server资源配置流程 配置顺序 配置任务 场景说明 1 配置Lite Server网络 Server资源开通后,需要进行网络配置,才可使其与Internet通信。在后续配置存储和软件环境时需要Server服务器能够访问网络,因此需要先完成网络配置。 2 配置Lite Server存储 Server资源需要挂载数据盘用于存储数据文件,当前支持SFS、OBS、EVS三种 云存储 服务,提供了多种场景下的存储解决方案。 3 配置Lite Server软件环境 不同镜像中预安装的软件不同,您通过Lite Server算力资源和镜像版本配套关系章节查看已安装的软件。当Server服务器中预装的软件无法满足业务需求时,您可在Server服务器中配置所需要的软件环境。 父主题: Lite Server资源配置
  • Lite Server使用流程 ModelArts Lite Server提供多样化的xPU裸金属服务器,赋予用户以root账号自主安装和部署AI框架、应用程序等第三方软件的能力,为用户打造专属的云上物理服务器环境。用户只需轻松选择服务器的规格、镜像、网络配置及密钥等基本信息,即可迅速创建弹性裸金属服务器,获取所需的云上物理资源,充分满足算法工程师在日常训练和推理工作中的需求。 本文旨在帮助您了解Lite Server的基本使用流程,帮助您快速上手,使用流程包含以下步骤。 图1 使用流程 资源开通 由于Server为一台裸金属服务器,因此需要先购买资源后才能使用。 首先请先联系客户经理确认Server资源方案,部分规格为受限规格,因此需要申请开通您所需的资源规格。 Server所需资源可能会超出华为云默认提供的资源配额(如E CS 、EIP、SFS),因此需要提交工单提升资源配额。 为子用户账号开通Server功能所需的基础权限。 由于ModelArts服务在使用过程中会访问其他依赖服务,因此需要给ModelArts进行委托授权。 购买Server资源时,需要选择虚拟私有云用于网络通信,您可以使用已有的虚拟私有云或新创建的虚拟私有云。 若使用密钥对作为登录裸金属服务器的鉴权方式,您可以使用已有的密钥对或新创建的密钥对。 在ModelArts控制台购买Server资源。 资源配置 完成资源购买后,需要对网络、存储、软件环境进行相关配置。 资源使用 完成资源配置后,您可以登录到服务器进行训练和推理,具体案例可参考Lite Server资源使用。 资源管理 Lite Server提供启动、停止、切换操作系统等管理手段,您可在ModelArts控制台上对资源进行管理。 表1 相关名词解释 名词 含义 裸金属服务器 裸金属服务器是一款兼具虚拟机弹性和物理机性能的计算类服务,为您和您的企业提供专属的云上物理服务器,为核心数据库、关键应用系统、高性能计算、大数据等业务提供卓越的计算性能以及数据安全。 由于Server是一台裸金属服务器,在ModelArts管理控制台购买Server后,会在BMS管理控制台上创建一台与Server对应的裸金属服务器,后续挂载磁盘、绑定弹性网络IP等操作可在BMS服务控制台上完成。 xPU xPU泛指GPU和NPU。 GPU,即图形处理器,主要用于加速深度学习模型的训练和推理。 NPU,即神经网络处理器,是专门为加速神经网络计算而设计的硬件。与GPU相比,NPU在神经网络计算方面具有更高的效率和更低的功耗。 密钥对 弹性裸金属支持SSH密钥对的方式进行登录,用户无需输入密码就可以登录到弹性裸金属服务器,因此可以防止由于密码被拦截、破解造成的账户密码泄露,从而提高弹性裸金属服务器的安全性。 说明: 为保证云服务器安全,未进行私钥托管的私钥只能下载一次,请妥善保管。 虚拟私有云 虚拟私有云(Virtual Private Cloud,VPC)为裸金属服务器构建隔离的、用户自主配置和管理的虚拟网络环境,提升用户云中资源的安全性,简化用户的网络部署。您可以在VPC中定义安全组、VPN、IP地址段、带宽等网络特性。用户可以通过VPC方便地管理、配置内部网络,进行安全、快捷的网络变更。同时,用户可以自定义安全组内与组间的访问规则,加强裸金属服务器的安全保护。 父主题: Lite Server使用前必读
  • 步骤3:基础权限开通 基础权限开通需要登录管理员账号,为子用户账号开通Server功能所需的基础权限(ModelArts FullAccess/BMS FullAccess/ECS FullAccess/VPC FullAccess/VPC Administrator/VPCEndpoint Administrator)。 登录 统一身份认证 服务管理控制台。 单击目录左侧“用户组”,然后在页面右上角单击“创建用户组”。 填写“用户组名称”并单击“确定”。 在操作列单击“用户组管理”,将需要配置权限的用户加入用户组中。 单击用户组名称,进入用户组详情页。 在权限管理页签下,单击“授权”。 图2 “配置权限” 在搜索栏输入“ModelArts FullAccess”,并勾选“ModelArts FullAccess”。 图3 ModelArts FullAccess 以相同的方式,依次添加:BMS FullAccess、ECS FullAccess、VPC FullAccess、VPC Administrator、VPCEndpoint Administrator。(Server Administrator、DNS Administrator为依赖策略,会自动被勾选)。 单击“下一步”,授权范围方案选择“所有资源”。 单击“确认”,完成基础权限开通。
  • 调用API获取项目ID 项目ID还可通过调用查询指定条件下的项目信息API获取。 获取项目ID的接口为“GET https://{Endpoint}/v3/projects/”,其中{Endpoint}为IAM的终端节点,可以从地区和终端节点获取。 响应示例如下,其中projects下的“id”即为项目ID。 { "projects": [ { "domain_id": "65382450e8f64ac0870cd180d14e684b", "is_domain": false, "parent_id": "65382450e8f64ac0870cd180d14e684b", "name": "cn-north-4", "description": "", "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects/a4a5d4098fb4474fa22cd05f897d6b99" }, "id": "a4a5d4098fb4474fa22cd05f897d6b99", "enabled": true } ], "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects" } }
  • 错误码说明 当您调用API时,如果遇到“APIGW”开头的错误码,请参见API网关错误码进行处理。 表1 错误码 状态码 错误码 错误信息 描述 处理措施 200 SVCSTG.ATPS.2000 null - - 200 SVCSTG.ATS.2000 null - - 400 SVCSTG.ATS.400101 projectId in url is invalid. url中的projectId无效。 请检查对应的参数是否符合要求。 400 SVCSTG.ATS.200103 query trace result is empty. 查询调用链结果为空。 请检查对应的参数是否符合要求。
  • APM 授权项 此功能目前仅对华北、华东、华南区域开放。 “√”表示支持,“x”表示暂不支持。 表1 API授权项列表 权限 对应API接口 授权项 IAM项目(Project) 企业项目(Enterprise Project) 查询应用列表 GET /v1/{project_id}/atps/monitorgroups apm:inventory:get √ √ 查询服务列表 GET /v1/{project_id}/ats/applications apm:ats:get √ √ 查询服务实例列表 GET /v1/{project_id}/ats/applications/{application}/instances apm:ats:get √ √ 查询服务事务列表 GET /v1/{project_id}/ats/applications/{application}/transactions apm:ats:get √ √ 查询调用链 GET /v1/{project_id}/ats/traces apm:ats:get √ √ 查询调用链详情 GET /v1/{project_id}/ats/spans apm:ats:get √ √ 父主题: 权限策略和授权项
  • 支持的授权项 策略包含系统策略和自定义策略,如果系统策略不满足授权要求,管理员可以创建自定义策略,并通过给用户组授予自定义策略来进行精细的访问控制。策略支持的操作与API相对应,授权项列表说明如下: 权限:自定义策略中授权项定义的内容即为权限。 对应API接口:自定义策略实际调用的API接口。 授权项:自定义策略中支持的Action,在自定义策略中的Action中写入授权项,可以实现授权项对应的权限功能。 依赖的授权项:部分Action存在对其他Action的依赖,需要将依赖的Action同时写入授权项,才能实现对应的权限功能。 IAM项目(Project)/企业项目(Enterprise Project):自定义策略的授权范围,包括IAM项目与企业项目。授权范围如果同时支持IAM项目和企业项目,表示此授权项对应的自定义策略,可以在IAM和企业管理两个服务中给用户组授权并生效。如果仅支持IAM项目,不支持企业项目,表示仅能在IAM中给用户组授权并生效,如果在企业管理中授权,则该自定义策略不生效。关于IAM项目与企业项目的区别,详情请参见IAM与企业管理的区别。 APM支持自定义策略授权项如下所示: APM授权项:包括所有APM相关接口对应的授权项,例如查询应用列表、服务列表、服务实例列表、服务事务列表、调用链、调用链详情接口。
共100000条