[ad_1]

Note de l’éditeur: Le message d’aujourd’hui est un article invité par Aparna Dhinakaran, co-fondatrice et directrice des produits chez Arize AI, en collaboration avec Ezra Citron, consultant en solutions clients chez Algorithmia. Il a été initialement publié sur le blog Arize AI le 21 avril 2021.

De l’optimisation des ETA de livraison à la protection contre les défauts, les entreprises modernes de toutes tailles et de tous secteurs comprennent la valeur de tirer parti de l’apprentissage automatique et de l’IA pour atteindre des objectifs commerciaux clés. Cependant, malgré les investissements en R&D souvent importants et en accélération dans les systèmes ML, faire passer un modèle de la recherche à la production n’est pas une mince affaire. Opérations d’apprentissage automatique (MLOps) et l’observabilité du ML font partie des défis les plus importants auxquels sont confrontées les équipes qui tentent de faire évoluer leurs efforts de ML.

Problème d’investissement dans l’IA

Au cours de la dernière décennie, la transformation numérique est devenue un impératif essentiel pour de nombreuses organisations. Fondamentalement, ce changement a accéléré l’utilisation du cloud computing par les entreprises pour alimenter la manière dont elles construisent et exploitent leurs piles technologiques – les équipes les plus avancées ont tiré parti de cette transition pour adopter une approche centrée sur les données afin de s’attaquer aux objectifs commerciaux clés et de stimuler l’engagement client. Comme Clive Humby l’a dit simplement: Les données sont la nouvelle huile.

Comment les équipes exploitent la puissance des données et des applications peuvent faire ou défaire une entreprise. Les effets de cette situation sont particulièrement aigus si l’on considère la dépendance croissante à l’automatisation et aux systèmes appris par machine qui alimentent l’IA.

Aujourd’hui, une multitude de solutions de Business Intelligence et de traitement des données sont disponibles pour aider les organisations à comprendre leurs données et à intégrer des modèles d’apprentissage automatique dans leurs activités. L’étoile du nord est de tirer parti des données uniques et de l’apprentissage automatique pour donner à son entreprise un avantage sur la concurrence.

Cependant, la réalité est que malgré un investissement sans cesse croissant dans l’IA, de nombreuses organisations ne parviennent pas à atteindre ce résultat souhaité pour plusieurs raisons. Algorithmie Rapport sur les tendances de l’entreprise en 2021 dans le domaine de l’apprentissage automatique a révélé que 83% de toutes les organisations avaient augmenté leurs budgets AI / ML au cours de l’année écoulée. Le nombre moyen de data scientists employés a augmenté de 76%. Malgré ce niveau d’investissement, le temps nécessaire pour déployer un modèle entraîné en production a augmenté, 64% de toutes les organisations prenant un mois ou plus. Les organisations ont du mal avec les composants opérationnels nécessaires pour déployer et exploiter des modèles ML en production après la phase de développement.

Une fois franchi l’obstacle initial de la mise en production des modèles ML, un autre défi consiste à surveiller et à optimiser les performances des modèles. Sans une observabilité appropriée du modèle, la réalité est que l’investissement dans l’IA peut parfois donner l’impression de jeter de l’argent dans une boîte noire. Un modèle qui a fonctionné pour un client ou un scénario ne fonctionne pas pour un autre. Ce qui a fonctionné jeudi dernier ne fonctionne pas ce mardi. Une recommandation d’un modèle de crédit ou d’achat met un client en colère. Avez-vous ajouté des risques et des coûts à votre entreprise que vous ne comprenez pas? Les données sont la nouvelle huile, mais seulement si elles sont exploitées de la bonne manière.

Comment les organisations qui investissent massivement dans la science des données peuvent-elles récolter les fruits de cet investissement? Il ne suffit pas d’investir dans le ML et de développer des modèles. Pour débloquer la valeur de votre investissement ML, vous avez besoin MLOps—Et un composant essentiel de votre MLOps — l’observabilité du ML.

C’est pourquoi nous sommes ravis de partager que Arize AI et Algorithmie s’associent pour aider les organisations à livrer plus de modèles à la production, à maximiser leurs performances et à minimiser les risques liés aux modèles.

Avec une intégration simple, les clients pourront tirer parti de la puissance combinée de la plate-forme MLOps d’entreprise d’Algorithmia et de la plate-forme d’observabilité ML d’Arize pour déployer des modèles et gérer les performances à grande échelle.

Rationalisez les opérations d’apprentissage automatique

Algorithmie plateforme MLOps d’entreprise gère toutes les étapes du cycle de vie du ML de production, du déploiement et des opérations à la gouvernance et à la sécurité, ce qui permet aux équipes de science des données et de ML de fournir plus de modèles plus rapidement tout en protégeant l’entreprise. Avec Algorithmia, les organisations de toutes tailles peuvent facilement:

  • Connectez, chargez, cataloguez, versionnez et validez des modèles pour la production dans une plate-forme centrale.
  • Gérez les coûts, contrôlez l’utilisation de l’infrastructure, surveillez les opérations et fournissez des modèles et des services à grande vitesse.
  • Minimisez les risques grâce à une sécurité et une gouvernance de niveau entreprise sur l’ensemble des données, modèles et infrastructures.

