MCPcopy Create free account
hub / github.com/BeastyZ/ConvSearch-R1 / normalize_model_name

Function normalize_model_name

verl/verl/utils/model.py:209–237  ·  view source on GitHub ↗

Transform the model name in each model_chunk in each pp stage into the name in inference engine

(name, pp_rank, vpp_rank, pp_size, vpp_size, num_layers)

Source from the content-addressed store, hash-verified

207 """
208
209 def normalize_model_name(name, pp_rank, vpp_rank, pp_size, vpp_size, num_layers):
210 """
211 Transform the model name in each model_chunk in each pp stage into the name in inference engine
212 """
213 if vpp_size > 1:
214 # print(f'try to bind vpp params to inference engine...')
215 layers_per_pp = num_layers // pp_size
216 layers_per_vpp = layers_per_pp // vpp_size
217 pp_offset = layers_per_vpp * pp_rank
218 vpp_offset = (layers_per_vpp * pp_size) * vpp_rank
219 layer_offset = pp_offset + vpp_offset
220 else:
221 layers_per_pp = num_layers // pp_size
222 layer_offset = layers_per_pp * pp_rank
223
224 if layer_name in name: # belong to an intermediate layer
225 split_name = name.split('.')
226 # find the num next to split_name
227 for i, name in enumerate(split_name):
228 if name == layer_name:
229 break
230 layer_num_idx = i + 1
231 # check the name
232 assert len(split_name) >= layer_num_idx + 1, f'split_name = {split_name}'
233 assert split_name[layer_num_idx].isdigit(), f'split_name = {split_name}'
234 # increment layer_num_idx by layer_offset
235 split_name[layer_num_idx] = str(int(split_name[layer_num_idx]) + layer_offset)
236 name = '.'.join(split_name) # weight name in inference_tp_model
237 return name
238
239 pp_size = len(params)
240 normalized_name_to_param = {}

Callers 1

normalize_pp_vpp_paramsFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected