deepspeedai / deepspeedai/DeepSpeed

How to use both deepspeed framework and tutel framework?

Open
#6,684 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
43.1k
Forks
5k
Avg merge
4d 15h
Merged PRs (30d)
112

Description

Hello,I use both your deepspeed and tutel framework, 4 experts and 4 gpus, both Data and Expert Parallelism.
To avoid expert parameters be managed by deepspeed allreduce, code :

deepspeed.initialize( args=self.args,
model=model,
model_parameters = [param for name,param in model.named_parameters() if not hasattr(param, "skip_allruduce")],
config=ds_config )

but it doesn't work,expert parameters cann't be updated correctly. how should I do ? Thanks!

If I use both DDP and tutel framework, it's ok like this:
https://github.com/microsoft/tutel/issues/204#issuecomment-1548182375

How to use deepspeed correctly like DDP?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the four-expert, four-GPU setup around deepspeed.initialize and the model_parameters filter shown in the issue, then compare it with the linked Tutel DDP example. Done means expert parameters update correctly when DeepSpeed and Tutel are used together with data and expert parallelism.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, pytorch
Domain
distributed-systems, machine-learning
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.