An Azure machine learning service for building and deploying models.
Hello @Nidhi Priya
Thank you for reaching out to Microsoft Q&A.
From what you've described, you currently train your model using Python libraries within Azure ML Notebooks, deploy it as an endpoint, and now want to retrain it using new data while ensuring that your in-house application can continue using the same endpoint URL. This is a very common scenario in production ML environments.
Based on the documentation and the information available, here's how this can be approached.
Can you retrain the model from a Notebook?
Yes. You can continue using your existing Notebook-based workflow for retraining. If your current training process is implemented using Python code in Azure ML Notebooks, you can reuse the same code to train a new version of the model using updated data.
Typically, the process would be:
- Load the new dataset.
Execute the same preprocessing and training steps.
Generate the updated model artifact.
Register the retrained model as a new model version in Azure ML.
You do not have to move to Designer pipelines if you are comfortable maintaining your Notebook-based process.
Is using a Designer Pipeline also a valid approach?
Yes, the documentation explicitly supports retraining using published Azure ML pipelines. A common pattern is to:
Create a training pipeline,
Publish it as a Pipeline Endpoint,
Invoke that endpoint whenever new training data becomes available.
You can trigger the pipeline through:
Azure ML Studio,
Python SDK,
REST APIs,
Automation workflows.
The advantage of this approach is improved automation, repeatability, and operational governance.
However, it is important to note that the documentation primarily describes retraining through published pipelines and Pipeline Endpoints. It does not specifically describe an end-to-end "Notebook retrain and automatically update the serving endpoint" workflow.
Can the endpoint URL remain the same?
This is the key part of your question.
If your model is deployed using an Azure ML Managed Online Endpoint, the endpoint itself is separate from the model version being served.
That means your application can continue using the same endpoint URL.
For example:
Current deployment:
Endpoint: customer-risk-endpoint
Deployment: blue
Model: Version 1
After retraining:
Endpoint: customer-risk-endpoint
Deployment: blue
Model: Version 2
Your application continues calling the same endpoint URL without requiring any configuration changes.
Does retraining automatically update the endpoint?
This is where the documentation becomes important.
Based on the documents referenced, we can confirm that:
Training jobs can be submitted programmatically.
Published pipeline endpoints can be invoked using code or REST APIs.
Retraining can be automated using Pipeline Endpoints.
However, the documentation does not explicitly state that simply retraining the model from a Notebook will automatically replace the model behind an existing inference endpoint without any deployment update.
Therefore, we cannot confidently say that Notebook retraining alone will preserve the endpoint URL without any redeployment or deployment update step.
Will redeployment be required?
Technically, some form of deployment update is still required.
After retraining:
The retrained model becomes a new model version.
The existing deployment must be updated to reference that new version.
The important distinction is that this does not require creating a brand-new endpoint.
You do not need to:
Create another endpoint,
Change the endpoint URL,
Modify your application's integration.
You only need to update the deployment behind the existing endpoint to use the newer model version.
Recommended approach
If your primary goal is to preserve your current process while maintaining a stable endpoint URL, the safest approach would be:
Continue retraining using your existing Notebook and Python code.
Register each retrained model as a new version.
Update the existing online deployment to point to the latest model version.
Continue using the same endpoint URL from your application.
If you expect retraining to happen frequently, you may also consider converting your notebook logic into an Azure ML Pipeline and publishing it as a Pipeline Endpoint. You can then invoke the pipeline programmatically from your Notebook or automation process. This provides a more production-oriented retraining workflow, although the documentation still does not explicitly state that it automatically updates the serving deployment.
Please refer this
- “Use pipeline inputs to retrain models in the designer” (pipeline endpoint + retraining on new data) https://learn.microsoft.com/azure/machine-learning/how-to-retrain-designer?view=azureml-api-1
- “Tutorial: Train a model in Azure Machine Learning” (general workspace + notebook training context) https://learn.microsoft.com/azure/machine-learning/tutorial-train-model?view=azureml-api-2
- “Retrain a model (ML.NET)” (not Azure ML retraining; only ML.NET retraining concept) https://learn.microsoft.com/dotnet/machine-learning/how-to-guides/retrain-model-ml-net?wt.mc_id=knowledgesearch_inproduct_azure-cxp-community-insider
- https://learn.microsoft.com/en-us/azure/machine-learning/how-to-deploy-online-endpoints?view=azureml-api-2&tabs=cli
- https://learn.microsoft.com/en-us/azure/machine-learning/how-to-manage-models?view=azureml-api-2&tabs=cli
I Hope this helps. Do let me know if you have any further queries.
If this answers your query, please do click Accept Answer and Yes for was this answer helpful.
Thank you!