ClearML - Auto-Magical CI/CD to streamline your AI workload. Experiment Management, Data Management, Pipeline, Orchestration, Scheduling & Serving in one MLOps/LLMOps solution
Cloning a pipeline created with PipelineDecorator.pipeline with pipeline steps created with PipelineDecorator.component causes the pipeline steps to retain their original arguments, even when the pipeline calling them has updated arguments.
Call the pipeline function with some arguments (e.g. arg_1="1", arg_2="2") and execute it remotely.
Upon completion of the pipeline, make a clone of the pipeline in the experiments page.
Modify the arguments for the cloned pipeline (e.g. arg_1="3", arg_2="4").
Run the cloned and modified pipeline.
Expected behaviour
The pipeline step print_func in the cloned pipeline should receive the new pipeline args arg_1 and arg_2. Instead, the pipeline step retains its original arguments from the first time it was called in the original pipeline.
Note: The same behaviour is also observed if the original pipeline gets run again with modified arguments without cloning.
Describe the bug
Cloning a pipeline created with
PipelineDecorator.pipeline
with pipeline steps created withPipelineDecorator.component
causes the pipeline steps to retain their original arguments, even when the pipeline calling them has updated arguments.To reproduce
Minimal code to reproduce:
arg_1="1", arg_2="2"
) and execute it remotely.arg_1="3", arg_2="4"
).Expected behaviour
The pipeline step
print_func
in the cloned pipeline should receive the new pipeline argsarg_1
andarg_2
. Instead, the pipeline step retains its original arguments from the first time it was called in the original pipeline.Note: The same behaviour is also observed if the original pipeline gets run again with modified arguments without cloning.
Environment