deepspeedai / deepspeedai/DeepSpeed

[REQUEST] ZeRO stage 3 support for mixture-of-experts (MoE) layer

Open
#2,870 5 comments 0 reactions 1 assignee View on GitHub

@awan-10 is already working on this.

Since Feb 24, 2023.

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

Description

Hello everyone,

I've always wanted to run large models using minimal GPUs, as I only have a few at my disposal. That is why I was impressed that ZeRO-3 can support the running of large models by offloading parameters from GPU memory to CPU memory.

However, I recently discovered that ZeRO-3 does not support the use of MoE models, which came as a shock to me. Personally, I believe that the MoE model is a well-known and effective way to increase model capacity. Therefore, I think it would make sense for ZeRO to support the MoE model.

I'm wondering if it's true that ZeRO-3 does not support MoE model inference?

  File "/root/deepspeed/ds/lib/python3.8/site-packages/deepspeed/runtime/engine.py", line 1291, in _configure_optimizer
    self.optimizer = self._configure_zero_optimizer(basic_optimizer)
  File "/root/deepspeed/ds/lib/python3.8/site-packages/deepspeed/runtime/engine.py", line 1575, in _configure_zero_optimizer
    assert not self.has_moe_layers, "MoE not supported with Stage 3"
AssertionError: MoE not supported with Stage

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.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.