Skip to main content

Megatron's multi-modal data loader

Megatron Energon

Tests Documentation
Report Bug · Request Feature


DISCLAIMER: This package contains research code. APIs may change.

What is this?

Megatron Energon is the multi-modal data loader of Megatron (you can also use it independently).

It's best at

  • loading large training data to train large multi-modal models
  • blending many different datasets together
  • distributing the work across many nodes and processes of a cluster
  • ensuring reproducibility and resumability
  • adapting easily to various types of data samples and processing

Try using it together with Megatron Core.

Quickstart

Megatron Energon is a pip-installable python package that offers

  • dataset-related classes that you can import in your project
  • a command line utility for data preprocessing and conversion

This document is just a quick start. Please also check out the documentation.

Installation

To install the latest stable version:

pip install megatron-energon

Or to install the current development version:

pip install git+https://github.com/NVIDIA/Megatron-Energon.git

NOTE: We encourage you to install the package (and not just import a local copy). This will ensure you have all the needed dependencies and that you can use the command line tool.

For more details on installing this package, see here.

Usage of command line tool

After installation, the command energon will be available.

Here are some examples for things you can do:

Command Description
energon prepare DATASET_ROOT Take an existing WebDataset and add the required yaml files to turn it into an energon-compatible dataset
energon lint DATASET_ROOT Verify that the dataset complies with the energon dataset format and that all samples are loadable

Usage of the library

To get started, pick a WebDataset-compliant dataset and run energon prepare DATASET_ROOT on it, to run the interactive assistant and create the .nv-meta folder. As an alternative to WebDataset, Energon also supports the JSONL format, see here.

Once done, try to load it from your Python program:

from megatron.energon import get_train_dataset, get_loader, WorkerConfig


simple_worker_config = WorkerConfig(rank=0, world_size=1, num_workers=2)


train_ds = get_train_dataset(
    '/my/dataset/path',
    batch_size=2,
    shuffle_buffer_size=None,
    max_samples_per_sequence=None,
    worker_config=simple_worker_config,
)

train_loader = get_loader(train_ds)

for batch in train_loader:
    # Do something with batch
    # Infer, gradient step, ...
    pass

For more details, read the documentation.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

megatron_energon-7.4.1.tar.gz (211.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

megatron_energon-7.4.1-py3-none-any.whl (286.8 kB view details)

Uploaded Python 3

File details

Details for the file megatron_energon-7.4.1.tar.gz.

File metadata

  • Download URL: megatron_energon-7.4.1.tar.gz
  • Upload date:
  • Size: 211.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for megatron_energon-7.4.1.tar.gz
Algorithm Hash digest
SHA256 31e5511bf894e235dff35dacbe130fb1283010a132b612c07e3fa841cc37d82c
MD5 ab64e55069c4916b79af856760a5bfea
BLAKE2b-256 81151aa34071dbb64c30f56c68b78989e2a3f11ce72583466b98b37a04206ad4

See more details on using hashes here.

Provenance

The following attestation bundles were made for megatron_energon-7.4.1.tar.gz:

Publisher: release.yml on NVIDIA/Megatron-Energon

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file megatron_energon-7.4.1-py3-none-any.whl.

File metadata

File hashes

Hashes for megatron_energon-7.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b2d96756f2825750bf51a2b2c16bd1ddfed8f50414b72bb9da174dd8ddafb7d8
MD5 62498ad499c79e5ffeeecfa12070f52b
BLAKE2b-256 9121fcfffd2dbc8523412ac623da5e24096a252ff6342f97e1bddf3cce99e36e

See more details on using hashes here.

Provenance

The following attestation bundles were made for megatron_energon-7.4.1-py3-none-any.whl:

Publisher: release.yml on NVIDIA/Megatron-Energon

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

7.4.1 This release

2 files

7.4.0

2 files

7.3.2

2 files

7.3.1

2 files

7.3.0

2 files

7.2.2

2 files

7.2.1

2 files

7.2.0

2 files

7.1.0

2 files

7.0.0

2 files

6.0.1

2 files

6.0.0

2 files

5.3.0

2 files

5.2.0

2 files

5.1.1

2 files

5.1.0

2 files

5.0.0

2 files

4.0.0

2 files

3.0.1

2 files

3.0.0

2 files

2.3.0

2 files

2.2.0

2 files

2.1.1

2 files

2.1.0

2 files

0.0.1

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page