deepspeedai / deepspeedai/DeepSpeed

[BUG] offloading section in config file never carried to autotuner

Open
#3,379 2 comments 0 reactions 1 assignee View on GitHub

@cli99 is already working on this.

Since May 2, 2023.

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

Description

Describe the bug
I tried to enable offloading in the zero2_auto.json file with the following lines,

  "zero_optimization": {
    "stage": 2,
    "offload_optimizer": {
        "device": "cpu",
        "pin_memory": true
    },
    ...
  }

It works fine for normal runs without the --autotune flag. However, once I use deepspeed --autotune, none of the automatically generated .json files have the offload_optimizer section, i.e. one sample json file generated by autotuner

This contradicts what is stated in the README: "Currently, the DeepSpeed Autotuner does not tune offloading behaviors but instead uses the values defined in the offload section of the DeepSpeed configuration file." [https://github.com/microsoft/DeepSpeed/tree/master/deepspeed/autotuning#offloading-and-nvme]

To Reproduce

git clone https://github.com/cxxz/llama_deepspeed_autotune.git
cd llama_deepspeed_autotune
./run_autotune_llama_4A100.sh

Expected behavior
All generated ds_config.json during the search should have the offload section.

System info (please complete the following information):

  • Python version: 3.10
  • DeepSpeed version: 0.9.1

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.