Qu’est-ce que l’apprentissage automatique en temps réel ?

Topics MLOps Real-Time Machine Learning

Définition

L’apprentissage automatique en temps réel (en anglais, real-time machine learning) est la capacité des systèmes d’apprentissage automatique à faire des prédictions et à s’adapter instantanément aux nouvelles données.

Introduction

À l’ère du numérique, les consommateurs attendent de plus en plus des expériences personnalisées, des réponses immédiates et une grande pertinence dans leurs interactions avec les entreprises. Dans cet article, nous verrons pourquoi les méthodes traditionnelles d’apprentissage automatique par lots (batch ML), qui traitent les données à intervalles réguliers, ne répondent souvent pas à ces attentes. Le real time machine learning apparaît comme une solution, offrant des prédictions instantanées et la capacité de s’adapter à la volée.

Cet article explore les limites des prédictions par lots (batch predictions), les avantages du ML en temps réel et fournit des informations utiles pour les organisations qui souhaitent passer à l’étape supérieure.

Qu’est-ce que l’apprentissage automatique en temps réel ?

L’apprentissage automatique en temps réel (en anglais, real-time machine learning) est la capacité des systèmes d’apprentissage automatique à faire des prédictions et à s’adapter instantanément aux nouvelles données. Cette adaptabilité en temps réel offre un nouveau niveau d’interaction et de valeur potentielle aux consommateurs. Cependant, la réalisation du ML en temps réel nécessite une infrastructure robuste et une pile technologique spécifique. Selon KDnuggets, il existe deux niveaux principaux d’apprentissage automatique en temps réel :

Niveau 1 : Prédictions en ligne

À ce niveau, le système de ML peut faire des prédictions en temps réel, le terme « temps réel » signifiant généralement des réponses en l’espace de quelques millisecondes ou secondes.

Exemple : Systèmes de recommandation

Moteurs de recherche : Les prédictions en temps réel peuvent affiner les résultats de recherche en fonction de l’activité de la session en cours de l’utilisateur, offrant ainsi des résultats plus pertinents que les prédictions par lots.

E-commerce : Pour des plateformes comme Amazon, les prédictions en temps réel peuvent suggérer des produits en fonction des habitudes de navigation de l’utilisateur, augmentant ainsi la probabilité d’un achat.

Plateformes de divertissement : Des plateformes comme Spotify peuvent proposer des recommandations de chansons basées sur la session d’écoute en cours, en adaptant l’expérience à l’humeur du moment de l’utilisateur.

Niveau 2 : Apprentissage en ligne (apprentissage continu)

Dans cette phase, le système ne se contente pas de faire des prédictions en temps réel, il met également à jour son modèle avec de nouvelles données en temps réel. Ici, le terme « temps réel » est défini comme des réponses en quelques minutes.

Exemple : Systèmes de recommandation dynamiques

Plateformes de réseaux sociaux : Des plateformes comme Instagram peuvent adapter leurs recommandations de contenu en fonction des interactions en temps réel de l’utilisateur, ce qui garantit un fil d’actualité toujours attrayant.

E-commerce : Pour les événements tels que les ventes flash, les plateformes peuvent ajuster les recommandations de produits en fonction de l’inventaire en temps réel et de la demande des utilisateurs, optimisant ainsi l’expérience d’achat.

Plateformes d’information : L’apprentissage en temps réel permet à des plateformes comme la BBC de s’adapter aux nouvelles de dernière minute, en veillant à ce que les utilisateurs soient toujours informés des titres les plus récents et les plus pertinents.

Dans cet article, nous nous concentrerons sur la première phase, qui consiste à passer des prédictions par lots (hors ligne) aux prédictions en temps réel (en ligne) dans vos modèles de ML.

Défis liés aux prédictions par lots