Combler le fossé entre la science des données et l’ingénierie ML

Alors que les systèmes d’IA / ML d’entreprise se développent pour fonctionner à grande échelle, l’observation approfondie des modèles est essentielle pour effectuer des investissements commerciaux bien informés et créer une pratique MLOps hautement performante. Arize AI fournit une surveillance et une observabilité en temps réel pour aider les équipes à comprendre comment leurs modèles fonctionnent dans le monde réel et à améliorer leurs performances. La possibilité de télécharger des lignes de base hors ligne (formation ou validation) dans un magasin d’évaluation pour une analyse automatisée de la dérive, de la qualité des données et des performances crée un mécanisme de rétroaction actif entre les équipes de science des données et d’ingénierie afin qu’elles puissent:

  • Gérez et améliorez les investissements en apprentissage automatique grâce à une seule vitre.
  • Mappez les changements de dérive aux changements de performances réels.
  • Effectuez des évaluations de dérive en temps réel, des comparaisons de performances multi-modèles, des évaluations d’équité / biais et des évaluations de suivi des performances pour soutenir la vérité terrain différée.
  • Analyses complètes des causes profondes pour dépanner les défaillances du modèle / la dégradation des performances à l’aide de l’explicabilité et de l’analyse des tranches

Tirer parti des plates-formes Arize et Algorithmia donne aux équipes en difficulté une capacité rationalisée à tester et comparer les performances des modèles, à découvrir la cause profonde des problèmes de production, à gérer les risques et les coûts et à découvrir les opportunités de recyclage. Cette solution permet aux équipes d’augmenter la vitesse à laquelle elles peuvent développer et itérer sur des modèles, augmenter la qualité des modèles et réduire les coûts, en fournissant l’IA dans l’entreprise comme s’il s’agissait d’un produit.

Démarrez avec l’intégration Algorithmia-Arize

Pour les clients existants d’Algorithmia, l’intégration à la plate-forme Arize AI est simple. Si vous ne connaissez pas Algorithmia ou Arize, inscrivez-vous à un Démo d’algorithmia et Accès anticipé à Arize. Ci-dessous, nous expliquerons les composants de base de l’intégration; pour le tester, vous aurez besoin de comptes sur les deux plates-formes.

Le flux de travail général est que lorsque vous déployez votre modèle sur Algorithmia, vous ajoutez du code pour établir une connexion avec Arize et pour consigner les fonctionnalités, la prédiction et les données réelles à chaque fois que le modèle est appelé. Vous pouvez ensuite utiliser ces données côté Arize pour le suivi du modèle et l’explicabilité.

Dans les exemples de code ci-dessous, nous montrons simplement les parties associées à l’établissement de la connexion à Arize et à l’enregistrement des données; pour le code complet montrant l’intégration de bout en bout, visitez Centre de développement d’Algorithmia.

Avant d’incorporer la fonctionnalité de journalisation dans un algorithme d’Algorithmia, vous pouvez utiliser un notebook Jupyter ou votre IDE local préféré pour tester la partie du code qui envoie les données à Arize, pour vous assurer que la connexion est correctement configurée et que les dépendances de la bibliothèque sont en place. Nous recommandons ce flux de travail pour le développement, car le débogage est souvent plus efficace dans un environnement local.

Commencez par importer les classes Arize nécessaires à partir de la bibliothèque cliente Arize Python, ainsi que quelques modules et bibliothèques Python supplémentaires:

from arize.api import Client
from arize.types import ModelTypes
import datetime
import joblib
import pandas as pd

Notez que l’exemple de code ci-dessous suppose un modèle entraîné sérialisé comme MODEL_NAME.joblib et quelques données de test dans les pandas Trame de donnéess X_test et y_test. Appelant le to_json () méthode sur X_test, la première ligne de données ressemble à ceci:

{
    "mean radius":{"204":12.470000267},
    "mean texture":{"204":18.6000003815},
    ...
    "worst symmetry":{"204":0.3014000058},
    "worst fractal dimension":{"204":0.0874999985}
}

le arize.api.Client object établit la connexion à votre compte sur Arize, vous devrez donc fournir vos informations d'identification Arize secrètes. le Clientde log_bulk_predictions () et log_bulk_actuals () méthodes font le gros du travail, en envoyant les données spécifiées à la plate-forme Arize:

# Provide Arize secrets; we recommend reading from environment variables.
ARIZE_ORG_KEY = "ARIZE_ORG_KEY"
ARIZE_API_KEY = "ARIZE_API_KEY"
 
# Establish a connection with Arize.
arize_client = Client(organization_key=ARIZE_ORG_KEY, api_key=ARIZE_API_KEY)
 
# Load the serialized model.
model_name = "MODEL_NAME"
model_name_versioned = "{}_ver_{}".format(
    model_name, datetime.datetime("%m%d%Y_%H%M%S"))
model_path = "{}.joblib".format(model_name)
model = joblib.load(model_path)
 
# Log predictions.
pred_test = model.predict(X_test)
pred = pd.DataFrame([str(y) for y in pred_test])
ids = pd.DataFrame([str(id) for id in X_test.index])
readable_features = list(X_test.columns)
 
tfuture = arize_client.log_bulk_predictions(
    model_id=model_name,
    model_version=model_name_versioned,
    model_type=ModelTypes.CATEGORICAL, # Arize v2.0; soon to be optional
    features=readable_features,
    prediction_ids=ids,
    prediction_labels=pred)
print(tfuture[0].result())
 
# Log actuals.
actuals_df = y_test.astype(str)
tfuture = arize_client.log_bulk_actuals(
    model_id=model_name,
    model_type=ModelTypes.CATEGORICAL, # Arize v2.0; soon to be optional
    prediction_ids=ids,
    actual_labels=actuals_df)
print(tfuture[0].result())

Après avoir vérifié que les exemples de données sont consignés dans Arize, déplacez simplement la fonctionnalité de journalisation dans un algorithme Algorithmia, qui sera exposé en tant que point de terminaison d'API à appeler en temps réel. Une fois que vous avez téléchargé votre modèle sérialisé et publié l'algorithme, vous pouvez y envoyer des données directement via le tuyau() fonction, comme illustré dans l'exemple de code ci-dessous.

Notez que puisque l'API Algorithmia nécessite des données au format JSON pour son appliquer() , vous devrez convertir toutes les données de production et / ou de test en JSON avant de les envoyer en tant qu'entrée d'algorithme. Algorithmia renverra la réponse directement comme un autre objet JSON avec la sortie de l'algorithme stockée dans l'objet résultat attribut. Vous pouvez ensuite convertir la sortie JSON dans le type souhaité - dans cet exemple, de nouveau en pandas Trame de données.

Vous trouverez ci-dessous un exemple de code pouvant être utilisé pour appeler votre modèle publié sur Algorithmia. Le code de l'algorithme lui-même est affiché dans le guide d'intégration sur le Developer Center.

import Algorithmia
import pandas as pd
 
# Provide Algorithmia secret; we recommend reading from an environment variable.
ALGORITHMIA_API_KEY = "ALGORITHMIA_API_KEY"
 
# Establish a connection with Algorithmia.
client = Algorithmia.client(ALGORITHMIA_API_KEY)
 
# Identify your new algorithm and instantiate an algorithm object.
ALGO_ENDPOINT = "ALGO_OWNER/ALGO_NAME/ALGO_VERSION"
algo = client.algo(ALGO_ENDPOINT)
 
# Optionally set timeout parameters for testing purposes.
algo.set_options(timeout=60)
 
# Pipe JSON payload into algorithm and convert JSON output back to DataFrame.
input = X_test.to_json()
result_json = algo.pipe(input).result
result_df = pd.read_json(res)

Lorsque vous appelez votre algorithme, vos événements de prédiction sont désormais enregistrés dans Arize, et la plate-forme découvre votre modèle et configure des tableaux de bord, des moniteurs et des analyses pour vos prédictions.

Les tableaux de bord par défaut sont configurés pour mettre en évidence les mesures critiques d'évaluation et de données. En plus des métriques d'inférence, vous pouvez également envoyer des métriques opérationnelles d'Algorithmia à Arize. Pour une présentation détaillée et étape par étape de cette intégration, visitez Centre de développement d'Algorithmia.

Exemple de tableau de bord des mesures de performances du modèle Arize

Exemple de tableau de bord des mesures de performances du modèle Arize

Exemple de moniteur PSI

Exemple de moniteur PSI

Explicabilité locale, par tranche ou globale

Explicabilité locale, par tranche ou globale

À propos d'Arize AI

Arize AI a été fondée par des leaders de l'infrastructure ML et de l'espace analytique pour apporter une meilleure visibilité et une meilleure gestion des performances à l'IA. Arize AI a construit la première plate-forme d'observabilité ML pour aider à faire fonctionner les modèles ML en production. À mesure que les modèles passent de la recherche au monde réel, nous fournissons une plate-forme en temps réel pour surveiller, expliquer et résoudre les problèmes de modèle / données.

À propos d'Algorithmia

Algorithmia est la plateforme MLOps d'entreprise. Il gère toutes les étapes du cycle de vie du ML de production au sein des processus opérationnels existants, afin que vous puissiez mettre les modèles en production rapidement, en toute sécurité et à moindre coût.

Contrairement aux solutions de gestion MLOps à faire soi-même inefficaces et coûteuses qui enferment les utilisateurs dans des piles technologiques spécifiques, Algorithmia automatise le déploiement de ML, optimise la collaboration entre les opérations et le développement, exploite les systèmes SDLC et CI / CD existants, s'intègre aux meilleurs outils de sa catégorie, et offre une sécurité et une gouvernance avancées.

À ce jour, plus de 130 000 ingénieurs et spécialistes des données ont utilisé la plate-forme d'Algorithmia, y compris les Nations Unies, les agences gouvernementales de renseignement et les sociétés Fortune 500. Pour apprendre plus, explorez la plateforme Algorithmia et obtenez votre démo aujourd'hui.