Skip to content

Add distributed training MLOps extensions #88

Description

@ulises-jeremias

Problem

The proposal includes three distributed templates. In CPA, distributed execution is an
advanced capability layered onto a framework starter, not a base project topology.

Solution

Create distributed training extensions after the corresponding framework templates
exist.

Extensions:

  • mlops-sklearn-distributed: Dask/Ray support for parallel preprocessing and
    hyperparameter search.
  • mlops-pytorch-distributed: DDP/torchrun support with single-process fallback.
  • mlops-tensorflow-distributed: tf.distribute support with local strategy fallback.

Required docs for each:

  • template/docs/DISTRIBUTED_TRAINING_GUIDE.md
  • template/docs/README.md.append
  • local execution guide;
  • cluster/GPU runner notes;
  • troubleshooting for missing GPUs, process launch failures, and metric aggregation.

Constraints:

  • No GPU/CUDA dependency in default CI.
  • Tests must run in CPU/single-process fallback.
  • Distributed launch should be config-driven, not hardcoded.
  • Add incompatibleWith if two distributed extensions conflict on the same files.

Acceptance criteria:

  • Each extension has deterministic tests for fallback behavior.
  • Docs explain how to move from local smoke tests to real multi-node/multi-GPU runs.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions