Observed since 21 Oct, 10:33 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
Utilities for monitoring training of large foundation models
A Python library that records events, metrics, and errors during model training in standardized formats:
The objective of this library is to provide a standard format for logging events, metrics and errors that can be adopted by existing frameworks and applications for training large AI models. The end result is that the runtime performance and errors of these training models can be monitored in a consistent manner, without impacting the training performance. Time spans provide detailed information on how each training process spends its time during startup, training and checkpoint saving. Errors can be analyzed and correlated with infrastructure events once the application fails, in order to provide users with more actionable information.
This library is lightweight and intentionally has very few dependencies, so as to facilitate integration with training frameworks that normally have a long list of dependencies. The API is provided on two levels:
The following events are currently supported:
Events are logged by one or more of the following backends:
Events have metrics attached to them. A special class of events, error events, captures error messages and stack traces.
The library package is available on the following pypi public repositories:
Install with:
pip install aidot-training-telemetry
If using Poetry, run the following command:
poetry add aidot-training-telemetry
Using the context API, initialize the main function with:
def get_application_metrics():
return ApplicationMetrics.create(
rank=get_rank_index(),
world_size=get_rank_count(),
node_name="localhost",
timezone=str(get_localzone()),
total_iterations=num_epochs * len(dataloader),
checkpoint_enabled=True,
checkpoint_strategy="sync",
)
@application_running(metrics=get_application_metrics())
def main():
[...]
This will capture any exceptions not handled by the application, and log them as an error event before re-raising them.
For the training loop and iterations:
with training_iteration() as training_iteration_span:
[...]
training_iteration_span.add_metrics(
IterationMetrics.create(
current_iteration=current_iteration,
num_iterations=len(dataloader),
loss=loss.item(),
accuracy=accuracy.item(),
)
)
For checkpoint monitoring:
with checkpoint_save() as checkpoint_save_span:
[...]
checkpoint_save_span.add_metrics(
CheckpointSaveMetrics.create(
checkpoint_type=CheckPointType.LOCAL,
current_iteration=current_iteration,
checkpoint_directory=temp_dir,
checkpoint_filename=os.path.basename(checkpoint_file_name),
)
)
For a concrete example refer to the torch example or usage examples.
It's also possible to manually create spans and events, refer to the recorder API for how to do this.
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 1.1.2 | 1 Dec 2025 | 11 |
This describes our collected data; it is not a security assessment.
Observed since 21 Oct, 10:33 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:ef5a03d894cb2c23c56468fb06c9bf023cde2b83c2360fe1ad7b5af38da46615