MLOps : Définition et Intérêt du Machine Learning Operations

MLOps. En voilà un acronyme effrayant. Pourtant, quand on le comprend, le MLOps a tout pour plaire. Car le Machine Learning Operations (MLOps ou ML Ops) est un ensemble de pratiques vous permettant de gérer l’IA avec succès. L’idée est d’être dans un processus continu d’apprentissage aux côtés de nos amis les robots et autres machines. Explications.

MLOps - Machine Learning Operations

Découvrez ce qui se cache derrière l’acronyme MLOps

Qu’est-ce que le MLOps ?

MLOps est l’acronyme de Machine Learning Operations. La définition de MLOps en fait un ensemble de pratiques et d’outils qui relèvent du domaine de l’IA (l’Intelligence Artificielle). Si on décompose l’acronyme, on obtient :

  • ML pour Machine Learning
  • Ops pour Operations

Comment dit-on MLOps en français ?

Machine Learning Operations peut se traduire en français par “opérations d’apprentissage automatique” ou encore par “opérations d’apprentissage des machines”. Alors oui, les traductions françaises de MLOps sont peu reluisantes (c’est le moins qu’on puisse dire !). Elles ne sont donc quasiment jamais utilisées.

On note toutefois l’idée que c’est l’étude de l’IA (les “machines”) qui compte. La faculté d’auto-apprentissage se trouve bel et bien au cœur de la notion de MLOps.

Machine Learning Operations : comment ça fonctionne ?

Voyez le MLOps comme l’adaptation des méthodologies agiles au monde de la donnée, du Big Data. Pour rappel, les méthodes agiles visent à injecter de la réactivité dans les processus d’une entreprise en capitalisant sur ce qu’on apprend au jour le jour. Ainsi, un produit peut se voir ajouter une nouvelle fonctionnalité avant même sa sortie si on a su identifier à temps le besoin auquel il répond.

Pour revenir au Machine Learning Operations, il s’agit d’un domaine assez nouveau. Car l’utilisation de l’IA est elle-même plutôt récente (une petite dizaine d’années maintenant). Aujourd’hui, l’intelligence artificielle est partout dans notre quotidien, même si on ne la voit pas directement : algorithmes de Google, bots des Centres de Contacts, logiciels de traduction, machines de calcul des risques financiers, CRM

Sans rentrer ici dans des considérations techniques propres à la Data Science, le MLOps sert à exploiter pleinement le « machine learning ». C’est-à-dire la capacité de l’IA à apprendre sans cesse, à l’image de l’intelligence humaine. Les robots, bots et autres machines sont ici considérés comme des outils qui évoluent en permanence afin de prendre en compte toujours plus d’éléments d’information (la data).

Nous vous simplifions les étapes d’un processus de Machine Learning Operations :

  • Création : préparation des modèles à utiliser pour collecter, traiter et tester les données à exploiter.
  • Déploiement : intégration des modèles MLOps à des systèmes et applications de production.
  • Surveillance : dès que les données évoluent, les modèles sont ajustés afin d’exploiter pleinement la data (le robot “apprend” et “évolue”).

MLOps et DevOps

Vous avez remarqué que MLOps fait penser au mot DevOps ? C’est normal. Machine Learning Operations s’inspire très clairement de cette discipline moderne qui consiste à créer, déployer et exécuter efficacement des applications d’entreprise.

Le DevOps a été créé il y a plus de 10 ans pour faciliter la collaboration entre les développeurs de logiciels (les “Devs”) et les équipes d’exploitation sur le terrain (les “Ops”). Depuis, le métier de DevOps a clairement le vent en poupe. L’objectif des DevOps et du MLOps est le même : faire un trait d’union entre les technologies, les processus et les utilisateurs finaux.

Quels sont les bénéfices du MLOps ?

Les outils et pratiques de Machine Learning Operations servent avant tout à augmenter la productivité de l’entreprise. Voici comment : en rendant exploitables un maximum de projets grâce à la data. En effet, le MLOps permet d’optimiser chaque mise en production, en facilitant la transition entre le mode concept et le projet réel. Il surveille et actualise en continu le procédé à suivre en fonction des nouvelles données. On parle de stratégie “data-driven”.

Concrètement, le MLOps consiste à utiliser des logiciels toujours plus puissants pour traiter efficacement les données. Ces outils doivent répondre à un processus transversal et itératif afin de traiter sans cesse de nouvelles informations et de faire évoluer les conclusions. En tant qu’outil de pointe au service des données clients, la Customer Data Platform en est un parfait exemple.

Plus qu’une technologie particulière, le MLOps est surtout une culture à développer. Une culture qui capitalise sur la faculté d’apprendre et d’évoluer des robots pour nous aider à utiliser au mieux les informations qui nous entourent. Autrement dit, le Machine Learning Operations nous rappelle l’importance de bien exploiter la Data et de ne jamais nous reposer sur nos lauriers. Il y a toujours moyen d’améliorer, d’affiner et de remettre en question nos connaissances. Surtout lorsqu’il s’agit des connaissances clients !

Partager :
Créateur de l’agence CustUp, Antoine Coubray vous partage ses connaissances des nombreux acronymes du MarTech (association entre Marketing et Technologies).

Créateur de l’agence CustUp, Antoine Coubray vous partage ses connaissances des nombreux acronymes du MarTech (association entre Marketing et Technologies). Le but : vous aider à les comprendre et à les utiliser.

[custup_nom_silo]
[custup_form_optinmonster]
[custup_form_optinmonster]
[custup_form_blog_inline_optinmonster]
<script type="text/javascript"> jQuery(document).ready(function( $ ) { var dj_envoyer_inscription = true; jQuery(document).delegate( '#dj_envoyer_inscription-GFaCI', 'click', function(){ if(dj_envoyer_inscription){ dj_envoyer_inscription = false; var email = jQuery('#dj_form_optinmonster-GFaCI input[name="email"]').val(); var data = new FormData(); data.append( "action", "inscription_mailchimp"); data.append( "email", email); var recaptcha_response = ""; grecaptcha.ready(function () { grecaptcha.execute('6Lc5kLoUAAAAAD3ltaKWkySZa3ss4UzqzFYmCBxn', { action: 'inscription_mailchimp' }).then(function (token) { data.append( "recaptcha_response", token); jQuery("#dj_form_optinmonster-GFaCI .panel").css('display', 'none'); jQuery("#dj_form_optinmonster-GFaCI .panel-primary").css('display', 'block'); jQuery("#dj_form_optinmonster-GFaCI .panel-primary span").html( site.message_030 ); $.ajax({ url: site.ajax_url, type: 'post', dataType: 'JSON', processData: false, contentType: false, cache: false, data: data, success: function(result) { if(result.alerte){ jQuery("#dj_form_optinmonster-GFaCI .panel").css('display', 'none'); jQuery("#dj_form_optinmonster-GFaCI .panel-danger span").html(result.alerte); jQuery("#dj_form_optinmonster-GFaCI .panel-danger").css('display', 'block'); }else if(result.message){ jQuery("#dj_form_optinmonster-GFaCI .panel").css('display', 'none'); jQuery("#dj_form_optinmonster-GFaCI .panel-success span").html(result.message); jQuery("#dj_form_optinmonster-GFaCI .panel-success").css('display', 'block'); } if(result.status){ dataLayer.push({ "event": "gaEvent", "eventCategory": "Blog-Inline", "eventAction": "clic", "eventLabel": "https://www.custup.com/mlops-machine-learning-operations-definition/", "eventValue": "", "eventNoninteraction": "true" }); } dj_envoyer_inscription = true; }, error: function(errorThrown){ dj_envoyer_inscription = true; } }); }); }); } return false; }); }); </script> <div id="dj_form_optinmonster-GFaCI" class="form_inline"> <div class="form-group col-md-12 col-sm-12 col-xs-12 no-padding m-5"> <div class="panel panel-primary m-0" style="display:none;"> <div class="panel-heading"> <span class="m-5"></span> </div> </div> <div class="panel panel-success m-0" style="display:none;"> <div class="panel-heading"> <span class="m-5"></span> </div> </div> <div class="panel panel-danger m-0" style="display:none;"> <div class="panel-heading"> <span class="m-5"></span> </div> </div> </div> <div class="col-md-7 col-sm-12 col-xs-12 no-padding form-group"> <input class="form-control form-inline" type="text" id="dj_email" name="email" placeholder="E-mail" /> </div> <div class="col-md-5 col-sm-12 col-xs-12 no-padding form-group envoyer text-center "> <button id="dj_envoyer_inscription-GFaCI" class="dj_envoyer_inscription" type="submit">Je m'abonne !</button> </div> </div>
[le Nom du Silo]
[le Nom du Silo]
[custup_icon]
<img src="https://www.custup.com/wp-content/themes/custup/public/img/icon.png" alt="Merci pour votre visite" class="skip-lazy" width="28" height="27"/>
[custup_form_exit]
<script type="text/javascript"> jQuery(document).ready(function( $ ) { var dj_envoyer_inscription = true; var email = ""; jQuery(document).delegate( '#emailJcXwR', 'change', function(){ email = jQuery(this).val(); }); jQuery(document).delegate( '#dj_envoyer_inscription-exit-JcXwR', 'click', function(){ if(dj_envoyer_inscription){ dj_envoyer_inscription = false; var data = new FormData(); data.append( "action", "inscription_mailchimp"); data.append( "email", email); data.append( "exit", 1 ); var recaptcha_response = ""; grecaptcha.ready(function () { grecaptcha.execute('6Lc5kLoUAAAAAD3ltaKWkySZa3ss4UzqzFYmCBxn', { action: 'inscription_mailchimp' }).then(function (token) { data.append( "recaptcha_response", token); jQuery("#dj_form_optinmonster-exit-JcXwR .panel").css('display', 'none'); jQuery("#dj_form_optinmonster-exit-JcXwR .panel-primary").css('display', 'block'); jQuery("#dj_form_optinmonster-exit-JcXwR .panel-primary span").html( site.message_030 ); $.ajax({ url: site.ajax_url, type: 'post', dataType: 'JSON', processData: false, contentType: false, cache: false, data: data, success: function(result) { if(result.alerte){ jQuery("#dj_form_optinmonster-exit-JcXwR .panel").css('display', 'none'); jQuery("#dj_form_optinmonster-exit-JcXwR .panel-danger span").html(result.alerte); jQuery("#dj_form_optinmonster-exit-JcXwR .panel-danger").css('display', 'block'); }else if(result.message){ jQuery("#dj_form_optinmonster-exit-JcXwR .panel").css('display', 'none'); jQuery("#dj_form_optinmonster-exit-JcXwR .panel-success span").html(result.message); jQuery("#dj_form_optinmonster-exit-JcXwR .panel-success").css('display', 'block'); } if(result.status){ dataLayer.push({ "event": "gaEvent", "eventCategory": "Exit", "eventAction": "clic", "eventLabel": "https://www.custup.com/mlops-machine-learning-operations-definition/", "eventValue": "", "eventNoninteraction": "true" }); } dj_envoyer_inscription = true; }, error: function(errorThrown){ dj_envoyer_inscription = true; } }); }); }); } return false; }); }); </script> <div id="dj_form_optinmonster-exit-JcXwR" class="form_inline popin-exit"> <div class="form-group col-md-12 col-sm-12 col-xs-12 no-padding m-5"> <div class="panel panel-primary m-0" style="display:none;"> <div class="panel-heading"> <span class="m-5"></span> </div> </div> <div class="panel panel-success m-0" style="display:none;"> <div class="panel-heading"> <span class="m-5"></span> </div> </div> <div class="panel panel-danger m-0" style="display:none;"> <div class="panel-heading"> <span class="m-5"></span> </div> </div> </div> <div class="col-md-12 col-sm-12 col-xs-12 no-padding form-group"> <input class="form-control" type="text" id="emailJcXwR" name="email" placeholder="E-mail" /> </div> <div class="col-md-12 col-sm-12 col-xs-12 no-padding form-group envoyer text-center "> <button id="dj_envoyer_inscription-exit-JcXwR" class="dj_envoyer_inscription" type="submit">S'inscrire !</button> </div> </div>
[custup_scroll_nom_silo]
[custup_form_silo_scroll_optinmonster]
<script type="text/javascript"> var email = ""; jQuery(document).ready(function( $ ) { var dj_envoyer_inscription = true; jQuery(document).delegate( '#emailwtHJY', 'change', function(){ email = jQuery(this).val(); }); jQuery(document).delegate( '#dj_envoyer_inscription-wtHJY', 'click', function(e){ if(dj_envoyer_inscription){ dj_envoyer_inscription = false; var data = new FormData(); data.append( "action", "inscription_mailchimp"); data.append( "email", email); data.append( "id_article", 23183); var recaptcha_response = ""; grecaptcha.ready(function () { grecaptcha.execute('6Lc5kLoUAAAAAD3ltaKWkySZa3ss4UzqzFYmCBxn', { action: 'inscription_mailchimp' }).then(function (token) { data.append( "recaptcha_response", token); jQuery("#dj_form_optinmonster-wtHJY .panel").css('display', 'none'); jQuery("#dj_form_optinmonster-wtHJY .panel-primary").css('display', 'block'); jQuery("#dj_form_optinmonster-wtHJY .panel-primary span").html( site.message_030 ); $.ajax({ url: site.ajax_url, type: 'post', dataType: 'JSON', processData: false, contentType: false, cache: false, data: data, success: function(result) { if(result.alerte){ jQuery("#dj_form_optinmonster-wtHJY .panel").css('display', 'none'); jQuery("#dj_form_optinmonster-wtHJY .panel-danger span").html(result.alerte); jQuery("#dj_form_optinmonster-wtHJY .panel-danger").css('display', 'block'); }else if(result.message){ jQuery("#dj_form_optinmonster-wtHJY .panel").css('display', 'none'); jQuery("#dj_form_optinmonster-wtHJY .panel-success span").html(result.message); jQuery("#dj_form_optinmonster-wtHJY .panel-success").css('display', 'block'); } if(result.status){ dataLayer.push({ "event": "gaEvent", "eventCategory": "Silo-XXX-Scroll", "eventAction": "clic", "eventLabel": "https://www.custup.com/mlops-machine-learning-operations-definition/", "eventValue": "", "eventNoninteraction": "true" }); } dj_envoyer_inscription = true; }, error: function(errorThrown){ dj_envoyer_inscription = true; } }); }); }); } return false; }); }); </script> <div id="dj_form_optinmonster-wtHJY"> <form> <div class="form-group col-md-12 col-sm-12 col-xs-12 no-padding m-5"> <div class="panel panel-primary m-0" style="display:none;"> <div class="panel-heading"> <span class="m-5"></span> </div> </div> <div class="panel panel-success m-0" style="display:none;"> <div class="panel-heading"> <span class="m-5"></span> </div> </div> <div class="panel panel-danger m-0" style="display:none;"> <div class="panel-heading"> <span class="m-5"></span> </div> </div> </div> <div class="col-md-12 col-sm-12 col-xs-12 no-padding form-group"> <input class="form-control" type="text" id="emailwtHJY" name="email" placeholder="E-mail" /> </div> <div class="col-md-12 col-sm-12 col-xs-12 no-padding form-group envoyer text-center "> <button id="dj_envoyer_inscription-wtHJY" class="dj_envoyer_inscription" value="xx" type="submit">S'inscrire</button> </div> </form> </div>
[custup_count_abonnes_liste_mailchimp]
4223
[custup_form_horizontal_optinmonster]
<script type="text/javascript"> var email = ""; jQuery(document).ready(function( $ ) { var dj_envoyer_inscription = true; jQuery(document).delegate( '#emailllUrS', 'change', function(){ email = jQuery(this).val(); }); jQuery(document).delegate( '#dj_envoyer_inscription-llUrS', 'click', function(){ if(dj_envoyer_inscription){ dj_envoyer_inscription = false; var data = new FormData(); data.append( "action", "inscription_mailchimp"); data.append( "email", email); grecaptcha.ready(function () { grecaptcha.execute('6Lc5kLoUAAAAAD3ltaKWkySZa3ss4UzqzFYmCBxn', { action: 'inscription_mailchimp' }).then(function (token) { data.append( "recaptcha_response", token); jQuery("#dj_form_horizontal_optinmonster-llUrS .panel").css('display', 'none'); jQuery("#dj_form_horizontal_optinmonster-llUrS .panel-primary").css('display', 'block'); jQuery("#dj_form_horizontal_optinmonster-llUrS .panel-primary span").html( site.message_030 ); $.ajax({ url: site.ajax_url, type: 'post', dataType: 'JSON', processData: false, contentType: false, cache: false, data: data, success: function(result) { if(result.alerte){ jQuery("#dj_form_horizontal_optinmonster-llUrS .panel").css('display', 'none'); jQuery("#dj_form_horizontal_optinmonster-llUrS .panel-danger span").html(result.alerte); jQuery("#dj_form_horizontal_optinmonster-llUrS .panel-danger").css('display', 'block'); }else if(result.message){ jQuery("#dj_form_horizontal_optinmonster-llUrS .panel").css('display', 'none'); jQuery("#dj_form_horizontal_optinmonster-llUrS .panel-success span").html(result.message); jQuery("#dj_form_horizontal_optinmonster-llUrS .panel-success").css('display', 'block'); } if(result.status){ dataLayer.push({ "event": "gaEvent", "eventCategory": "Blog-Floating-Bar", "eventAction": "clic", "eventLabel": "https://www.custup.com/mlops-machine-learning-operations-definition/", "eventValue": "", "eventNoninteraction": "true" }); } dj_envoyer_inscription = true; }, error: function(errorThrown){ dj_envoyer_inscription = true; } }); }); }); } return false; }); }); </script> <div id="dj_form_horizontal_optinmonster-llUrS" class="dj_form_horizontal_optinmonster"> <input type="hidden" name="recaptcha_response" value=""> <div class="col-md-12 col-sm-12 col-xs-12 no-padding form-group dj_email_content"> <input class="form-control" type="text" id="emailllUrS" name="email" placeholder="E-mail" /> </div> <div class="col-md-12 col-sm-12 col-xs-12 no-padding form-group text-center dj_email_envoyer"> <button id="dj_envoyer_inscription-llUrS" class="dj_envoyer_inscription" type="submit">Valider</button> </div> <div class="form-group col-md-12 col-sm-12 col-xs-12 no-padding m-5"> <div class="panel panel-primary m-0" style="display:none;"> <div class="panel-heading"> <span class="m-5"></span> </div> </div> <div class="panel panel-success m-0" style="display:none;"> <div class="panel-heading"> <span class="m-5"></span> </div> </div> <div class="panel panel-danger m-0" style="display:none;"> <div class="panel-heading"> <span class="m-5"></span> </div> </div> </div> </div>