nemo_rl.data.energon.config#

Module Contents#

Classes#

EnergonSourceConfig

One prepared Energon dataset split.

EnergonTaskEncoderConfig

One task encoder selected by registry key.

EnergonCookerConfig

One source cooker selected by registry key.

EnergonLoaderConfig

Shared Energon settings for driver- and worker-owned SFT loaders.

API#

class nemo_rl.data.energon.config.EnergonSourceConfig#

Bases: pydantic.BaseModel

One prepared Energon dataset split.

path: str#

None

split: str#

None

virtual_epoch_length: Annotated[int, Field(ge=0)]#

0

limit: Annotated[int, Field(ge=1)] | None#

None

class nemo_rl.data.energon.config.EnergonTaskEncoderConfig#

Bases: pydantic.BaseModel

One task encoder selected by registry key.

name: str#

‘generic_sft’

options: dict[str, Any]#

‘Field(…)’

classmethod _from_registry_key(value: Any) Any#
class nemo_rl.data.energon.config.EnergonCookerConfig#

Bases: pydantic.BaseModel

One source cooker selected by registry key.

name: str#

‘generic_conversation’

options: dict[str, Any]#

‘Field(…)’

has_subflavors: dict[str, str | int | float | bool | None] | None#

None

classmethod _from_registry_key(value: Any) Any#
class nemo_rl.data.energon.config.EnergonLoaderConfig#

Bases: pydantic.BaseModel

Shared Energon settings for driver- and worker-owned SFT loaders.

model_family: nemo_rl.data.energon.multimodal.model_families.ModelFamily#

‘Field(…)’

num_workers: Annotated[int, Field(ge=0)]#

8

shuffle_buffer_size: Annotated[int, Field(ge=0)]#

1000

max_samples_per_sequence: Annotated[int, Field(ge=1, description='Maximum consecutive samples read from one shard before switching; this does not limit pack membership.')] | None#

None

packing_buffer_size: Annotated[int, Field(ge=1, description='Number of samples Energon buffers when forming packs; None disables Energon-owned packing.')] | None#

None

batch_grouping: Literal[auto]#

‘auto’

processor_adapter: Literal[hf_multimodal]#

‘hf_multimodal’

topology_mapper: Literal[default]#

‘default’

task_encoder: nemo_rl.data.energon.config.EnergonTaskEncoderConfig#

‘Field(…)’

cookers: list[nemo_rl.data.energon.config.EnergonCookerConfig]#

‘Field(…)’

seed_offset: int#

0

prefetch_factor: Annotated[int, Field(ge=1)]#

2

checkpoint_every_sec: Annotated[float, Field(gt=0)]#

60.0

watchdog_timeout_seconds: Annotated[float, Field(gt=0)] | None#

60.0