HBase
 sql >> Base de données >  >> NoSQL >> HBase

Comment déployer des modèles ML en production

Actuellement, de nombreuses entreprises, dont de nombreux clients Cloudera, expérimentent l'apprentissage automatique (ML) et créent des modèles pour relever un large éventail de défis. Alors qu'aujourd'hui, de nombreux modèles sont utilisés pour les tableaux de bord et à des fins de BI interne, un petit groupe de chefs d'entreprise en croissance rapide a commencé à réaliser le potentiel du ML pour l'automatisation, l'optimisation et l'innovation des produits. Dans cet article de blog, nous nous pencherons sur ce dernier point, en particulier sur la façon dont les secteurs d'activité réorientent leurs scientifiques des données pour travailler avec les ingénieurs d'application et d'autres parties prenantes pour résoudre les problèmes commerciaux en temps réel. Ces cas d'utilisation varient selon l'industrie et la criticité de l'entreprise et gagnent en ampleur et en profondeur à mesure que les entreprises apprennent tout ce qui peut être fait avec les données dont elles disposent.

Voici des exemples de cas d'utilisation :

  • Cerner, un leader de la santé, utilise les données des capteurs des patients pour identifier la septicémie à l'aide de modèles d'apprentissage automatique et informe de manière proactive les médecins afin qu'ils puissent diagnostiquer et traiter davantage dans les 6 heures que cette maladie est traitable
  • Services financiers les entreprises utilisent l'apprentissage automatique pour détecter les transactions frauduleuses en temps réel et utilisent les commentaires en temps réel des clients pour effectuer un apprentissage par renforcement 
  • Compagnies ferroviaires faire passer des trains de marchandises long-courriers dans des gares spéciales où ils prennent des milliers de photos haute résolution et appliquent l'apprentissage automatique pour identifier les pièces défaillantes. Ils programment ensuite le train pour qu'il arrive à un centre de réparation avec les pièces et les techniciens, ce qui fait que l'arrêt s'apparente à un arrêt au stand de formule 1
  • Utilitaires utilisent les données des compteurs intelligents pour identifier les problèmes potentiels du réseau de distribution électrique et planifier la maintenance de manière proactive
  • Sociétés médiatiques utilisez l'apprentissage automatique pour identifier et fournir du contenu pertinent en temps réel en fonction de ce que vous regardez
  • Entreprises de technologie publicitaire et de commerce électronique utilisent ces fonctionnalités depuis le plus longtemps pour garantir la pertinence de leurs offres auprès de divers publics cibles

Une fois qu'un problème est identifié et qu'une décision est prise d'investir dans une solution métier, les scientifiques des données étudieront les données à l'aide de divers outils ML pour créer les algorithmes et travailleront avec des ingénieurs logiciels pour créer des applications capables de tirer parti de ces algorithmes.

Selon leurs besoins, les données peuvent résider dans leur entrepôt de données ou dans leurs bases de données opérationnelles. De nombreux clients de Cloudera utiliseront Spark et SparkMLlib dans Cloudera Machine Learning (CML) pour former leurs algorithmes. L'utilisation de CML permet des flux de travail transparents pour opérationnaliser les modèles dans une plate-forme unique, sécurisée et gouvernée conçue pour des flux de travail ML plus rapides. Pour en savoir plus sur notre approche de développement des workflows de production dans CML, rejoignez ce webinaire.

Les algorithmes de formation peuvent être effectués dans la base de données opérationnelle 

L'une des principales raisons d'utiliser un entrepôt de données pour la formation des algorithmes est d'éviter d'ajouter de la charge à une base de données opérationnelle existante et d'avoir ainsi un impact sur les SLA de la charge de travail opérationnelle. Cependant, dans le cas de la base de données opérationnelle (OpDB) de Cloudera, les utilisateurs peuvent définir des quotas et des limites sur la quantité de ressources et la charge que les utilisateurs d'apprentissage automatique peuvent mettre sur le système. Cela protège les charges de travail opérationnelles tout en permettant aux scientifiques des données d'utiliser des données en temps réel sans encourir le coût de création d'une deuxième copie.

