Description
Is your feature request related to a problem? Please describe.
As a follow-up of this discussion about the SuperComponent
abstraction with @sjrl, I think it would be great to have a progress bar displayed when executing a pipeline with pipeline.run()
.
Currently, there is no visually indication to a user that the pipeline is executed and which step it is currently running. Even when monitoring and tracing are enabled, the setup requires additional setup time as well as technical in-depth knowledge, while log information is presented in a highly technical format that isn't intuitive for quick status assessment.
There have been some similar requests regarding progress bars in the past, but they are related to specific components or aspects in pipelines (e.g. batch processing, see #2580). Some users also want to have the option to disable progress bars globally (#8782, #5098).
Describe the solution you'd like
A progress bar displayed when running pipeline.run()
could
- provide immediate quick, visual and real-time feedback
- provide a time estimation and an overall status
- complement monitoring and tracing
- increase overall usability
From my point-of-view, I think it would be useful to have this information displayed when pipeline.run()
:
- percentage completion
- processing step indicator (step name, step number of total number of steps)
- runtime estimation
- batch processing information (Add optional progress bar for batch methods #2580)
Describe alternatives you've considered
Could be integrated directly into the pipeline.run()
logic, integrated as parameter to be turned on (True
) or off (False
) or as env var
Additional context
Hugging Face extensively uses progress bars with tqdm
across its ecosystem for model downloading, training, inference, and data processing operations, demonstrating their value in workflows.
Example HF progress bar:
https://stackoverflow.com/questions/74404985/huggingface-transformer-trainer-tqdm-progress-bar-not-moving-at-all-in-jupyter-n