云服务器内容精选

  • 操作步骤 进入多方安全计算的作业执行界面,单击创建。 图1 创建作业 在作业界面中,按照1~4提供的案例和SQL语句进行作业测试。 图2 作业界面 假设有人输入以下代码试图直接查询敏感数据。 select tax_bal, id from league_creator.tax 系统提示不支持进行敏感数据的SELECT操作。 图3 不支持敏感操作 若试图在敏感数据中追加自己的数据, 从结果倒推敏感数据,即求原数据。 Select tax_bal + electric_bal from LEAGUE_CREATOR.tax a join ZZZZZZ.power_data b on a.id = b.id TICS 会识别并提示。 图4 执行失败告警 上述隐私规则,均为TI CS 系统提供的默认规则。
  • 操作步骤 进入TICS服务控制台。 在计算节点管理中,找到购买的计算节点,通过登录地址,进入计算节点控制台。 图1 前往计算节点 登录计算节点后,在下图所述位置新建连接器。 图2 新建连接器 输入正确的连接信息,建立数据源和计算节点之间的安全连接。 图3 输入信息 建立完成后,连接器显示正常说明连接正常。 图4 连接正常 进入数据管理,进行数据集发布。 图5 新建数据管理 填写参数信息。 图6 填写参数 重复步骤1~7,发布support资助金数据表和power_data能源表。 数据发布的过程并不会直接从数据源中导出用户数据,仅从数据源处获取了数据集相关的元数据信息,用于任务的解析、验证等。
  • 服务授权操作 进入TICS服务控制台,为保证正常创建TICS服务,需要先设置服务委托。 进入计算节点购买页面,根据弹出窗口提示勾选对应的委托权限。 同意授权后,TICS将在 统一身份认证 服务 IAM 下为您创建名为tics_admin_trust的委托,授权成功后,可以进入委托列表查看。注意:委托tics_admin_trust创建成功后,请勿删除。 图1 授权访问权限名 表1 TICS委托权限列表 权限名 详细信息 备注 IEF Administrator TICS服务计算节点依赖IEF作为底层资源,因此需要IEF Administrator角色来部署应用。 由于云服务缓存需要时间,该权限3分钟左右才能生效。
  • 准备本地横向联邦数据资源 上传数据集文件(作业参与方) 上传数据集文件到计算节点挂载路径下,供计算节点执行的脚本读取。如果是主机挂载,上传到宿主机的挂载路径下。如果是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) # 读取CSV数据集,并拆分为训练集和测试集 # 该函数的传入参数为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()
  • 使用“能力调测”调用科学计算大模型 平台提供的“能力调测”功能支持用户直接调用预置模型或经过训练的模型。使用该功能前,需完成模型的部署操作,详见创建科学计算大模型部署任务。 科学计算大模型支持全球中期天气要素预测、全球中期降水预测、全球海洋要素、区域海洋要素、全球海洋生态、全球海浪高度预测能力,在选择好模型后,根据需求选择相应的数据和模型配置信息,模型就会返回相应的预测结果。 表1 科学计算大模型能力调测参数说明(天气/降水预测) 参数 说明 场景 支持选择全球中期天气要素预测、全球中期降水预测。 全球中期天气要素预测:通过该模型可以对未来一段时间的天气进行预测。 全球中期降水预测:通过该模型可以对未来一段时间的降水情况进行预测。 模型服务 支持选择用于启动推理作业的模型。 中期天气要素模型包括1h分辨率、3h分辨率、6h分辨率、24小时分辨率模型,即以起报时刻开始,分别可以逐1h、3h、6h、24h往后进行天气要素的预测。 中期天气要素模型包括6h分辨率模型,即以起报时刻开始,可以逐6h往后进行降水情况的预测。 结果存储路径 用于存放模型推理结果的OBS路径。 输入数据 支持选择用于存放作为初始场数据的文件路径。 预报天数 支持选择以起报时间点为开始,对天气要素或降水进行预报的天数,范围为1~14天。 起报时间 支持选择多个起报时间作为推理作业的开始时间,每个起报时间需为输入数据中存在的时间点。 表面变量 支持选择推理结果输出的表面变量,包括10m u风、10m v风、2米温度、海平面气压,没有选择的变量推理结果将不输出。 高空变量 设置高空变量参数,包括:4个表面层特征(10m u风、10m v风、2米温度、海平面气压),13高空层次(1000、925、850、700、600、500、400、300、250、200、150、100、50hPa)的5个高空层特征(重力位势、u风、v风、比湿、温度),分辨率为25km*25km的网格数据。 集合预报 用于选择是否开启集合预报。 在气象预报中,集合预报是指对初始场加入一定程序的扰动,使其生成一组由不同初始场预报的天气预报结果,从而提供对未来天气状态的概率信息。这种方法可以更好地表达预报的不确定性,从而提高预报的准确性和可靠性。 集合成员数 用于选择生成预报的不同初始场的数量,取值为2~10。 扰动类型 用于选择生成集合预报初始场的扰动类型,包括perlin加噪和CNOP加噪两种方式。 Peilin噪音通过对输入数据(比如空间坐标)进行随机扰动,让模拟出的天气接近真实世界中的变化。 CNOP噪音通过在初始场中引入特定的扰动来研究天气系统的可预报性,会对扰动本身做一定的评判,能够挑选出预报结果与真实情况偏差最大的一类初始扰动。这些扰动不仅可以用来识别最可能导致特定天气或气候事件的初始条件,还可以用来评估预报结果的不确定性。 初始扰动数量 用于选择集合预报的CNOP初始扰动数量。 在CNOP的加噪方式中,会先对初始场进行一定数量的加噪得到一组加噪后的初始场,然后从这组初始场中选择能量变化最大的初始场作为集合预报的初始场,启动推理作业。 ensemble_noise_perlin_scale 用于选择集合预报的Perlin加噪强度。 ensemble_noise_perlin_x 用于选择集合预报的Perlin加噪x经度方向的尺度。 ensemble_noise_perlin_octave 用于选择集合预报的Perlin加噪octave。Perlin噪音的octave指的是噪音的频率,在生成Perlin噪音时,可以将多个不同频率的噪音叠加在一起,以增加噪音的复杂度和细节。每个频率的噪音称为一个octave,而叠加的octave数越多,噪音的复杂度也就越高。 ensemble_noise_perlin_y 用于选择集合预报的Perlin加噪y纬度方向的尺度。 输出设置 用于选择是否输出图片结果。 表2 科学计算大模型能力调测参数说明(海洋类预测) 参数 说明 场景 支持选择全球海洋要素、区域海洋要素、全球海洋生态、全球海浪高度。 全球海洋要素:实现预测全球范围内海面高度, 温度、盐度、海流速度纬向分量和海流速度经向分量变量。 区域海洋要素:实现预测特定区域范围内海面高度, 温度、盐度、海流速度纬向分量和海流速度经向分量变量。 全球海洋生态:实现预测全球范围内的叶绿素浓度、硅藻浓度等8种生态变量。 全球海浪高度:实现预测有效波高的变量。 模型服务 支持选择用于启动推理作业的模型。 结果存储路径 用于存放模型推理结果的OBS路径。 输入数据 支持选择用于存放作为初始场数据的文件路径。 预报天数 支持选择以起报时间点为开始,对海洋模型预测参数进行预报的天数,范围为1~14天。 起报时间 支持选择多个起报时间作为推理作业的开始时间,每个起报时间需为输入数据中存在的时间点。 海表变量 用于描述海洋表面及其生态系统状态的具体指标,尤其是在海洋模型中用于模拟海洋生态和物理过程的输入变量。包括海平面气压、海表高度、总叶绿素浓度、叶绿素浓度、硅藻浓度、颗石藻浓度、蓝藻浓度、铁浓度、硝酸盐浓度、混合层深度、海表高度、有效波高等指标。不同模型的指标已页面展示为准。 深海变量 用于描述海洋深层的物理和化学特性,这些参数在海洋模型中用于模拟海洋内部的动态和状态。包括海温、海盐、海流径向速率、海流纬向速率等。 输出设置 用于选择是否输出图片结果。 图1 调测科学计算大模型-1(天气/降水预测) 图2 调测科学计算大模型-2(天气/降水预测) 图3 调测科学计算大模型(海洋类预测) 父主题: 调用科学计算大模型
  • 模型更新、修改部署 成功创建部署任务后,如需修改已部署的模型或配置信息,可以在详情页面单击右上角的“模型更新”或“修改部署”进行调整。更新模型时可以替换模型和修改作业配置参数,但在修改部署时模型不可替换或修改作业配置参数。 在“模型更新”或“修改部署”后进行升级配置操作。平台支持全量升级方式:新旧版本的服务同时运行,直至新版本完全替代旧版本。在新版本部署完成前,旧版本仍可使用。 图1 模型更新 图2 修改部署
  • 科学计算大模型训练流程介绍 科学计算大模型主要用于。 科学计算大模型的训练主要分为两个阶段:预训练与微调。 预训练阶段:预训练是模型学习基础知识的过程,基于大规模通用数据集进行。例如,在区域海洋要素预测中,可以重新定义深海变量、海表变量,调整深度层、时间分辨率、水平分辨率以及区域范围,以适配自定义区域的模型场景。此阶段需预先准备区域的高精度数据。 微调阶段:在预训练模型的基础上,微调利用特定领域的数据进一步优化模型,使其更好地满足实际任务需求。例如,区域海洋要素预测的微调是在已有模型上添加最新数据,不改变模型结构参数或引入新要素,以适应数据更新需求。 在实际流程中,通过设定训练指标对模型进行监控,以确保效果符合预期。在微调后,评估用户模型,并进行最终优化,确认其满足业务需求后,进行部署和调用,以便实际应用。
  • 科学计算大模型选择建议 科学计算大模型支持训练的模型类型有:中期天气要素预测模型、区域中期海洋智能预测模型。 中期天气要素预测模型选择建议: 科学计算大模型的中期天气要素预测模型,可以对未来一段时间的天气进行预测,具备以下优势: 高时间精度:中期天气要素预测模型可以预测未来1、3、6、24小时的天气情况。高时间精度对于农业、交通、能源等领域的决策和规划非常重要。 全球覆盖:中期天气要素预测模型能够在全球范围内进行预测,不仅仅局限于某个地区。它的分辨率相当于赤道附近每个点约25公里*25公里的空间。 数据驱动:中期天气要素预测模型使用历史天气数据来训练模型,从而提高预测的准确性。这意味着它可以直接利用过去的观测数据,而不仅仅依赖于数值模型。 中期天气要素预测模型信息见表1。 表1 中期天气要素预测模型信息 模型 预报层次 预报高空变量 预报表面变量 降水 时间分辨率 水平分辨率 区域范围 中期天气要素预测模型 13层(1000hpa, 925hpa, 850hpa, 700hpa, 600hpa, 500hpa, 400hpa, 300hpa, 250hpa, 200hpa, 150hpa, 100hpa, 50hpa) T:温度 Q:比湿 Z:重力位势 U:U风 V:V风 MLSP:海平面气压 U10:10米U风,经度方向 V10:10米V风,纬度方向 T2M:2米温度 - 1、3、6、24小时 0.25°*0.25° 全球 该模型类型主要用于天气基础要素预测,支持训练的模型清单见表2,您可根据具体使用场景选择合适的模型。例如天气基础要素预测,需要时间分辨率为1小时的场景下,您可以选择Pangu-AI4S-Weather_1h-20241030模型。 表2 中期天气要素预测模型的类型 模型支持区域 模型名称 使用场景 说明 西南-贵阳一 Pangu-AI4S-Weather_1h-20241030 用于天气基础要素预测,时间分辨率为1小时。 支持预训练、微调、在线推理、能力调测特性,基于Snt9B33,支持1个训练单元训练及1个推理单元部署。 Pangu-AI4S-Weather_3h-20241030 用于天气基础要素预测,时间分辨率为3小时。 支持预训练、微调、在线推理、能力调测特性,基于Snt9B3,支持1个训练单元训练及1个推理单元部署。 Pangu-AI4S-Weather_6h-20241030 用于天气基础要素预测,时间分辨率为6小时。 支持预训练、微调、在线推理、能力调测特性,基于Snt9B3,支持1个训练单元训练及1个推理单元部署。 Pangu-AI4S-Weather_24h-20241030 用于天气基础要素预测,时间分辨率为24小时。 支持预训练、微调、在线推理、能力调测特性,基于Snt9B3,支持1个训练单元训练及1个推理单元部署。 区域中期海洋智能预测模型选择建议: 科学计算大模型的中期海洋智能预测模型,可以对未来一段时间海洋要素进行预测。可为海上防灾减灾,指导合理开发和保护渔业等方面有着重要作用。区域中期海洋智能预测模型当前主要包括区域海洋要素模型,信息见表3。 表3 区域中期海洋智能预测模型信息 模型 深海层深 预报深海变量 预报海表变量 时间分辨率 水平分辨率 区域范围 区域海洋要素模型 0m, 6m, 10m, 20m, 30m, 50m, 70m, 100m, 125m, 150m, 200m, 250m, 300m, 400m, 500m T:海温(℃) S:海盐(PSU) U:海流经向速率 (ms-1) V:海流纬向速率 (ms-1) SSH:海表高度(m) 24h 1/12° 特定区域 该模型类型主要用于区域海洋基础要素预测,支持训练的模型清单见表4,您可根据具体使用场景选择合适的模型。例如区域海洋基础要素预测场景下,您可以选择Pangu-AI4S-Ocean_Regional_24h-20241030模型。 表4 区域中期海洋智能预测模型的类型 模型支持区域 模型名称 使用场景 说明 西南-贵阳一 Pangu-AI4S-Ocean_Regional_24h-20241030 用于区域海洋基础要素预测 支持预训练、微调、在线推理、能力调测特性,基于Snt9B3支持1个训练单元训练及1个推理单元部署。
  • 科学计算大模型训练类型选择建议 中期天气要素预测模型的训练类型选择建议: 中期天气要素预测模型的训练支持预训练、微调两种操作,如果直接使用平台预置的中期天气要素预测模型不满足您的使用要求时,可以进行预训练或微调。预训练、微调操作的适用场景如下: 预训练:训练用于添加新的高空层次、高空变量或表面变量。如果您需要在现有模型中引入新要素,需要使用训练(重新训练模型)。在重训配置参数时,您可以选择新要素进行训练。请注意,所选的数据集必须包含您想要添加的新要素。此外,您还可以通过训练更改所有的模型参数,以优化模型性能。 微调:微调是将新数据应用于已有模型的过程。它适用于不改变模型结构参数和引入新要素的情况。如果您有新的观测数据,可以使用微调来更新模型的权重,以适应新数据。 区域中期海洋智能预测模型的训练类型选择建议: 区域中期海洋智能预测模型的训练支持预训练、微调两种操作,如果直接使用平台预置的区域中期海洋智能预测模型不满足您的使用要求时,可以进行预训练或微调。预训练、微调操作的适用场景如下: 预训练:可以在重新指定深海变量、海表变量、以及深海层深、时间分辨率、水平分辨率以及区域范围,适用于想自定义自己的区域模型的场景,需预先准备好区域高精度数据。 微调:在已有模型的基础上添加新数据,它适用于不改变模型结构参数和引入新要素的情况,添加最新数据的场景。
  • 构建科学计算大模型数据集流程 在ModelArts Studio大模型开发平台中,使用数据工程创建盘古科学计算大模型数据集流程见表2。 表2 盘古科学计算大模型数据集构建流程 流程 子流程 说明 操作指导 导入数据至盘古平台 创建原始数据集 数据集是指用于模型训练或评测的一组相关数据样本,上传至平台的数据将被创建为原始数据集进行统一管理。 创建原始数据集 上线原始数据集 在正式发布数据集前,需要执行上线操作。 上线原始数据集 加工数据集(可选) 创建气象类数据集加工任务 数据集中若存在异常数据,可通过数据集加工功能去除异常字符、表情符号、个人敏感内容等。 创建气象类数据集加工任务 上线加工后的数据集 对加工后的数据集执行上线操作。 上线加工后的文本类数据集 发布数据集 创建气象类数据集发布任务 创建发布数据集,并进行正式的发布操作,用于后续的训练、评测任务。 发布气象类数据集
  • 资源组使用场景 通过资源组可以实现计算实例内的资源管理。对不同用户、不同查询分配不同的资源组,可以起到资源隔离的作用,避免单个用户或查询独占计算实例的资源,也能通过资源组之间的权重优先级配置保障重要任务优先执行。典型资源组使用场景如表1所示。 表1 典型资源组使用场景 典型场景 解决方案 随着使用计算实例的业务团队的增加,当某个团队的任务更加重要并且不想执行查询时没有资源。 每个团队分配一个指定的资源组;重要任务分配到资源较多的资源组;保证子资源组的占比和小于等于100%时,可保证某一个队列的资源不被其他资源组抢占,类似于静态化分资源。 当实例资源负载很高时,两个用户同时提交一个查询。一开始,两个查询都在排队。当有空闲资源时,可以调度特定用户的查询首先获取到资源。 两个用户分配不同的资源组,重要的任务可以分配到权重高或优先级高的资源组,调度策略由schedulingPolicy配置,不同的调度策略,会有不同的资源分配顺序。 对于即席查询和批量查询,可以根据不同的SQL类型进行更合理的资源分配。 可以对不同的查询类型,比如EXPLAIN、INSERT、SELECT和DATA_DEFINITION等类型,匹配到不同的资源组,分配不同的资源来执行查询。
  • 建议及示例 查询示例中两表join场景,建议将大表置于join左侧,小表置于join右侧,可借助初筛的能力,进行小表在大表端的加密过滤,提升性能。 建议示例: Select sum(l_tax+ s_acctbal) from league_creator.lineitem_1000w b join league_partner1.supplier_1w a on a.s_suppkey = b.l_suppkey 不建议示例: Select sum(l_tax+ s_acctbal) from league_partner1.supplier_1w a join league_creator.lineitem_1000w b on a.s_suppkey = b.l_suppkey
  • 如何在两个节点间免密ssh登录 登录机器A,执行如下命令 ssh-keygen 遇到需要Overwrite(y/n)时输入y,其他提示均回车即可 在机器A上继续执行如下命令,按照提示输入B的登录密码即可 ssh-copy-id -i 图中红框部分 root@机器B的ip 注:以上操作为节点采用密钥登录,无密码的场景下 若所建节点采用密钥对登录的形式,可手动复制公钥文件id_rsa.pub到对端节点的指定用户的home路径下(root用户的路径为/root) 在对端节点下操作: 查看指定用户home目录下有无.ssh文件夹,没有的话创建一个,复制中的id_rsa.pub的内容到authorized_keys文件 [root@yuancheng ~]# cd .ssh [root@yuancheng .ssh]# cat ../id_rsa.pub | tee -a authorized_keys ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDINuohcfbWG8DMHY7mwnAIkp7jglJczOrk1ie5stdSF9GLroot@yuancheng [root@yuancheng .ssh]# ll total 12 -rw-r--r-- 1 root root 408 Aug 10 09:58 authorized_keys 设置authorized_keys文件的权限为600 在机器B上执行1、2步骤。 接下来两台机器,即可相互直接ssh不需要输入密码
  • 操作步骤 以主账号登录ModelArts管理控制台。 在控制台左下方,单击“专属资源池”下拉框,选择“弹性集群”,进入资源池创建页面。 在资源池创建页面,单击“创建”,进入购买专属资源池页面。 进入购买专属资源池页面后,配置购买参数,各参数说明如表表1所示。 表1 资源池配置参数 参数名称 说明 样例 名称 资源池的名称,创建时会随机生成一个名字。 pool-6e8a 描述 对创建的资源池进行说明。 - 使用场景 分为Standard弹性集群与Lite弹性集群,联邦学习对接MA需要选择Lite弹性集群。 ModelArts Lite 计费模式 选择Lite弹性集群目前默认包年/包月计费模式。 包年/包月 CCE集群 选择创建完成的CCE集群,如果没有可用的CCE集群,可单击右边的“创建集群”按钮,购买CCE集群。 - 自定义节点名称 集群节点名称,会随机生成,用户也可以根据自己需求来指定节点前缀名。 - 规格管理 选择规则类型、可用区、节点数量等。 - 购买时长 购买资源池的时间,用户可以根据续期选择,到期后,会自动清理。 - 自动续费 用户根据需求选择是否选择自动续费。 - 登录方式 选择登录方式,有密码和密钥对两种方式。 选择密码登录,默认用户名为“root”,需要设置密码用来登录节点后台。 选择密钥对,需要选择密钥对,如果没有密钥对,可以单击右边“创建密钥对”按钮创建。 -
  • 在空间侧查看作业计算过程和作业报告 用户登录TICS控制台。 在左侧导航树上单击“空间作业”,打开“空间作业”页面。 在作业列表上,单击对应作业操作栏的“作业报告”。可在弹出的页面查看作业报告。 图1 空间侧查看作业报告 空间侧不支持查看作业执行结果,查看作业执行结果需要去对应的计算节点存储路径查看作业执行的实际结果。 查找待查看计算过程的作业,单击作业名称展开,在操作栏单击“计算过程”。 图2 空间侧查看作业计算过程 计算过程页面可以单击任务节点,查看开始和结束时间等信息。在计算过程页面下方详情列表打开任务详情,可以查看更详细的计算过程信息。 图3 作业计算过程信息详情(截图为多方安全计算作业示例,请以实际作业为准)