MCPcopy Create free account
hub / github.com/PaddlePaddle/FastDeploy / initialize_fd_config

Function initialize_fd_config

fastdeploy/worker/worker_process.py:1114–1250  ·  view source on GitHub ↗

Initialize FDConfig from either RolloutModelConfig or argparse.Namespace Args: config: Configuration object containing all parameters (either RolloutModelConfig or argparse.Namespace) Returns: FDConfig: Initialized FastDeploy configuration object

(args, ranks: int = 1, local_rank: int = 0)

Source from the content-addressed store, hash-verified

1112
1113
1114def initialize_fd_config(args, ranks: int = 1, local_rank: int = 0) -> FDConfig:
1115 """Initialize FDConfig from either RolloutModelConfig or argparse.Namespace
1116
1117 Args:
1118 config: Configuration object containing all parameters (either RolloutModelConfig or argparse.Namespace)
1119
1120 Returns:
1121 FDConfig: Initialized FastDeploy configuration object
1122 """
1123 # RL rollout
1124 paddle.set_default_dtype(args.dtype)
1125 model_config = ModelConfig(vars(args))
1126 device_config = DeviceConfig(vars(args))
1127 speculative_config = SpeculativeConfig(args.speculative_config)
1128 parallel_config = ParallelConfig(vars(args))
1129 cache_config = CacheConfig(vars(args))
1130 scheduler_config = SchedulerConfig(vars(args))
1131 eplb_config = EPLBConfig(args.eplb_config)
1132
1133 parallel_config.tensor_parallel_rank = local_rank % parallel_config.tensor_parallel_size
1134 parallel_config.data_parallel_rank = local_rank // parallel_config.tensor_parallel_size
1135 # config for DP
1136 if parallel_config.data_parallel_size > 1:
1137 max_chips_per_node = 16 if current_platform.is_iluvatar() else 8
1138 parallel_config.local_data_parallel_id = parallel_config.data_parallel_rank % (
1139 max_chips_per_node // parallel_config.tensor_parallel_size
1140 )
1141 # config for EP
1142 if parallel_config.expert_parallel_size > 1:
1143 expert_parallel_rank = int(local_rank % parallel_config.expert_parallel_size)
1144 if isinstance(model_config.moe_num_experts, list):
1145 num_experts = model_config.moe_num_experts[0] + eplb_config.redundant_experts_num
1146 elif hasattr(model_config, "num_local_experts") and model_config.num_local_experts is not None:
1147 num_experts = model_config.num_local_experts + eplb_config.redundant_experts_num
1148 else:
1149 num_experts = model_config.moe_num_experts + eplb_config.redundant_experts_num
1150 num_experts_per_rank = num_experts // parallel_config.expert_parallel_size
1151 num_experts_start_offset = expert_parallel_rank * num_experts_per_rank
1152 parallel_config.expert_parallel_rank = expert_parallel_rank
1153 parallel_config.num_experts_per_rank = num_experts_per_rank
1154 parallel_config.num_experts_start_offset = num_experts_start_offset
1155
1156 parallel_config.set_communicate_group()
1157
1158 load_config = LoadConfig(vars(args))
1159
1160 graph_opt_config = GraphOptimizationConfig(args.graph_optimization_config)
1161
1162 plas_attention_config = PlasAttentionConfig(args.plas_attention_config)
1163
1164 early_stop_config = EarlyStopConfig(args.early_stop_config)
1165
1166 structured_outputs_config: StructuredOutputsConfig = StructuredOutputsConfig(args=vars(args))
1167 routing_replay_config = RoutingReplayConfig(args.routing_replay_config)
1168
1169 # Note(tangbinhan): used for load_checkpoint
1170 model_config.pretrained_config.tensor_parallel_rank = parallel_config.tensor_parallel_rank
1171 model_config.pretrained_config.tensor_model_parallel_size = parallel_config.tensor_parallel_size

Callers 2

initializeMethod · 0.90
run_worker_procFunction · 0.85

Calls 15

set_communicate_groupMethod · 0.95
ModelConfigClass · 0.90
DeviceConfigClass · 0.90
SpeculativeConfigClass · 0.90
ParallelConfigClass · 0.90
CacheConfigClass · 0.90
SchedulerConfigClass · 0.90
EPLBConfigClass · 0.90
LoadConfigClass · 0.90
PlasAttentionConfigClass · 0.90
EarlyStopConfigClass · 0.90

Tested by

no test coverage detected