deepspeedai / deepspeedai/DeepSpeed
[REQUEST] Support multiple models using deepspeed
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 43.1k
- Forks
- 5k
- Avg merge
- 4d 15h
- Merged PRs (30d)
- 112
Description
I'm frustrated when I am trying to implement PPO using deepspeed, which needs to run actor, critic and reward model at the same time.
It seems that deepspeed cannot support running multiple models at the same time well. Error always happens like this:
torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate xxx MiB
I don't know if there's any functionalities that can support this kind of scenarios. For example, can we specify the gpus each model are using so that we can avoid GPU memory allocation issues by using different GPUs for different models?
Thanks!
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing DeepSpeed's support for running multiple models concurrently in the PPO scenario described: actor, critic, and reward model. Investigate how GPU assignment and CUDA memory allocation are handled, then determine the intended behavior for placing separate models on different GPUs. Done should include a defined multi-model workflow that avoids the reported out-of-memory failures.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, pytorch
- Domain
- distributed-systems, machine-learning
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100