MCPcopy Create free account
hub / github.com/THUDM/GLM / setup_model_and_optimizer

Function setup_model_and_optimizer

train_utils.py:243–267  ·  view source on GitHub ↗

Setup model and optimizer.

(args, model_type=None, multi_token=True, num_labels=None, spell_length=None)

Source from the content-addressed store, hash-verified

241
242
243def setup_model_and_optimizer(args, model_type=None, multi_token=True, num_labels=None, spell_length=None):
244 """Setup model and optimizer."""
245
246 model = get_model(args, model_type=model_type, multi_token=multi_token, num_labels=num_labels,
247 spell_length=spell_length)
248 param_groups = get_optimizer_param_groups(model)
249
250 if args.train_data is not None or args.data_dir is not None and (args.epochs > 0 or args.train_iters > 0):
251 if args.deepspeed:
252 print_rank_0("DeepSpeed is enabled.")
253
254 model, optimizer, _, _ = deepspeed.initialize(
255 model=model,
256 model_parameters=param_groups,
257 args=args,
258 mpu=mpu,
259 dist_init_required=False
260 )
261 else:
262 optimizer = get_optimizer(param_groups, args)
263 lr_scheduler = get_learning_rate_scheduler(optimizer, args)
264 else:
265 optimizer, lr_scheduler = None, None
266
267 return model, optimizer, lr_scheduler
268
269
270def backward_step(optimizer, model, lm_loss, args, timers):

Callers 2

finetuneFunction · 0.90
mainFunction · 0.90

Calls 5

print_rank_0Function · 0.90
get_modelFunction · 0.85
get_optimizerFunction · 0.85

Tested by

no test coverage detected