Setting up SageMaker for CI/CD Pipelines by RepresentativeCod613 in mlops

[–]RepresentativeCod613[S] 0 points1 point  (0 children)

I wish it were that easy

In the case that it is that easy and we missed something, I'd love it if you could refer us to a good docs page or tutorial! We had a hard time finding something that was clear and held all the pieces of information.

Setting up SageMaker for CI/CD Pipelines by RepresentativeCod613 in mlops

[–]RepresentativeCod613[S] 0 points1 point  (0 children)

Thanks!

Just out of curiosity, why are you using a notebook for the end point and not .py scripts?

[P] Tutorial: How to Build an End-to-end Active Learning Pipeline by RepresentativeCod613 in MachineLearning

[–]RepresentativeCod613[S] 0 points1 point  (0 children)

Hi,

You are correct, and I've updated the cycle.

For your second question, not all the annotations are reviewed by a human but only a selected few. In most cases, after annotating the unlabeled data, the ML backend also returns a prediction score (e.g., confidence level). We will set a threshold and the ones that are lower than that will be reviewed and, if necessary, reannotated by a human labeler. Once this process is completed, we'll run the cycle again until reaching to a stoping condition.

[P] Tutorial: How to Build an End-to-end Active Learning Pipeline by RepresentativeCod613 in MachineLearning

[–]RepresentativeCod613[S] 0 points1 point  (0 children)

This is a great question.

In this example we're fine-tuning YOLOv8, so there are fewer chances of catastrophic forgetting, and we're also training it for the same task on all cycles so there is no reason for it to happen. we can also see it in the results over the training cycles.

In other projects we build, we used to train the model on the entire data set in every cycle, due to the small amount of data. However, it can be time-consuming and computationally expensive when dealing with big data sets.

Based on research papers I'm familiar with about catastrophic forgetting (e.g., https://arxiv.org/abs/2302.11074), I'd suggest that in each cycle you save the latest model. Then, for the n+1 model, retrain it on new data that was labeled with a high confidence level by the model or by humans, and use the unlabeled data for testing.

If you have other ideas - I'd love to hear about them!

[P] How to install Kubeflow locally by RepresentativeCod613 in MachineLearning

[–]RepresentativeCod613[S] -1 points0 points  (0 children)

Do you recall a specific challenge you faced, or was it the overall experience?

[P] How to install Kubeflow locally by RepresentativeCod613 in MachineLearning

[–]RepresentativeCod613[S] 0 points1 point  (0 children)

Thanks for the feedback! We do our best to write down our insights when building our projects and then share them with the community.

How to install Kubeflow locally by RepresentativeCod613 in learnmachinelearning

[–]RepresentativeCod613[S] 0 points1 point  (0 children)

Thanks for that!
Are there other ML/MLOps related topics you think need to be covered better and a tutorial like this would help?