[NLU] How to handle an upgrade to a new version of the NLU Service for your NLU Models when upgrading your instance.SummaryWhen upgrading to a newer version of the NLU Service, it may impact your existing NLU Models that were trained on an earlier version of the NLU Service and so you will need to test your NLU Models with the newer version before you roll it out into Production. In general, you should see improvements in predictions, but in some rare cases, you may experience a reduction in prediction performance, hence you should test your NLU Models with each new version of the NLU Service. In Quebec, we changed the behaviour so that when a new version of the NLU Service becomes available in our data centers, it will not automatically start using the new version of the NLU Service that was rolled out, when you train your NLU Model, if your instance is still on an old version, as documented in KB0858445: [NLU] In Paris or earlier versions, when upgrading an instance to a newer patch level, when you train the NLU model after the upgrade, the Prediction Response scores will change. Once an NLU Model has been trained and published, as long as the NLU Model is not further trained and published, it will continue to use the version of the NLU Service that it was trained/published on, irrespective of the instance version or whether the instance has been upgraded since the NLU Model training. For example, if the NLU Model was trained and published in Quebec and then the instance is upgraded to Rome, the NLU Model will continue to use the Quebec NLU Service until you train/publish the NLU Model in the Rome instance and only then will it start using the Rome NLU Service for your NLU Model. However, if you need to continue to make updates to the NLU Model on a Rome instance that is still using the Quebec NLU Service and you are not ready to move to the new Rome NLU Service, you will need to set the system property [glide.mlpredictor.option.nlu.authoringModel.version.override] for each NLU Model to override the NLU Service version and set it to Quebec until such time when you are ready to move to Rome, as documented in KB0858445. First, you would need to update this system property and set it to Rome and then train/publish the NLU Model to start using the new Rome NLU Service. Using this method will require the maintenance of this system property across all your instances. Otherwise, without this system property, when you train the NLU Model, it will use the same NLU Service version, as the instance version. For example, if your instance is on Rome, when you train/publish the NLU Model, it will use the Rome NLU Service.InstructionsTo prepare the NLU Model for the new version of the NLU Service, you should test your NLU Models in a SubPROD instance first using the following steps - Note: If using the NLU Version override system property [glide.mlpredictor.option.nlu.authoringModel.version.override], please update it before you train your NLU Models with the newer version of the NLU Service. 1. Clone PROD to a SubPROD - A known issue with transferring attachments for ML Solutions has now been fixed and KB0861056 has been updated to reflect that.2. On SubPROD, take a baseline of the NLU Model performance using the existing version of the NLU Service, either through manual testing of each NLU Model in the NLU Workbench and documenting the results in an Excel spreadsheet for comparison. This testing process can also be automated using NLU Batch Testing.3. Upgrade the SubPROD instance to a newer version of Glide.4. After the upgrade has successfully completed, sync all the Vocabulary Sources linked to your NLU Models and then train all of the NLU Models so that they are using the newer version of the NLU Service.5. Do the same NLU Model performance tests performed in Step 2 and compare it to your baseline tests that were made in Step 2.6. Make any adjustments to the NLU Model where necessary and fine tune it until you get the expected NLU predictions outcomes using the newer version of the NLU Service.7. Do the same NLU Model performance tests performed in Step 5 and ensure the prediction outcomes are as expected and make this test the baseline for the newer version of the NLU Service.8. Capture the changes in an Update Set or a new Application version if using a local repository to transfer the NLU Models to any instance.9. Test the NLU Model changes on another SubPROD, by upgrading the instance to a new version, apply and commit the changes made to the NLU Model in Step 6, then train and publish the NLU Model.10. Do the same NLU Model performance tests performed in Step 7 and ensure they match the baseline tests made in Step 7 for the newer version of the NLU Service. You will now be ready to transfer the NLU Model that you have tested and fine tuned if required to a PROD instance, to start using with the new version of the NLU Service. Please note: NLU is a service and Virtual Agent is the application using this service. Therefore, you will also need to do the same tests in Virtual Agent when you upgrade the instance to a newer version.Related LinksTo determine the NLU Model version used to train your NLU Models, please review KB0862438: [NLU] How to determine the version of the NLU Platform used to train your NLU Model. Please review our documentation NLU Service Updates, to see the latest updates we have made to the NLU Service on the back-end.