Lorsqu'ils utilisent OpDB de Cloudera, les clients utilisent souvent Spark pour interroger des données dans la base de données opérationnelle, éliminant ainsi le besoin de décharger les données avant de les explorer et de les utiliser pour la formation à des fins d'apprentissage automatique.

Les algorithmes de ML doivent répondre aux exigences de disponibilité, de résilience et de réactivité au niveau de l'application 

Le développement et la formation de l'algorithme basé sur ML se font généralement en conjonction avec le développement de l'application (en supposant que le fait que cela soit faisable a déjà été établi). Les exigences d'application typiques pour une base de données sous-jacente incluent souvent :

  • Temps de réponse inférieur à 1 ms
  • Disponibilité continue face aux pannes matérielles (ou haute disponibilité mais haute disponibilité moins appréciée)
  • Possibilité de scale-out
  • Haute simultanéité (1 000 s de requêtes/seconde)

Lors du déploiement de l'apprentissage automatique dans le cadre d'une application, les exigences de l'application en matière de disponibilité, de résilience et de réactivité doivent être respectées. De plus, plusieurs exigences supplémentaires spécifiques à l'apprentissage automatique sont imposées à l'application :

  • Capacité à auditer les décisions
  • Capacité à versionner des modèles/algorithmes
  • Capacité à prendre en charge l'augmentation des données pour l'apprentissage continu (selon l'algorithme déployé)

La base de données opérationnelle de Cloudera peut répondre aux deux ensembles d'exigences 

Afin de répondre à ces exigences, les clients aplatissent généralement la sortie du modèle d'apprentissage automatique dans une table - en pré-calculant essentiellement toutes les sorties pour l'ensemble de l'espace d'entrée. Cela crée des exigences supplémentaires pour la base de données sous-jacente :

  • Possibilité de créer une table de plusieurs centaines de gigaoctets ou téraoctets (selon la taille et le nombre de paramètres d'entrée)
  • Simplicité de gestion (ne forcez pas les administrateurs à gérer le sharding, etc.)

Du point de vue de la base de données opérationnelle de Cloudera, un modèle d'apprentissage automatique est facilement représenté sous forme de tableau (et c'est l'approche que de nombreux clients ont adoptée) :

  • La clé primaire est composée de l'ensemble des entrées requises pour identifier la sortie (quel que soit le nombre d'entrées requises)
  • Colonne :Recommandation de modèle d'apprentissage automatique (le résultat)
  • Colonne :Version du modèle

Une fonctionnalité d'audit ressemble également à un tableau :

  • La clé primaire est composée de l'ensemble des entrées requises pour identifier la sortie (quel que soit le nombre d'entrées requises)
  • Colonne :à qui avez-vous envoyé cette sortie (par exemple, ID client)
  • Colonne :quelle sortie a été diffusée
  • Colonne :quelle version du modèle a été utilisée
  • Colonne :quelle réponse alternative aurait été meilleure (augmentation)

L'augmentation peut être effectuée manuellement ou par programme (c'est-à-dire lorsqu'une société de carte de crédit vous envoie un e-mail vous demandant de vérifier une transaction - elle procède à une augmentation des données). Cette table d'audit augmentée peut être utilisée pour l'apprentissage par renforcement sur place dans la base de données ou déchargée dans un entrepôt de données.

Étant donné que les données sont dans la base de données, les mises à jour du modèle peuvent être effectuées sans aucun temps d'arrêt de l'application.

Du point de vue de la mise à l'échelle, la base de données opérationnelle de Cloudera est basée sur Apache HBase et Apache Phoenix, qui ont tous deux fait leurs preuves pour gérer des tables d'une taille de plusieurs centaines de téraoctets sans aucun problème.

Consultez la base de données opérationnelle de Cloudera au sein de la plate-forme de données Cloudera sur le cloud public pour créer votre prochaine application basée sur le ML.