Alors que les prédictions de Machine Learning (ML) par lots, également connues sous le nom de prédictions hors ligne, ont été l’approche traditionnelle pour de nombreuses organisations, elles présentent des limites inhérentes qui pourraient les rendre moins adaptées à l’environnement dynamique et rapide d’aujourd’hui. Examinons ces limites et comprenons pourquoi on s’oriente de plus en plus vers les prédictions en ligne :

Retard dans la prise de décision

Les prédictions par lot traitent les données à intervalles réguliers, ce qui signifie que les décisions basées sur ces prédictions ne peuvent être prises qu’après le traitement de l’ensemble du lot.

Cas d’utilisation : Prenons l’exemple d’une institution financière qui évalue le risque de crédit. Avec les prédictions par lots, un client pourrait devoir attendre des heures, voire des jours, pour obtenir un prêt, alors que les prédictions en temps réel permettraient de prendre des décisions instantanées.

Données périmées

Au moment où les prédictions par lots sont terminées, les données peuvent ne plus refléter le scénario actuel, ce qui conduit à des décisions basées sur des informations obsolètes.

Cas d’utilisation : Dans le domaine des opérations boursières, les prédictions par lots peuvent donner des indications sur des cours qui ont déjà changé, ce qui peut conduire à des occasions manquées ou à des pertes financières.

Incapacité à réagir aux événements immédiats

Les prédictions par lots ne peuvent pas répondre immédiatement à des changements ou des événements soudains, ce qui les rend moins adaptées aux situations qui exigent des réactions rapides.

Cas d’utilisation : Dans le domaine du e-commerce, si un produit en vogue gagne soudainement du terrain sur les réseaux sociaux, les prédictions par lots risquent de ne pas saisir cette tendance assez rapidement, ce qui se traduira par des opportunités de vente manquées.

Manque de personnalisation

À l’ère du numérique, les utilisateurs s’attendent à des expériences personnalisées. Les prédictions par lots, en raison de leur retard inhérent, peuvent ne pas tenir compte des interactions les plus récentes avec l’utilisateur, ce qui conduit à des recommandations moins adaptées.

Cas d’utilisation : Pour les plateformes de streaming en ligne, les prédictions par lots peuvent recommander des émissions basées sur l’historique de visionnage de l’utilisateur depuis plusieurs jours, sans tenir compte de ses préférences les plus récentes.

Inefficacités opérationnelles

Attendre que les prédictions BbBatch soient terminées peut entraîner des goulots d’étranglement opérationnels, notamment dans les secteurs où les décisions rapides sont essentielles.

Cas d’utilisation : Dans la gestion de la chaîne d’approvisionnement, les prédictions par lots peuvent retarder les décisions de réapprovisionnement des stocks, ce qui peut entraîner des ruptures de stock ou des situations de surstockage.

Migration de vos modèles d’apprentissage automatique du mode batch au mode temps réel

1. Comprendre les besoins de l’entreprise en matière d’inférence en temps réel

Déterminer la valeur commerciale : Avant d’aborder les aspects techniques, il convient de discerner les avantages commerciaux tangibles de l’inférence en temps réel. Votre application tire-t-elle profit de prédictions en temps réel, ou des informations à intervalles réguliers suffisent-elles ?

Identifier des cas d’utilisation spécifiques : Tous les modèles ML ne nécessitent pas une inférence en temps réel. Identifier les scénarios dans lesquels les prédictions instantanées peuvent changer la donne, comme la détection des fraudes ou les recommandations instantanées.

2. Optimisez votre modèle pour des prédictions rapides :

Simplifier le modèle : Les modèles complexes comportant de nombreuses couches ou paramètres peuvent entraîner des délais. Explorer des méthodes telles que la distillation de modèles (model distillation) ou l’élagage (model pruning) pour maintenir une précision élevée tout en réduisant les besoins de calcul.

Adopter des algorithmes rapides : Certains algorithmes offrent intrinsèquement des résultats plus rapides. Selon le scénario, des modèles plus simples, comme les arbres de décision, peuvent être plus rapides que les réseaux neuronaux profonds.

