MCPcopy Create free account
hub / github.com/deepspeedai/DeepSpeed / train_shared_loss

Function train_shared_loss

tests/unit/runtime/test_multiple_models.py:21–46  ·  view source on GitHub ↗
(num_models, config_dict, dtype)

Source from the content-addressed store, hash-verified

19
20
21def train_shared_loss(num_models, config_dict, dtype):
22 hidden_dim = 64
23
24 models = [create_model(config_dict) for _ in range(num_models)]
25 data_loader = random_dataloader(model=models[0],
26 total_samples=4,
27 hidden_dim=hidden_dim,
28 device=models[0].device,
29 dtype=dtype)
30 dist.barrier()
31 for _, batch in enumerate(data_loader):
32 losses = [m.module(batch[0], batch[1]) for m in models]
33 loss = sum(l / (i + 1) for i, l in enumerate(losses))
34 loss.backward()
35
36 for m in models:
37 m._backward_epilogue()
38
39 for m in models:
40 m.step()
41
42 for m in models:
43 m.optimizer.zero_grad()
44
45 for m in models:
46 m.destroy()
47
48
49def train_independent_loss(num_models, config_dict, dtype):

Callers 2

test_zero_optimizerMethod · 0.85
test_bf16_optimizerMethod · 0.85

Calls 8

random_dataloaderFunction · 0.90
create_modelFunction · 0.85
_backward_epilogueMethod · 0.80
barrierMethod · 0.45
backwardMethod · 0.45
stepMethod · 0.45
zero_gradMethod · 0.45
destroyMethod · 0.45

Tested by

no test coverage detected