--graph_parallel_option_path
功能说明
对原始大模型进行切分时,指定算法切分策略配置文件路径和文件名。
关联参数
- --distributed_cluster_build参数开启分布式编译,--enable_graph_parallel参数开启切分功能后,才支持并且必须配置切分策略配置文件路径,即--graph_parallel_option_path参数必填。
- 算法切分场景--cluster_config必须配置。
参数取值
参数值:切分策略配置文件路径和文件名。
参数值格式:路径和文件名:支持大小写字母(a-z,A-Z)、数字(0-9)、下划线(_)、短横线(-)、句点(.)、中文汉字。
参数值约束:指定的切分策略配置文件内容必须为json格式。
推荐配置及收益
无。
示例
atc --distributed_cluster_build=1 --cluster_config=./numa_config_2p.json --model=./matmul2.pb --enable_graph_parallel="1" --graph_parallel_option_path=./parallel_option.json --soc_version=<soc_version> --output=test_parallel --framework=3 --log=debug
切分策略配置文件示例如下:
- 半自动切分
{ "graph_parallel_option": { "auto": false, "opt_level": "O1" "tensor_parallel_option": { "tensor_parallel_size": 2 }, "tensor_sharding":{ "optimizer_state_sharding": true, "gradient_sharding":true, "model_weight_sharding": true, "model_weight_prefetch": true, "model_weight_prefetch_buffer_size": 50 } } }
- 全自动切分
{ "graph_parallel_option": { "auto": true } }
参数解释如下:
- auto:配置为true表示全自动切分,配置为false表示半自动切分。
- opt_level:指Tensor Parallel求解算法,支持配置为O2和O1,O2使用的是ILP算法,O1使用的是DP算法,若不配置,默认使用O2。
- tensor_parallel_option:配置该option表示使能TP切分。
TP切分:Tensor Parallel也称为算子内并行(Intra-Op Parallel),将计算图中各个Operators的Tensor沿一个或多个轴(batch/Non-batch)进行切分,切分后的partition分发给各个Device分别计算。
- tensor_parallel_size:表示TP切分的份数,即需要配置的device芯片数量。该参数取值必须和--cluster_config拓扑文件中具体使用的device芯片数量相等。
- optimizer_state_sharding:是否开启优化器切片,true表示开启;false表示不开启。
- gradient_sharding:是否开启梯度切片,true表示开启;false表示不开启。
- model_weight_sharding:是否开启权重切片,true表示开启;false表示不开启。
- model_weight_prefetch:是否开启权重预取,true表示开启;false表示不开启。
- model_weight_prefetch_buffer_size:配置权重预取的缓存大小。
支持的型号
Atlas 推理系列产品
Atlas 训练系列产品
Atlas A2训练系列产品/Atlas 800I A2推理产品
依赖约束
无。
父主题: 输入选项