3. Incorporer des cadres de traitement des flux (Stream Processing Frameworks) :

Sélectionnez le framework idéal : Des plateformes comme Apache Kafka et Apache Flink excellent dans le traitement des données en temps réel et peuvent être intégrées de manière transparente aux modèles ML pour une inférence en temps réel.

Tirer parti du traitement parallèle (Parallel Processing) : Ces outils prennent en charge le traitement simultané, améliorant ainsi la vitesse de traitement des données en temps réel. Assurez-vous que votre modèle est conçu pour gérer efficacement les requêtes simultanées.

4. Garantir la qualité des données pour l’inférence :

Prétraitement des données à la volée : Contrairement aux modèles par lots, l’inférence en temps réel nécessite un nettoyage (data cleaning) et un prétraitement (data preprocessing) immédiats des données. Il s’agit de concevoir des pipelines efficaces pour maintenir la qualité des données sans délai.

Élaborer des stratégies en cas de données incomplètes : Les données en temps réel peuvent parfois être erratiques. Équipez votre modèle de manière à ce qu’il puisse traiter les données manquantes ou partielles, par le biais de valeurs par défaut ou de techniques d’imputation.

5. Contrôler les performances du modèle sans relâche :

Surveillez la latence : Dans les prévisions en temps réel, même de petits décalages peuvent affecter l’expérience de l’utilisateur ou les processus d’entreprise. Il est essentiel de vérifier que le système respecte en permanence les besoin en vitesse.

Contrôlez le débit : Pour les applications qui traitent de nombreuses requêtes simultanées, il est essentiel de maintenir un débit élevé. Cela permet au système de gérer un trafic élevé sans baisse de performance.

Détection de la dérive de données : Avec les systèmes en temps réel, les données peuvent changer rapidement. Des contrôles réguliers permettent de repérer ces changements et d’y remédier rapidement, ce qui permet au modèle de rester en phase avec ses objectifs.

Taux d’erreur de suivi : Une augmentation soudaine du nombre d’erreurs peut signaler des problèmes avec le modèle ou les données. Une détection et une réparation rapides sont essentielles.

Utilisation des ressources : Les exigences imposées aux systèmes en temps réel peuvent varier. Il est essentiel de surveiller les ressources informatiques afin d’éviter d’éventuels ralentissements du système.

Mettre en place des alertes : En raison de la nature en temps réel de ces systèmes, il est essentiel de réagir rapidement aux problèmes. Des notifications automatisées garantissent que les problèmes sont traités sans délai.

Conclusion

La migration de l’apprentissage automatique par lots vers l’apprentissage automatique en temps réel est plus qu’un simple changement technologique ; il s’agit d’un changement stratégique qui peut redéfinir la façon dont les entreprises fonctionnent, prennent des décisions et s’engagent auprès de leurs consommateurs. Si l’aventure peut présenter des défis, qu’il s’agisse d’assurer la qualité des données ou de surveiller sans relâche les modèles, les bénéfices en termes d’efficacité opérationnelle, de prise de décision rapide et de personnalisation accrue sont indéniables. À l’aube de cette nouvelle ère du machine learning, les organisations qui adoptent les prédictions en temps réel seront sans aucun doute mieux positionnées pour exploiter tout le potentiel de l’intelligence artificielle, en restant à la pointe du progrès et en établissant de nouvelles normes pour l’industrie.

En savoir plus sur MLOps

Gestion des modèles ML avec JFrog

Gérez les modèles ML dans le cadre de votre chaîne d’approvisionnement logicielle sécurisée

Explorez JFrog ML

JFrog Artifactory

Une solution unique pour héberger et gérer tous vos artefacts, fichiers binaires, paquets, fichiers, conteneurs et composants.

Explorez JFrog Artifactory

JFrog Xray

Une solution universelle de scan de la composition des logiciels (SCA) qui offre un moyen efficace d’identifier les vulnérabilités de manière proactive.

En savoir plus

Release Fast Or Die