Partager via


Surveiller les modèles servis à l’aide des tables d’inférence compatibles avec la passerelle AI

Essentiel

Cette fonctionnalité est disponible en préversion publique.

Essentiel

Cet article décrit les rubriques qui s'appliquent aux tables d'inférence pour les modèles externes, les charges de travail avec débit alloué ou les modèles d'agent. Pour les modèles personnalisés , consultez les tables d'inférence pour surveiller et déboguer les modèles.

Cet article décrit les tables d’inférence compatibles avec la passerelle IA pour la surveillance des modèles servis. La table d’inférence capture automatiquement les demandes entrantes et les réponses sortantes pour un point de terminaison et les enregistre sous forme de table Delta du catalogue Unity. Vous pouvez utiliser les données de ce tableau pour surveiller, évaluer, comparer et ajuster les modèles Machine Learning.

Qu’est-ce que les tables d’inférence compatibles avec ai Gateway ?

Les tables d’inférence compatibles avec la passerelle AI simplifient la surveillance et les diagnostics des modèles en journalisant en continu les entrées et réponses des demandes de service (prédictions) à partir de points de terminaison de service de modèle AI Mosaïque et les enregistrant dans une table Delta dans le catalogue Unity. Vous pouvez ensuite utiliser toutes les fonctionnalités de la plateforme Databricks, telles que les requêtes et notebooks Databricks SQL pour surveiller, déboguer et optimiser vos modèles.

Vous pouvez activer les tables d’inférence sur un point de terminaison de service de modèle existant ou nouvellement créé, et les demandes adressées à ce point de terminaison sont ensuite automatiquement consignées dans une table dans le catalogue Unity.

Voici quelques applications courantes pour les tables d’inférence :

  • Créez un corpus de formation. En joignant des tables d’inférence avec des étiquettes de vérité de base, vous pouvez créer un corpus d’entraînement que vous pouvez utiliser pour réentraîner ou affiner votre modèle et améliorer votre modèle. À l’aide de Databricks Jobs, vous pouvez configurer une boucle de rétroaction continue et automatiser la réinitulation.
  • Surveillez la qualité des données et des modèles. Vous pouvez surveiller en permanence les performances et la dérive des données de votre modèle à l’aide de Lakehouse Monitoring. Lakehouse Monitoring génère automatiquement des tableaux de bord de qualité des données et des modèles que vous pouvez partager avec les parties prenantes. En outre, vous pouvez activer les alertes pour savoir quand vous devez réentraîner votre modèle en fonction des changements de données entrantes ou des réductions des performances du modèle.
  • Déboguer des problèmes de production. Les tables d’inférence enregistrent des données telles que les codes d’état HTTP, les codes JSON des requêtes et des réponses, les durées d’exécution du modèle et les traces produites pendant les durées d’exécution du modèle. Vous pouvez utiliser ces données de performances à des fins de débogage. Vous pouvez également utiliser les tables d’inférence de données historiques pour comparer les performances du modèle sur les demandes historiques.

Exigences

Avertissement

La table d’inférence peut arrêter la journalisation des données ou devenir endommagée si vous effectuez l’une des opérations suivantes :

  • Modifiez le schéma de table.
  • Modifiez le nom de la table.
  • Supprimez la table.
  • Perdez les autorisations sur le catalogue ou le schéma Unity Catalog.

Activer et désactiver les tables d’inférence

Cette section vous montre comment activer ou désactiver des tables d’inférence à l’aide de l’interface utilisateur de service. Le propriétaire des tables d’inférence est l’utilisateur qui a créé le point de terminaison. Toutes les listes de contrôle d’accès (ACL) de la table suivent les autorisations standard du catalogue Unity et peuvent être modifiées par le propriétaire de la table.

Pour activer les tables d’inférence lors de la création du point de terminaison, procédez comme suit :

  1. Cliquez sur Service dans l’interface utilisateur Mosaic AI de Databricks.
  2. Cliquez sur Créer un point de terminaison de mise en service.
  3. Dans la section Passerelle IA, sélectionnez Activer les tables d’inférence.

Vous pouvez également activer les tables d’inférence sur un point de terminaison existant. Pour modifier une configuration de point de terminaison existante, procédez comme suit :

  1. Dans la section passerelle AI, cliquez sur Modifier la passerelle AI.
  2. Sélectionnez Activer les tables d’inférence.

Suivez ces instructions pour désactiver les tables d’inférence :

  1. Accédez à la page de votre point de terminaison.
  2. Cliquez sur Modifier la passerelle AI.
  3. Cliquez sur Activer la table d’inférence pour supprimer la coche.
  4. Une fois que vous êtes satisfait des spécifications de la passerelle IA, cliquez sur Mettre à jour.

