Answers.Body: <p>Using a machine learning or AI-powered model once it has been built and tested, is not <em>directly</em> an AI issue, it is just a development issue. As such, you won't find many machine learning tutorials that focus on this part of the work. But they do exist.</p>
  
  <p>In essence it is the same as integrating any other function, which might be in a third-party library:</p>
  
  <ul>
  <li><p>Package the new function so that it can be called from your production system (this may be the hardest part)</p></li>
  <li><p>Decide where in the code of your production system to call the new function. In your example case maybe after form is completed describing an incident you could link the top recommended KB articles from the new ticket.</p></li>
  <li><p>Design and check the associated user experience/UI as appropriate for your development team (in small projects you may skip this step and just implement)</p></li>
  <li><p>Change your production code to call the packaged function. In any professional development team, this part will have multiple stages, but not really relevant to the question - if you are the ML specialist and delivering your new model to an existing team, you need to talk to them about both the packaging part and the steps involved here.</p></li>
  </ul>
  
  <p>Often, machine learning models come with a whole bunch of dependencies that the rest of a system does not have. There are a variety of solutions for that, depending on the libraries that you are using, whether you are using a cloud PaaS service etc. You could just build a Docker image to hold all the AI parts and call it passing the input data.</p>
  
  <p>Deploying ML models to production as a job is often a task for Machine Learning Engineer roles. There are courses and articles covering the practical aspects of these steps, if you search for them. Here are a couple:</p>
  
  <ul>
  <li><p><a href="https://www.coursera.org/learn/deploying-machine-learning-models" rel="nofollow noreferrer">Deploying Machine Learning Models</a> from Coursera</p></li>
  <li><p>A blog article on Medium: <a href="https://towardsdatascience.com/there-are-two-very-different-ways-to-deploy-ml-models-heres-both-ce2e97c7b9b1" rel="nofollow noreferrer">There are two very different ways to deploy ML models . . .</a></p></li>
  </ul>
  
  <p>I have no affiliation with any of the above, have not read articles or taken the courses, and am not able to make any recommendation, even if you told me the technologies you were using for ML and in production currently.</p>
  
  <h3>After deploying to production . . .</h3>
  
  <p>Your work is not necessarily done. You will want to monitor behaviour of the system. During integration, you should of added logging, or some way to get feedback of performance in the wild.</p>
  
  <p>For instance, if this is an ML system, does the accuracy seen in testing hold up against real life? Is the target population drifting? If the system makes interventions - by e.g. suggesting links, or showing categories to end users - how well are those working in practice? Is the performance and responsiveness of the system fast enough when the service is under load?</p>
  
  <p>If it is more reactive AI system, that takes actions itself, you will similarly want to monitor what it is supposed to optimise, or sample its output for errors and quality control.</p>
  
  <p>All this feedback can go back into a new iteration of design and integration. How to incorporate that will depend a lot on the nature of the system and what you discover, so could be the subject of further questions.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-05-14T17:45:58.247Z
Answers.LastActivityDate: 2019-05-15T07:06:18.737Z
Answers.LastEditDate: 2019-05-15T07:06:18.737Z
Answers.UserDisplayName: Neil Slater
Body: <p>I understand the way we build and train a model, but all of the online courses I've found end with this. I can't find any course explaining the process of utilizing the trained model to address the problem.</p>
  <p>Is there any course out there that explains the whole process from data collection, model building, and utilizing the model to solve the real-world problems?</p>
  
Tags: <machine-learning><applications><models><ai-development>
Title: After a model has been trained, how do I use it to address the real-world problems?
UserDisplayName: Karthikeyan Vijayakumar
ThreadText: # After a model has been trained, how do I use it to address the real-world problems?
  
  (Asked by: username_0 on 2019-05-14)
  
  I understand the way we build and train a model, but all of the online courses I've found end with this. I can't find any course explaining the process of utilizing the trained model to address the problem.
  
  Is there any course out there that explains the whole process from data collection, model building, and utilizing the model to solve the real-world problems?
  
  **Tags:** machine-learning, applications, models, ai-development
  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_1 on 2019-05-14. Score: 6
  
  Using a machine learning or AI-powered model once it has been built and tested, is not *directly* an AI issue, it is just a development issue. As such, you won't find many machine learning tutorials that focus on this part of the work. But they do exist.
  
  In essence it is the same as integrating any other function, which might be in a third-party library:
  
  * Package the new function so that it can be called from your production system (this may be the hardest part)
  * Decide where in the code of your production system to call the new function. In your example case maybe after form is completed describing an incident you could link the top recommended KB articles from the new ticket.
  * Design and check the associated user experience/UI as appropriate for your development team (in small projects you may skip this step and just implement)
  * Change your production code to call the packaged function. In any professional development team, this part will have multiple stages, but not really relevant to the question - if you are the ML specialist and delivering your new model to an existing team, you need to talk to them about both the packaging part and the steps involved here.
  
  Often, machine learning models come with a whole bunch of dependencies that the rest of a system does not have. There are a variety of solutions for that, depending on the libraries that you are using, whether you are using a cloud PaaS service etc. You could just build a Docker image to hold all the AI parts and call it passing the input data.
  
  Deploying ML models to production as a job is often a task for Machine Learning Engineer roles. There are courses and articles covering the practical aspects of these steps, if you search for them. Here are a couple:
  
  * [Deploying Machine Learning Models](https://www.coursera.org/learn/deploying-machine-learning-models) from Coursera
  * A blog article on Medium: [There are two very different ways to deploy ML models . . .](https://towardsdatascience.com/there-are-two-very-different-ways-to-deploy-ml-models-heres-both-ce2e97c7b9b1)
  
  I have no affiliation with any of the above, have not read articles or taken the courses, and am not able to make any recommendation, even if you told me the technologies you were using for ML and in production currently.
  
  ### After deploying to production . . .
  
  Your work is not necessarily done. You will want to monitor behaviour of the system. During integration, you should of added logging, or some way to get feedback of performance in the wild.
  
  For instance, if this is an ML system, does the accuracy seen in testing hold up against real life? Is the target population drifting? If the system makes interventions - by e.g. suggesting links, or showing categories to end users - how well are those working in practice? Is the performance and responsiveness of the system fast enough when the service is under load?
  
  If it is more reactive AI system, that takes actions itself, you will similarly want to monitor what it is supposed to optimise, or sample its output for errors and quality control.
  
  All this feedback can go back into a new iteration of design and integration. How to incorporate that will depend a lot on the nature of the system and what you discover, so could be the subject of further questions.
  
  
  ---
  
  