云服务器内容精选
-
准备本地横向联邦数据资源 上传数据集文件(作业参与方) 上传数据集文件到计算节点挂载路径下,供计算节点执行的脚本读取。如果是主机挂载,上传到宿主机的挂载路径下。如果是OBS挂载,使用华为云提供的 对象存储服务 ,上传到当前计算节点使用的对象桶中。 图5 对象桶名称 此处以主机挂载为例: 创建一个主机挂载的计算节点Agent1,挂载路径为/tmp/tics1/。 使用文件上传工具上传包含数据集iris1.csv的dataset文件夹到宿主机/tmp/tics1/目录下。 iris1.csv内容如下: sepal_length,sepal_width,petal_length,petal_width,class 5.1,3.5,1.4,0.3,Iris-setosa 5.7,3.8,1.7,0.3,Iris-setosa 5.1,3.8,1.5,0.3,Iris-setosa 5.4,3.4,1.7,0.2,Iris-setosa 5.1,3.7,1.5,0.4,Iris-setosa 4.6,3.6,1,0.2,Iris-setosa 5.1,3.3,1.7,0.5,Iris-setosa 4.8,3.4,1.9,0.2,Iris-setosa 5,3,1.6,0.2,Iris-setosa 5,3.4,1.6,0.4,Iris-setosa 5.2,3.5,1.5,0.2,Iris-setosa 5.2,3.4,1.4,0.2,Iris-setosa 4.7,3.2,1.6,0.2,Iris-setosa 4.8,3.1,1.6,0.2,Iris-setosa 5.4,3.4,1.5,0.4,Iris-setosa 5.2,4.1,1.5,0.1,Iris-setosa 5.5,4.2,1.4,0.2,Iris-setosa 4.9,3.1,1.5,0.1,Iris-setosa 5,3.2,1.2,0.2,Iris-setosa 5.5,3.5,1.3,0.2,Iris-setosa 4.9,3.1,1.5,0.1,Iris-setosa 4.4,3,1.3,0.2,Iris-setosa 5.1,3.4,1.5,0.2,Iris-setosa 5,3.5,1.3,0.3,Iris-setosa 4.5,2.3,1.3,0.3,Iris-setosa 4.4,3.2,1.3,0.2,Iris-setosa 5,3.5,1.6,0.6,Iris-setosa 5.1,3.8,1.9,0.4,Iris-setosa 4.8,3,1.4,0.3,Iris-setosa 5.1,3.8,1.6,0.2,Iris-setosa 4.6,3.2,1.4,0.2,Iris-setosa 5.3,3.7,1.5,0.2,Iris-setosa 5,3.3,1.4,0.2,Iris-setosa 6.8,2.8,4.8,1.4,Iris-versicolor 6.7,3,5,1.7,Iris-versicolor 6,2.9,4.5,1.5,Iris-versicolor 5.7,2.6,3.5,1,Iris-versicolor 5.5,2.4,3.8,1.1,Iris-versicolor 5.5,2.4,3.7,1,Iris-versicolor 5.8,2.7,3.9,1.2,Iris-versicolor 6,2.7,5.1,1.6,Iris-versicolor 5.4,3,4.5,1.5,Iris-versicolor 6,3.4,4.5,1.6,Iris-versicolor 6.7,3.1,4.7,1.5,Iris-versicolor 6.3,2.3,4.4,1.3,Iris-versicolor 5.6,3,4.1,1.3,Iris-versicolor 5.5,2.5,4,1.3,Iris-versicolor 5.5,2.6,4.4,1.2,Iris-versicolor 6.1,3,4.6,1.4,Iris-versicolor 5.8,2.6,4,1.2,Iris-versicolor 5,2.3,3.3,1,Iris-versicolor 5.6,2.7,4.2,1.3,Iris-versicolor 5.7,3,4.2,1.2,Iris-versicolor 5.7,2.9,4.2,1.3,Iris-versicolor 6.2,2.9,4.3,1.3,Iris-versicolor 5.1,2.5,3,1.1,Iris-versicolor 5.7,2.8,4.1,1.3,Iris-versicolor 6.3,3.3,6,2.5,Iris-virginica 5.8,2.7,5.1,1.9,Iris-virginica 7.1,3,5.9,2.1,Iris-virginica 6.3,2.9,5.6,1.8,Iris-virginica 6.5,3,5.8,2.2,Iris-virginica 7.6,3,6.6,2.1,Iris-virginica 4.9,2.5,4.5,1.7,Iris-virginica 7.3,2.9,6.3,1.8,Iris-virginica 6.7,2.5,5.8,1.8,Iris-virginica 7.2,3.6,6.1,2.5,Iris-virginica 6.5,3.2,5.1,2,Iris-virginica 6.4,2.7,5.3,1.9,Iris-virginica 6.8,3,5.5,2.1,Iris-virginica 5.7,2.5,5,2,Iris-virginica 5.8,2.8,5.1,2.4,Iris-virginica 6.4,3.2,5.3,2.3,Iris-virginica 6.5,3,5.5,1.8,Iris-virginica 7.7,3.8,6.7,2.2,Iris-virginica 7.7,2.6,6.9,2.3,Iris-virginica 6,2.2,5,1.5,Iris-virginica 6.9,3.2,5.7,2.3,Iris-virginica 5.6,2.8,4.9,2,Iris-virginica 7.7,2.8,6.7,2,Iris-virginica 6.3,2.7,4.9,1.8,Iris-virginica 6.7,3.3,5.7,2.1,Iris-virginica 7.2,3.2,6,1.8,Iris-virginica 为了使容器内的计算节点程序有权限能够读取到文件,使用命令chown -R 1000:1000 /tmp/tics1/修改挂载目录下的文件的属主和组为1000:1000。 在第二台主机上创建计算节点Agent2,挂载路径为/tmp/tics2/。上传包含数据集iris2.csv的dataset文件夹到宿主机目录下,修改属主。 iris2.csv的内容如下: sepal_length,sepal_width,petal_length,petal_width,class 5.1,3.5,1.4,0.2,Iris-setosa 4.9,3,1.4,0.2,Iris-setosa 4.7,3.2,1.3,0.2,Iris-setosa 4.6,3.1,1.5,0.2,Iris-setosa 5,3.6,1.4,0.2,Iris-setosa 5.4,3.9,1.7,0.4,Iris-setosa 4.6,3.4,1.4,0.3,Iris-setosa 5,3.4,1.5,0.2,Iris-setosa 4.4,2.9,1.4,0.2,Iris-setosa 4.9,3.1,1.5,0.1,Iris-setosa 5.4,3.7,1.5,0.2,Iris-setosa 4.8,3.4,1.6,0.2,Iris-setosa 4.8,3,1.4,0.1,Iris-setosa 4.3,3,1.1,0.1,Iris-setosa 5.8,4,1.2,0.2,Iris-setosa 5.7,4.4,1.5,0.4,Iris-setosa 5.4,3.9,1.3,0.4,Iris-setosa 7,3.2,4.7,1.4,Iris-versicolor 6.4,3.2,4.5,1.5,Iris-versicolor 6.9,3.1,4.9,1.5,Iris-versicolor 5.5,2.3,4,1.3,Iris-versicolor 6.5,2.8,4.6,1.5,Iris-versicolor 5.7,2.8,4.5,1.3,Iris-versicolor 6.3,3.3,4.7,1.6,Iris-versicolor 4.9,2.4,3.3,1,Iris-versicolor 6.6,2.9,4.6,1.3,Iris-versicolor 5.2,2.7,3.9,1.4,Iris-versicolor 5,2,3.5,1,Iris-versicolor 5.9,3,4.2,1.5,Iris-versicolor 6,2.2,4,1,Iris-versicolor 6.1,2.9,4.7,1.4,Iris-versicolor 5.6,2.9,3.6,1.3,Iris-versicolor 6.7,3.1,4.4,1.4,Iris-versicolor 5.6,3,4.5,1.5,Iris-versicolor 5.8,2.7,4.1,1,Iris-versicolor 6.2,2.2,4.5,1.5,Iris-versicolor 5.6,2.5,3.9,1.1,Iris-versicolor 5.9,3.2,4.8,1.8,Iris-versicolor 6.1,2.8,4,1.3,Iris-versicolor 6.3,2.5,4.9,1.5,Iris-versicolor 6.1,2.8,4.7,1.2,Iris-versicolor 6.4,2.9,4.3,1.3,Iris-versicolor 6.6,3,4.4,1.4,Iris-versicolor 6.8,2.8,4.8,1.4,Iris-versicolor 6.2,2.8,4.8,1.8,Iris-virginica 6.1,3,4.9,1.8,Iris-virginica 6.4,2.8,5.6,2.1,Iris-virginica 7.2,3,5.8,1.6,Iris-virginica 7.4,2.8,6.1,1.9,Iris-virginica 7.9,3.8,6.4,2,Iris-virginica 6.4,2.8,5.6,2.2,Iris-virginica 6.3,2.8,5.1,1.5,Iris-virginica 6.1,2.6,5.6,1.4,Iris-virginica 7.7,3,6.1,2.3,Iris-virginica 6.3,3.4,5.6,2.4,Iris-virginica 6.4,3.1,5.5,1.8,Iris-virginica 6,3,4.8,1.8,Iris-virginica 6.9,3.1,5.4,2.1,Iris-virginica 6.7,3.1,5.6,2.4,Iris-virginica 6.9,3.1,5.1,2.3,Iris-virginica 5.8,2.7,5.1,1.9,Iris-virginica 6.8,3.2,5.9,2.3,Iris-virginica 6.7,3.3,5.7,2.5,Iris-virginica 6.7,3,5.2,2.3,Iris-virginica 6.3,2.5,5,1.9,Iris-virginica 6.5,3,5.2,2,Iris-virginica 6.2,3.4,5.4,2.3,Iris-virginica 5.9,3,5.1,1.8,Iris-virginica 准备模型文件/初始权重(作业发起方) 作业发起方需要提供模型、初始权重(非必须),上传到Agent1的挂载目录下并使用命令chown -R 1000:1000 /tmp/tics1/修改挂载目录下的文件的属主和组。 使用python代码创建模型文件,保存为二进制文件model.h5,以鸢尾花为例,生成如下的模型: import tensorflow as tf import keras model = keras.Sequential([ keras.layers.Dense(4, activation=tf.nn.relu, input_shape=(4,)), keras.layers.Dense(6, activation=tf.nn.relu), keras.layers.Dense(3, activation='softmax') ]) model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy']) model.save("d:/model.h5") 初始权重的格式是浮点数的数组,与模型对应。使用联邦学习训练出来的结果result_1可以作为初始权重,样例如下: -0.23300957679748535,0.7804553508758545,0.0064492723904550076,0.5866460800170898,0.676144003868103,-0.7883696556091309,0.5472091436386108,-0.20961782336235046,0.58524489402771,-0.5079598426818848,-0.47474920749664307,-0.3519996106624603,-0.10822880268096924,-0.5457949042320251,-0.28117161989212036,-0.7369481325149536,-0.04728877171874046,0.003856887575238943,0.051739662885665894,0.033792052417993546,-0.31878742575645447,0.7511205673217773,0.3158722519874573,-0.7290999293327332,0.7187696695327759,0.09846954792737961,-0.06735057383775711,0.7165604829788208,-0.730293869972229,0.4473201036453247,-0.27151209115982056,-0.6971480846405029,0.7360773086547852,0.819558322429657,0.4984433054924011,0.05300116539001465,-0.6597640514373779,0.7849202156066895,0.6896201372146606,0.11731931567192078,-0.5380218029022217,0.18895208835601807,-0.18693888187408447,0.357051283121109,0.05440644919872284,0.042556408792734146,-0.04341210797429085,0.0,-0.04367709159851074,-0.031455427408218384,0.24731603264808655,-0.062861368060112,-0.4265706539154053,0.32981523871421814,-0.021271884441375732,0.15228557586669922,0.1818728893995285,0.4162319302558899,-0.22432318329811096,0.7156463861465454,-0.13709741830825806,0.7237883806228638,-0.5489991903305054,0.47034209966659546,-0.04692812263965607,0.7690137028694153,0.40263476967811584,-0.4405142068862915,0.016018997877836227,-0.04845477640628815,0.037553105503320694 编写训练脚本(作业发起方) 作业发起方还需要编写联邦学习训练脚本,其中需要用户自行实现读取数据、训练模型、评估模型、获取评估指标的逻辑。计算节点会将数据集配置文件中的path属性作为参数传递给训练脚本。 JobParam属性如下: class JobParam: """训练脚本参数 """ # 作业id job_id = '' # 当前轮数 round = 0 # 迭代次数 epoch = 0 # 模型文件路径 model_file = '' # 数据集路径 dataset_path = '' # 是否仅做评估 eval_only = False # 权重文件 weights_file = '' # 输出路径 output = '' # 其他参数json字符串 param = '' 鸢尾花的训练脚本iris_train.py样例如下: # -*- coding: utf-8 -*- import getopt import sys import keras import horizontal.horizontallearning as hl def train(): # 解析命令行输入 jobParam = JobParam() jobParam.parse_from_command_line() job_type = 'evaluation' if jobParam.eval_only else 'training' print(f"Starting round {jobParam.round} {job_type}") # 加载模型,设置初始权重参数 model = keras.models.load_model(jobParam.model_file) hl.set_model_weights(model, jobParam.weights_file) # 加载数据、训练、评估 -- 用户自己实现 print(f"Load data {jobParam.dataset_path}") train_x, test_x, train_y, test_y, class_dict = load_data(jobParam.dataset_path) if not jobParam.eval_only: b_size = 1 model.fit(train_x, train_y, batch_size=b_size, epochs=jobParam.epoch, shuffle=True, verbose=1) print(f"Training job [{jobParam.job_id}] finished") eval = model.evaluate(test_x, test_y, verbose=0) print("Evaluation on test data: loss = %0.6f accuracy = %0.2f%% \n" % (eval[0], eval[1] * 100)) # 结果以json格式保存 -- 用户读取评估指标 result = {} result['loss'] = eval[0] result['accuracy'] = eval[1] # 生成结果文件 hl.save_train_result(jobParam, model, result) # 读取 CS V数据集,并拆分为训练集和测试集 # 该函数的传入参数为CSV_FILE_PATH: csv文件路径 def load_data(CSV_FILE_PATH): import pandas as pd from sklearn.model_selection import train_test_split from sklearn.preprocessing import LabelBinarizer # 读取目录数据集,读取目录下所有CSV文件 if os.path.isdir(CSV_FILE_PATH): print(f'read file folder [{CSV_FILE_PATH}]') all_csv_path = glob.glob(os.path.join(CSV_FILE_PATH, '*.csv')) all_csv_path.sort() csv_list = [] for csv_path in all_csv_path: csv_list.append(pd.read_csv(csv_path)) IRIS = pd.concat(csv_list) # 读取CSV文件 else: IRIS = pd.read_csv(CSV_FILE_PATH) target_var = 'class' # 目标变量 # 数据集的特征 features = list(IRIS.columns) features.remove(target_var) # 目标变量的类别 Class = IRIS[target_var].unique() # 目标变量的类别字典 Class_dict = dict(zip(Class, range(len(Class)))) # 增加一列target, 将目标变量进行编码 IRIS['target'] = IRIS[target_var].apply(lambda x: Class_dict[x]) # 对目标变量进行0-1编码(One-hot Encoding) lb = LabelBinarizer() lb.fit(list(Class_dict.values())) transformed_labels = lb.transform(IRIS['target']) y_bin_labels = [] # 对多分类进行0-1编码的变量 for i in range(transformed_labels.shape[1]): y_bin_labels.append('y' + str(i)) IRIS['y' + str(i)] = transformed_labels[:, i] # 将数据集分为训练集和测试集 train_x, test_x, train_y, test_y = train_test_split(IRIS[features], IRIS[y_bin_labels], train_size=0.7, test_size=0.3, random_state=0) return train_x, test_x, train_y, test_y, Class_dict class JobParam: """训练脚本参数 """ # required parameters job_id = '' round = 0 epoch = 0 model_file = '' dataset_path = '' eval_only = False # optional parameters weights_file = '' output = '' param = '' def parse_from_command_line(self): """从命令行中解析作业参数 """ opts, args = getopt.getopt(sys.argv[1:], 'hn:w:', ['round=', 'epoch=', 'model_file=', 'eval_only', 'dataset_path=', 'weights_file=', 'output=', 'param=', 'job_id=']) for key, value in opts: if key in ['--round']: self.round = int(value) if key in ['--epoch']: self.epoch = int(value) if key in ['--model_file']: self.model_file = value if key in ['--eval_only']: self.eval_only = True if key in ['--dataset_path']: self.dataset_path = value if key in ['--weights_file']: self.weights_file = value if key in ['--output']: self.output = value if key in ['--param']: self.param = value if key in ['--job_id']: self.job_id = value if __name__ == '__main__': train()
-
kubectl访问集群配置 本步骤需要在节点机器,对kubectl进行集群访问配置。 首先进入已创建的CCE集群控制版面中。根据图2的步骤进行操作,单击kubectl配置时,会弹出图3步骤页面。 图2 配置中心 根据图3,按步骤进行:判断是否安装 kubectl、下载kubectl配置文件、在机器中安装和配置kubectl。 图3 kubectl访问集群配置 在节点机器中,输入命令,查看Kubernetes集群信息。如果显示如图4的内容,则配置成功。 kubectl cluster-info 图4 查看Kubernetes集群信息正确弹出内容
-
步骤一:检查环境 SSH登录机器后,检查NPU设备检查。运行如下命令,返回NPU设备信息。 npu-smi info # 在每个实例节点上运行此命令可以看到NPU卡状态 npu-smi info -l | grep Total # 在每个实例节点上运行此命令可以看到总卡数 如出现错误,可能是机器上的NPU设备没有正常安装,或者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
-
步骤三:启动容器镜像 启动容器镜像前请先按照参数说明修改${}中的参数。可以根据实际需要增加修改参数。启动容器命令如下。 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} 容器名称,进入容器时会用到,此处可以自己定义一个容器名称,例如llamafactory。 -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及以上。 修改目录权限,上传代码和数据到宿主机时使用的是root用户,如用ma-user用户训练,此处需要执行如下命令统一文件权限。 #统一文件权限 chmod -R 777 ${work_dir} # ${work_dir}:/home/ma-user/ws 宿主机代码和数据目录 #例如: chmod -R 777 /home/ma-user/ws 通过容器名称进入容器中。启动容器时默认用户为ma-user用户。 docker exec -it ${container_name} bash 使用ma-user用户安装依赖包。 #进入scripts目录 cd /home/ma-user/ws/llm_train/LLaMAFactory #执行安装命令,安装依赖包及/LLaMAFactory代码包 sh install.sh
-
镜像地址 本教程中用到的训练和推理的基础镜像地址和配套版本关系如下表所示,请提前了解。 表1 基础容器镜像地址 镜像用途 镜像地址 基础镜像 swr.cn-southwest-2.myhuaweicloud.com/atelier/pytorch_2_3_ascend:pytorch_2.3.1-cann_8.0.rc3-py_3.10-hce_2.0.2409-aarch64-snt9b-20241114095658-d7e26d8 表2 模型镜像版本 模型 版本 CANN cann_8.0.RC3 驱动 23.0.6 PyTorch 2.3.0
-
管理工作空间配额 工作空间创建成功后,可以查看配额信息或修改配额值。 在ModelArts管理控制台的左侧导航栏中,选择“工作空间”进入工作空间列表。 在工作空间列表,单击操作列的“配额管理”进入工作空间详情页。 在配额信息页面可以查看工作空间设置的配额值、已用的配额、最后修改时间等配额信息。 单击配额信息右侧的“修改配额”可以修改配额值。配置值的配置说明请参见表2。 表2 配额信息 配额名称 配额值说明 单位 自动学习(预测分析)训练时长 默认无限制,支持设置1~60000。 分钟 自动学习(图像分类、物体检测、声音分类)训练时长 默认无限制,支持设置1~60000。 分钟 训练作业GPU规格训练时长(单张Pnt1单节点为统计基础单元) 默认无限制,支持设置1~60000。 分钟 训练作业CPU规格训练时长(单核单节点为统计基础单元) 默认无限制,支持设置1~60000。 分钟 可视化作业使用时长 默认无限制,支持设置1~60000。 分钟 开发环境CPU规格使用时长(单核为统计基础单元) 默认无限制,支持设置1~60000。 分钟 开发环境GPU规格使用时长(单张Pnt1为统计基础单元) 默认无限制,支持设置1~60000。 分钟 推理服务CPU规格使用时长(单节点为统计基础单元) 默认无限制,支持设置1~60000。 分钟 推理服务GPU规格使用时长(单节点为统计基础单元) 默认无限制,支持设置1~60000。 分钟 训练作业CPU规格训练核数 默认无限制,支持设置1~10000。 核 训练作业GPU规格训练卡数 默认无限制,支持设置1~1000。 卡 训练作业 RAM 规格训练内存大小 默认无限制,支持设置1~100000。 GB 智能标注GPU规格使用时长 默认无限制,支持设置1~60000。 分钟 工作空间的配额值修改完成后,单击“提交修改”,当“配额值”数据刷新表示修改成功。
-
删除工作空间 当不需要使用工作空间时,支持删除工作空间。工作空间删除后会默认清理该工作空间下所有资源。其中,默认工作空间“default”不支持删除。 删除操作无法恢复,请谨慎操作。 在ModelArts管理控制台的左侧导航栏中,选择“工作空间”进入工作空间列表。 在工作空间列表,单击操作列的“删除”,在删除工作空间弹窗中确认待删除的工作空间信息以及该工作空间下将被一起删除的资源,确认无误后,输入“DELETE”,单击“确定”,工作空间的状态变为“删除中”,待资源清理完成,该工作空间会从列表删除。
-
背景信息 ModelArts的用户需要为不同的业务目标开发算法、管理和部署模型,此时可以创建多个工作空间,把不同应用开发过程的输出内容划分到不同工作空间中,便于管理和使用。 基于工作空间可以实现资源逻辑隔离、资源配额管理、细粒度鉴权和资源清理能力。工作空间组件可以将ModelArts各类资源整合,以工作空间体现给企业项目管理服务。 工作空间支持3种访问控制: PUBLIC:租户(主账号和所有子账号)内部公开访问。 PRIVATE:仅创建者和主账号可访问。 INTERNAL:创建者、主账号、指定 IAM 子账号可访问当授权类型为INTERNAL时需要指定可访问的子账号的账号名,可选择多个。 每个账号每个IAM项目都会分配1个默认工作空间,默认工作空间的访问控制为PUBLIC。 通过工作空间的访问控制能力,可限制仅允许部分人访问对应的工作空间。通过此功能可实现类似如下场景: 教育场景:老师可给每个学生分配1个INTERNAL的工作空间并且限制该工作空间被指定学生访问,这样可使得学生可独立完成在ModelArts上的实验。 企业场景:管理者可创建用于生产任务的工作空间并限制仅让运维人员使用,用于日常调试的工作空间并限制仅让开发人员使用。通过这种方式让不同的企业角色只能在指定工作空间下使用资源。
-
创建工作空间 登录ModelArts管理控制台。 在左侧导航栏中,选择“工作空间”进入工作空间列表。 单击“创建工作空间”,进入创建页面。 表1 创建工作空间 参数名称 说明 工作空间名称 必填,工作空间的名称。 支持4~64位可见字符,名称可以包含字母、中文、数字、中划线(-)或下划线(_)。 描述 工作空间的简介。支持0~256位字符。 企业项目 必填,选择绑定的企业项目。当没有合适的企业项目时,可以单击“新建企业项目”跳转到企业项目管理页面,创建新的企业项目再绑定。 企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理。 授权类型 必填,选择工作空间的访问权限。 “PUBLIC”:租户(主账号和所有子账号)内部公开访问。 “PRIVATE”:仅创建者和主账号可访问。 “INTERNAL”:创建者、主账号、指定的子账号可访问。当授权类型为INTERNAL时,需要配置“授权对象类型”和“授权对象”指定可访问的子账号。 当“授权对象类型”选择“IAM子用户”时,“授权对象”选择指定的IAM子用户,可选择多个。 当“授权对象类型”选择“联邦用户”时,“授权对象”输入联邦用户的用户名或用户ID,支持配置多个。 当“授权对象类型”选择“委托用户”时,“授权对象”选择委托名称,可选择多个。 工作空间参数配置完成后,单击“立即创建”完成创建任务。
-
操作步骤 登录华为云管理控制台,鼠标指向页面右上角的用户名,在下拉列表中单击“我的凭证”。 图1 我的凭证入口 在“我的凭证”页面中选择“访问密钥”页签。单击“新增访问密钥”,按操作指引获取认证账号的AK/SK,请妥善保管AK/SK信息。 图2 访问密钥 每个用户仅允许新增两个访问密钥。 为保证访问密钥的安全,访问密钥仅在初次生成时自动下载,后续不可再次通过管理控制台页面获取。请在生成后妥善保管。
-
GaussDB (DWS)委托权限(旧) 旧的委托权限依赖场景说明如下表所示: 表2 委托及权限使用说明 委托名 委托权限 使用场景说明 DWSAccessLTS LTS FullAccess LTS日志收集,上报日志到LTS服务。 DWSAccessOBS OBS Administrator 审计日志转储,上报审计日志数据到OBS桶。 DWSAccessKMS KMS Administrator KMS加密集群,查询和轮转密钥。 DWSAccessVPC Server Administrator 节点故障场景下,EIP从故障节点自动迁移到正常节点。 DWSAccessDWS Tenant Administrator 存算分离场景下,自动增删计划定时扩缩只读逻辑集群。 缩容场景下,清理用户网卡、配置安全组规则。 节点故障场景下,ELB添加和删除监听器实例。
-
创建OBS桶 ModelArts使用对象存储服务(Object Storage Service,简称OBS)进行数据存储以及模型的备份和快照,实现安全、高可靠和低成本的存储需求。因此,在使用ModelArts之前通常先创建一个OBS桶,然后在OBS桶中创建文件夹用于存放数据。 本文档也以将运行代码以及输入输出数据存放OBS为例,请参考创建OBS桶,例如桶名:standard-llama2-13b。并在该桶下创建文件夹目录用于后续存储代码使用,例如:training_data。
-
后续操作 除dli_management_agency提供的委托权限外,一些场景需要用户自行在IAM页面创建相关委托,并在作业配置中添加新建的委托信息。例如允许 DLI 读写OBS将日志转储、允许DLI在访问DEW获取数据访问凭证场景的委托需求等,具体操作请参考创建DLI自定义委托权限和常见场景的委托权限策略。 使用Flink 1.15和Spark 3.3.1(Spark通用队列场景)及以上版本的引擎执行作业时,需自行在IAM页面创建相关委托。 引擎版本低于Flink1.15,执行作业时默认使用dli_admin_agency;引擎版本低于Spark 3.3.1,执行作业时使用用户认证信息(AKSK、SecurityToken)。 即引擎版本低于Flink1.15和Spark 3.3.1版本的作业不受更新委托权限的影响,无需自定义委托。 常见的需要自建委托的业务场景: DLI表生命周期清理数据及Lakehouse表数据清理所需的数据清理委托。需用户自行在IAM创建名为dli_data_clean_agency的DLI云服务委托并授权。该委托需新建后自定义权限,但委托名称固定为dli_data_clean_agency。 DLI Flink作业访问和使用OBS、日志转储(包括桶授权)、开启checkpoint、作业导入导出等,需要获得访问和使用OBS(对象存储服务)的Tenant Administrator权限。 DLI Flink作业所需的AKSK存储在 数据加密 服务DEW中,如需允许DLI在执行作业时访问DEW数据,需要新建委托将DEW数据操作权限委托给DLI,允许DLI服务以您的身份访问DEW服务。 允许DLI在执行作业时访问DLI Catalog元数据,需要新建委托将DLI Catelog数据操作权限委托给DLI,允许DLI服务以您的身份访问DLI Catalog元数据。 DLI Flink作业所需的云数据存储在LakeFormation中,如需允许DLI在执行作业时访问Catalog获取元数据,需要新建委托将Catelog数据操作权限委托给DLI,允许DLI服务以您的身份访问Catalog元数据。 新建委托时,请注意委托名称不可与系统默认委托重复,即不可以是dli_admin_agency、dli_management_agency、dli_data_clean_agency。 更多自定义委托的操作请参考创建DLI自定义委托权限和常见场景的委托权限策略。
-
步骤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网页方式登录数字化制造云平台。
-
注意事项 数字化制造云平台目前仅在华北-北京四、华南-广州上线,请在控制台页面左上角的区域中选择“华北-北京四”或“华南-广州”。 1个华为账号只能购买5个数字化制造云平台站点(不同区域、部署位置分开计算)。 仅当购买“部署位置”为“公有云”的数字化制造云平台时才需要进行激活站点操作: 1个数字化制造云平台站点只能绑定1个组织,且1个组织不能同时被多个数字化制造云平台站点绑定。 站点所绑定的组织的创建者即数字化制造云平台业务系统的超级管理员。
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格