--model_relation_config
功能说明
表达多个切片模型间的数据关联和分布式通信组关系的配置文件。适用于原始大模型为切片模型,且切片模型内含通信算子的场景。
关联参数
- 该参数只有--distributed_cluster_build使能分布式编译后才生效,且必须与--shard_model_dir参数同时使用,用来指定切片模型所在路径。
- 模型中包含通信算子场景,--cluster_config必填。
参数取值
参数值:配置文件路径和文件名。
参数值格式:路径和文件名:支持大小写字母(a-z,A-Z)、数字(0-9)、下划线(_)、短横线(-)、句点(.)、中文汉字。
参数值约束:配置文件中的内容必须为json格式。
推荐配置及收益
无。
示例
将配置文件上传到ATC工具所在服务器,例如上传到$HOME/conf,使用示例如下:
atc --distributed_cluster_build=1 --cluster_config=$HOME/conf/numa_config_4p.json --output=1_increase_4p --framework=1 --log=debug --shard_model_dir=../1_air --model_relation_config=$HOME/conf/model_relation_config.json --soc_version=<soc_version>
配置文件示例如下,对于TP切分后的模型,配置文件只存在deploy_config节点:
{ "deploy_config" :[ //必选,部署模型与目标部署节点的映射关系 { "submodel_name":"submodel1.air", // 前端切分后的文件名称,要和--shard_model_dir中前端切分后的模型名称保持一致 "deploy_device_id_list":"0:0:0" // 该模型要部署的目标设备cluster:0 node:0 item:0 }, { "submodel_name":"submodel2.air", "deploy_device_id_list":"0:0:1" } ], "model_name_to_instance_id":[ // 必选 { "submodel_name":"submodel1.air", // 模型对应的id,文件中由用户指定,不同文件对应不同id值即可 "model_instance_id":0 }, { "submodel_name":"submodel2.air", "model_instance_id":1 } ], "comm_group":[{ // 非必选,若前端切分的模型包含通信算子,此处应是切分后模型通信算子的通信域相关信息 "group_name":"tp_group_name_0", // 前端切分模型通信算子的子通信域 "group_rank_list":"[0,1]" // 前端切分模型通信算子的子rank列表 }], "rank_table":[ { "rank_id":0, // rankid与模型id的映射关系 "model_instance_id":0 }, { "rank_id":1, "model_instance_id":1 } ] }
支持的型号
Atlas 推理系列产品
Atlas 训练系列产品
Atlas A2训练系列产品/Atlas 800I A2推理产品
依赖约束
无。
父主题: 输入选项