Index
optimus_dl.recipe.train.builders
¶
CriterionBuilder
¶
Builder class responsible for creating the loss criterion instance.
Uses the criterion registry to instantiate the specified loss function
(e.g., CrossEntropy) based on the training configuration.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
cfg
|
CriterionBuilderConfig
|
Builder configuration. |
required |
criterion_config
|
CriterionConfig
|
Configuration for the criterion itself. |
required |
Source code in optimus_dl/recipe/train/builders/criterion_builder.py
build_criterion(**kwargs)
¶
Instantiate and return the configured loss criterion.
Source code in optimus_dl/recipe/train/builders/criterion_builder.py
DataBuilder
¶
Builder class for constructing training and evaluation data pipelines.
Manages the creation of DataPipeline objects, ensuring correct distributed
sharding and iterator behavior (e.g., infinite loop for training, resettable
for evaluation).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
cfg
|
DataBuilderConfig
|
Builder configuration. |
required |
data_config
|
DataConfig
|
Configuration for datasets and transforms. |
required |
Source code in optimus_dl/recipe/train/builders/data_builder.py
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 | |
build_eval_data(collective, **kwargs)
¶
Build evaluation data pipelines.
Constructs a dictionary of pipelines for multiple evaluation datasets.
Uses LoaderIterResettable to allow repeated iteration over the same
validation sets.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
collective
|
Collective
|
Distributed collective. |
required |
**kwargs
|
Any
|
Additional arguments. |
{}
|
Returns:
| Type | Description |
|---|---|
dict[str, EvalDataPipeline | None]
|
Dictionary mapping dataset names to DataPipelines. |
Source code in optimus_dl/recipe/train/builders/data_builder.py
build_train_data(collective, **kwargs)
¶
Build the training data pipeline.
Automatically injects rank and world_size for sharding. The resulting loader is configured to restart automatically on StopIteration, creating an infinite stream.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
collective
|
Collective
|
Distributed collective for sharding info. |
required |
**kwargs
|
Additional arguments passed to dataset builders. |
{}
|
Returns:
| Type | Description |
|---|---|
DataPipeline | None
|
A DataPipeline containing the dataset and loader. |
Source code in optimus_dl/recipe/train/builders/data_builder.py
ModelBuilder
¶
Mixin for building models and applying transformations.
Encapsulates the logic for:
1. Instantiating a BaseModel from a configuration object.
2. Sequentially applying a list of ModelTransforms (e.g., FSDP, DDP, compile).
3. Logging model statistics (parameter count).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
cfg
|
ModelBuilderConfig
|
Builder configuration. |
required |
model_transforms
|
list[ModelTransformConfig] | None
|
List of configurations for transforms to apply. |
None
|
Source code in optimus_dl/recipe/mixins/model_builder.py
build_model(model_config, collective, **kwargs)
¶
Build the model and apply all configured transforms.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
model_config
|
ModelConfig | None
|
Configuration for the model architecture. |
required |
collective
|
Collective
|
Distributed collective for transforms that need it. |
required |
**kwargs
|
Additional arguments passed to model constructor and transforms. |
{}
|
Returns:
| Type | Description |
|---|---|
BaseModel
|
The fully constructed and transformed model. |
Source code in optimus_dl/recipe/mixins/model_builder.py
OptimizerBuilder
¶
Builder class responsible for creating the optimizer.
Takes parameter groups from the model and instantiates the configured optimizer (e.g., AdamW). It also logs the total number of optimized parameters.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
cfg
|
OptimizerBuilderConfig
|
Builder configuration. |
required |
optimization_config
|
OptimizationConfig
|
Optimization settings including the optimizer config. |
required |
Source code in optimus_dl/recipe/train/builders/optimizer_builder.py
build_optimizer(params, **kwargs)
¶
Build and validate the optimizer.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
params
|
Iterable of parameters or dicts defining parameter groups
(typically from |
required | |
**kwargs
|
Additional arguments passed to the optimizer constructor. |
{}
|
Returns:
| Type | Description |
|---|---|
Optimizer
|
Instantiated Optimizer. |
Source code in optimus_dl/recipe/train/builders/optimizer_builder.py
SchedulerBuilder
¶
Builder class responsible for creating the learning rate scheduler.
Instantiates a scheduler (e.g., CosineAnnealing, WSD) and associates it with the optimizer. It ensures the scheduler is aware of the total training iterations.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
cfg
|
SchedulerBuilderConfig
|
Builder configuration. |
required |
lr_scheduler_config
|
RegistryConfig | None
|
Configuration for the scheduler itself (can be None). |
required |
optimization_config
|
OptimizationConfig
|
Optimization settings (needed for total iterations). |
required |
Source code in optimus_dl/recipe/train/builders/scheduler_builder.py
build_lr_scheduler(optimizer, **kwargs)
¶
Build and validate the learning rate scheduler.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
optimizer
|
Optimizer
|
The optimizer to schedule. |
required |
**kwargs
|
Additional arguments. |
{}
|
Returns:
| Type | Description |
|---|---|
|
Instantiated LR Scheduler or None if not configured. |
Source code in optimus_dl/recipe/train/builders/scheduler_builder.py
Modules and Sub-packages¶
criterion_builder: Criterion builder mixin for building loss criteria.data_builder: Data builder mixin for building data pipelines.optimizer_builder: Optimizer builder mixin for building optimizers.scheduler_builder: Scheduler builder mixin for building learning rate schedulers.