Interroger et analyser les résultats dans la table d’inférence

Une fois vos modèles servis prêts, toutes les demandes adressées à vos modèles sont enregistrées automatiquement dans la table d’inférence, ainsi que les réponses. Vous pouvez afficher la table dans l’interface utilisateur, interroger la table à partir de Databricks SQL ou d’un notebook, ou interroger la table à l’aide de l’API REST.

Pour afficher la table dans l’interface utilisateur : Sur la page du point de terminaison, cliquez sur le nom de la table d’inférence pour ouvrir la table dans l’Explorateur de catalogues.

lien vers le nom du tableau d’inférence sur la page de l'endpoint

Pour interroger la table à partir de Databricks SQL ou d’un notebook Databricks : Vous pouvez exécuter du code similaire à ce qui suit pour interroger la table d’inférence.

SELECT * FROM <catalog>.<schema>.<payload_table>

** Pour joindre vos données de table d’inférence avec des détails sur le modèle fondamental sous-jacent servi sur votre point d'accès :** les détails du modèle fondamental sont capturés dans la table système system.serving.served_entities.

SELECT * FROM <catalog>.<schema>.<payload_table> payload
JOIN system.serving.served_entities se on payload.served_entity_id = se.served_entity_id

schéma de table d’inférence compatible avec la passerelle AI

Les tables d’inférence activées à l’aide de la passerelle AI ont le schéma suivant :

Nom de la colonne Description Catégorie
request_date Date UTC de réception de la requête de mise en service de modèle. DATE
databricks_request_id Identificateur de requête généré par Azure Databricks attaché à toutes les requêtes de mise en service de modèle. STRING
request_time Horodatage de réception de la demande. TIMESTAMP
status_code Code d’état HTTP retourné par le modèle. INT
sampling_fraction Fraction d’échantillonnage utilisée dans l’événement où la requête a été échantillonnée. Cette valeur est comprise entre 0 et 1, où 1 représente que 100% de requêtes entrantes ont été incluses. DOUBLE
execution_duration_ms Durée en millisecondes pour laquelle le modèle a effectué l’inférence. Cela n’inclut pas les latences réseau de surcharge et représente uniquement le temps nécessaire pour que le modèle génère des prédictions. BIGINT
request Corps JSON de la requête brute qui a été envoyée au point de terminaison de mise en service de modèle. STRING
response Corps JSON de réponse brute retourné par le point de terminaison de mise en service de modèle. STRING
served_entity_id ID unique de l’entité servie. STRING
logging_error_codes Erreurs qui se sont produites lorsque les données n’ont pas pu être journalisées. Les codes d’erreur incluent MAX_REQUEST_SIZE_EXCEEDED et MAX_RESPONSE_SIZE_EXCEEDED. ARRAY
requester ID de l’utilisateur ou du principal de service dont les autorisations sont utilisées pour la demande d’appel du point de terminaison de service. STRING

Limitations

  • Charges de travail avec débit approvisionné :

    • Si vous créez un point de terminaison du modèle qui utilise le débit approvisionné, seules les tables d’inférence compatibles avec la passerelle IA sont prises en charge.
    • Si vous disposez d’un point de terminaison de mise en service de modèle existant qui utilise le débit approvisionné et qu’il n’a jamais eu de tables d’inférence précédemment configurées, vous pouvez la mettre à jour pour utiliser des tables d’inférence compatibles avec la passerelle IA.
    • Si vous disposez d’un point de terminaison de mise en service de modèle existant qui utilise le débit approvisionné et qui a des tables d’inférence précédemment configurées, vous ne pouvez pas la mettre à jour pour utiliser des tables d’inférence compatibles avec la passerelle IA.
    • Pour les enregistrements de réponses des assistants IA en continu, seuls les champs et traces compatibles avec ChatCompletion sont agrégés.
  • La livraison des fichiers logs des tables d’inférence est actuellement en mode meilleur effort, mais vous pouvez vous attendre à ce que les logs soient disponibles dans l'heure suivant une demande. Contactez votre équipe de compte Databricks pour plus d’informations.

  • La taille maximale de requête et de réponse enregistrée est de 1 Mio (1 048 576 octets). Les charges utiles de demande et de réponse qui dépassent cette valeur sont enregistrées en tant que null et les logging_error_codes sont remplies avec MAX_REQUEST_SIZE_EXCEEDED ou MAX_RESPONSE_SIZE_EXCEEDED.

Pour connaître les limitations spécifiques à AI Gateway, consultez Limitations. Pour connaître les limitations générales des points de terminaison de service de modèle, consultez Limites et régions du service de modèle.