deepspeedai / deepspeedai/DeepSpeed

[REQUEST] Support multiple models using deepspeed

Open
#3,093 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
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

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 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.