Skip to content

[SpeechLM2] Oomptimizer #15847

Description

@AudranBert

Describe the bug

The scripts/speechlm2/oomptimizer.py script is very cool but in order to be able to work with the produced batch_sizes I need to use --memory-fraction 0.5.
It seems that the Oomptimizer is right but only for the beginning of the training. After some time the VRAM will bump to a new value which is not anticipated by the Oomptimizer. I don't know if it is a real issue or maybe the issue is somewhere else. These bumps can happen after a few hours of training, and they can be multiples bumps (one after a few minutes, then one after one hour and one after 2 hours) which can lead to OOM. I understand that these bumps are probably caused by the data but shouldn't be the role of the oomptimizer to prevent OOM by simulating the worst case scenario for each batch? I still haven't found how to limit or prevent these bumps except starting from a verly low VRAM usage.

Image

Steps/Code to reproduce bug

Use oomptimizer and then launch a training and track the VRAM usage.

Expected behavior

A clear and concise description of what you expected to happen.

Environment overview (please complete the following information)

  • Environment location: [Bare-metal, Docker, Cloud(specify cloud provider - AWS, Azure, GCP, Collab)]
  • Method of NeMo install: [pip install or from source]. Please specify exact commands you used to install.
  • If method of install is [Docker], provide docker pull & docker run commands used

Environment details

NeMo 2.8.0 rc0n

Additional context

H100

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions