Partager via


Comment évaluer des modèles et des applications d’IA générative avec Azure AI Foundry

Pour évaluer soigneusement les performances de votre application d’IA générative lorsqu’elle est appliquée à un jeu de données important, vous pouvez lancer un processus d’évaluation. Pendant cette évaluation, votre application est testée avec le jeu de données donné et ses performances seront mesurées quantitativement avec les métriques mathématiques et les métriques assistées par l’IA. Cette exécution d’évaluation vous fournit des insights complets sur les fonctionnalités et limitations de l’application.

Vous pouvez effectuer cette évaluation à l’aide du portail Azure AI Foundry, une plateforme complète qui offre des outils et des fonctionnalités permettant d’évaluer les performances et la sécurité de votre modèle d’IA générative. Dans le portail Azure AI Foundry, vous pouvez journaliser, afficher et analyser des métriques d’évaluation détaillées.

Dans cet article, vous apprendrez à créer une exécution d’évaluation à partir d’un jeu de données de test ou d’un flux avec des métriques d’évaluation intégrées à partir de l’IU d’Azure AI Foundry. Pour une plus grande flexibilité, vous pouvez établir un flux d’évaluation personnalisé et utiliser la fonctionnalité d’évaluation personnalisée. Vous pouvez également utiliser la fonctionnalité d’évaluation personnalisée si votre objectif consiste uniquement à exécuter un lot sans évaluation.

Prérequis

Pour exécuter une évaluation avec des métriques assistées par l’IA, vous devez disposer des éléments suivants :

  • Jeu de données de test dans l’un de ces formats : csv ou jsonl.
  • Une connexion Azure OpenAI. Un déploiement de l’un de ces modèles : modèles GPT 3.5, modèles GPT 4 ou modèles Davinci. Obligatoire uniquement lorsque vous exécutez une évaluation de qualité assistée par l’IA.

Créer une évaluation avec des métriques d’évaluation intégrées

Une exécution d’évaluation vous permet de générer des sorties de métriques pour chaque ligne de données de votre jeu de données de test. Vous pouvez choisir une ou plusieurs métriques d’évaluation pour évaluer la sortie à partir de différents aspects. Vous pouvez créer une exécution d’évaluation à partir des pages d’évaluation et de flux d’invite dans le portail Azure AI Foundry. Ensuite, un Assistant création d’évaluation s’affiche pour vous guider tout au long du processus de configuration d’une exécution d’évaluation.

À partir de la page évaluer

Dans le menu de gauche réductible, sélectionnez Évaluation>+ Créer une nouvelle évaluation.

Capture d’écran du bouton permettant de créer une évaluation.

À partir de la page du catalogue de modèles

Dans le menu de gauche réductible, sélectionnez Catalogue de modèles>, accédez à un modèle > spécifique, puis accédez à l’onglet Point de référence > Essayer avec vos propres données. Le volet d’évaluation du modèle s’ouvre pour vous permettre de créer une exécution d’évaluation sur votre modèle sélectionné.

Capture d’écran de la tentative avec votre propre bouton de données à partir de la page du catalogue de modèles.

À partir de la page de flux

Dans le menu de gauche réductible, sélectionnez Flux d’invite>Évaluer>Évaluation intégrée.

Capture d’écran montrant comment sélectionner l’évaluation intégrée.

Cible d’évaluation

Lorsque vous démarrez une évaluation à partir de la page d’évaluation, vous devez d’abord décider de la cible d’évaluation. En spécifiant la cible d’évaluation appropriée, nous pouvons adapter l’évaluation à la nature spécifique de votre application, en garantissant des métriques précises et pertinentes. Nous prenons en charge trois types de cibles d’évaluation :

  • Modèle et invite : vous souhaitez évaluer la sortie générée par votre modèle sélectionné et l’invite définie par l’utilisateur.
  • Jeu de données : vous disposez déjà de sorties générées par votre modèle dans un jeu de données de test.
  • Flux d’invite : vous avez créé un flux et vous souhaitez évaluer la sortie du flux.

Capture d’écran de la sélection cible de l’évaluation.

Évaluation du flux de jeu de données ou d’invite

Lorsque vous entrez l’assistant de création d’évaluation, vous pouvez fournir un nom facultatif pour votre exécution d’évaluation. Nous offrons actuellement une prise en charge du scénario de requête et de réponse, conçu pour les applications qui impliquent la réponse aux requêtes utilisateur et la fourniture de réponses avec ou sans informations contextuelles.

Vous pouvez éventuellement ajouter des descriptions et des balises aux exécutions d’évaluation pour améliorer l’organisation, le contexte et la facilité de récupération.

Vous pouvez utiliser le volet d’aide pour consulter les FAQ et vous guider dans l’Assistant.

Capture d’écran de la page d’informations de base au moment de la création d’une évaluation.

Si vous évaluez un flux d’invite, vous pouvez sélectionner le flux à évaluer. Si vous lancez l’évaluation à partir de la page Flux, nous sélectionnerons automatiquement votre flux à évaluer. Si vous envisagez d’évaluer un autre flux, vous pouvez en sélectionner un autre. Il est important de noter qu’au sein d’un flux, vous pouvez avoir plusieurs nœuds, chacun pouvant avoir son propre ensemble de variantes. Dans ce genre de cas, vous devez spécifier le nœud et les variantes à évaluer durant le processus d’évaluation.

Capture d’écran de la page de sélection d’un flux à évaluer au moment de la création d’une évaluation.

Configurer des données de test

Vous pouvez sélectionner parmi les jeux de données préexistants ou charger un nouveau jeu de données spécifiquement pour évaluer. Si aucun flux n’a été sélectionné à l’étape précédente, le jeu de données de test doit disposer des sorties générées par le modèle pour pouvoir être utilisé à des fins d’évaluation.

  • Choisir un jeu de données existant: vous pouvez choisir le jeu de données de test dans votre collection de jeux de données établie.

    Capture d’écran de l’option permettant de choisir des données de test au moment de la création d’une évaluation.

  • Ajouter un nouveau jeu de données : Vous pouvez charger des fichiers à partir de votre stockage local. Nous prenons uniquement en charge les formats de fichier .csv et .jsonl.

    Capture d’écran de l’option permettant de charger un fichier au moment de la création d’une évaluation.

  • Mappage des données pour le flux : Si vous sélectionnez un flux à évaluer, vérifiez que vos colonnes de données sont configurées pour être alignées sur les entrées requises afin de permettre au flux d’effectuer une exécution par lots et de générer la sortie à évaluer. L’évaluation est ensuite effectuée à l’aide de la sortie du flux. Configurez ensuite le mappage de données pour les entrées d’évaluation à la prochaine étape.

    Capture d’écran du mappage de jeu de données au moment de la création d’une évaluation.

Sélectionnez des mesures

Nous prenons en charge deux types de métriques organisés par Microsoft pour faciliter une évaluation complète de votre application :

  • Ces métriques évaluent la qualité globale et la cohérence du contenu généré. Pour exécuter ces métriques, il nécessite un déploiement de modèle en tant que juge.
  • Qualité de l’IA (NLP) : ces métriques NLP sont mathématiques et évaluent également la qualité globale du contenu généré. Elles nécessitent souvent des données de réalité de terrain, mais elles ne nécessitent pas le déploiement de modèle comme juge.
  • Métriques de risque et de sécurité : ces métriques se concentrent sur l’identification des risques potentiels liés au contenu ainsi que sur la sécurisation du contenu généré.

Capture d’écran de l’option Choisir ce que vous souhaitez évaluer avec la qualité et la sécurité de l’IA sélectionnée.

Vous pouvez consulter le tableau pour obtenir la liste complète des métriques que nous prenons en charge dans chaque scénario. Pour plus d’informations sur chaque définition de métrique et son mode de calcul, consultez Métriques d’évaluation et de monitoring.

Qualité de l’IA (assistée par l’IA) Qualité de l’IA (NLP) Métriques de risque et de sécurité
Fondement, pertinence, cohérence, fluidité, similarité GPT Score F1, score ROUGE, score BLEU, score GLEU, score METEOR Contenu lié à l’auto-préjudice, contenu haineux et injuste, contenu violent, contenu sexuel, matériel protégé, attaque indirecte

Lorsque vous utilisez des métriques assistées par l’IA pour l’évaluation, vous devez spécifier un modèle GPT pour le processus de calcul. Choisissez une connexion Azure OpenAI et un déploiement avec GPT-3.5, GPT-4 ou le modèle Davinci pour nos calculs.

Capture d’écran de la qualité de l’IA (assistée par l’IA) avec des métriques de fondement, de pertinence et de cohérence sélectionnées lors de la création d’une nouvelle évaluation.

Les métriques de Qualité de l’IA (NLP) sont des mesures mathématiquement basées sur des mesures qui évaluent les performances de votre application. Elles nécessitent souvent des données de réalité de terrain pour le calcul. ROUGE est une famille de métriques. Vous pouvez sélectionner le type ROUGE pour calculer les scores. Différents types de métriques ROUGE offrent des moyens d’évaluer la qualité de la génération de texte. ROUGE-N mesure le chevauchement des n-grammes entre le candidat et les textes de référence.

Capture d’écran de la Qualité de l’IA (NLP) avec des métriques de fondement, de pertinence et de cohérence sélectionnées lors de la création d’une nouvelle évaluation.

Pour les métriques de risque et de sécurité, vous n’avez pas besoin de fournir de connexion ni de déploiement. Le service back-end des évaluations de sécurité du portail Azure AI Foundry approvisionne un modèle GPT-4, qui génère des scores de gravité et des explications sur les risques liés au contenu. Vous pouvez ainsi évaluer votre application en recherchant les problèmes potentiels liés à son contenu.

Vous pouvez définir le seuil pour calculer le taux de défaut pour les métriques de préjudice au contenu (contenu lié à l’auto-préjudice, contenu haineux et injuste, contenu violent, contenu sexuel). Le taux de défaut est calculé en prenant un pourcentage d’instances dont les niveaux de gravité (Très bas, Bas, Moyen, Élevé) dépassent un certain seuil. Par défaut, nous définissons le seuil à « Moyen ».

Pour le matériel protégé et les attaques indirectes, le taux de défauts est calculé en prenant un pourcentage d’instances où la sortie est « true » (Taux de défaut = (# true / # instances) × 100).

Capture d’écran des métriques de risque et de sécurité organisées par Microsoft montrant les options auto-préjudice, matériel protégé et attaque indirecte sélectionnées.

Remarque

Les métriques de risque et de sécurité assistées par IA sont hébergées par le service back-end des évaluations de sécurité d’Azure AI Foundry. Elles sont disponibles uniquement dans les régions suivantes : USA Est 2, France Centre, Royaume-Uni Sud, Suède Centre

Mappage de données pour l’évaluation : Vous devez spécifier les colonnes de données de votre jeu de données correspondant aux entrées nécessaires dans l’évaluation. Différentes métriques d’évaluation demandent des types distincts d’entrées de données pour des calculs précis.

Capture d’écran du mappage de jeu de données à votre entrée d’évaluation.

Remarque

Si vous évaluez à partir de données, « réponse » doit être mappé à la colonne de réponse de votre jeu de données ${data$response}. Si vous évaluez à partir d’un flux, « réponse » devrait venir de la sortie de flux ${run.outputs.response}.

Pour obtenir des conseils sur les exigences de mappages de données spécifiques pour chaque métrique, reportez-vous aux informations fournies dans le tableau :

Exigences des métriques de requête et de réponse
Métrique Requête Response Context Vérité de terrain
Fondement Obligatoire : Str Obligatoire : Str Obligatoire : Str S/O
Cohérence Obligatoire : Str Obligatoire : Str N/A N/A
Maîtrise Obligatoire : Str Obligatoire : Str N/A N/A
Pertinence Obligatoire : Str Obligatoire : Str Obligatoire : Str S/O
Similarité GPT Obligatoire : Str Obligatoire : Str S/O Obligatoire : Str
Score F1 S/O Obligatoire : Str S/O Obligatoire : Str
Score BLEU S/O Obligatoire : Str S/O Obligatoire : Str
Score GLEU S/O Obligatoire : Str S/O Obligatoire : Str
Score METEOR S/O Obligatoire : Str S/O Obligatoire : Str
score ROUGE S/O Obligatoire : Str S/O Obligatoire : Str
Contenu lié à l’automutilation Obligatoire : Str Obligatoire : Str N/A N/A
Contenu haineux et discriminatoire Obligatoire : Str Obligatoire : Str N/A N/A
Contenu violent Obligatoire : Str Obligatoire : Str N/A N/A
Contenu à caractère sexuel Obligatoire : Str Obligatoire : Str N/A N/A
Matériel protégé Obligatoire : Str Obligatoire : Str N/A N/A
Attaque indirecte Obligatoire : Str Obligatoire : Str N/A N/A
  • Requête recherchant des informations spécifiques.
  • Réponse : réponse à la requête générée par le modèle.
  • Contexte : la source de réponse est générée par rapport à (c’est-à-dire, les documents de base)...
  • Réalité de terrain : réponse à une requête générée par un utilisateur/être humain et considérée comme la vraie réponse.

Passer en revue et terminer

Une fois que toutes les configurations nécessaires sont terminées, vous pouvez passer en revue et continuer à sélectionner « Envoyer » pour envoyer l’exécution de l’évaluation.

Capture d’écran de la page de vérification et de fin pour la création d’une évaluation.

Évaluation du modèle et de l’invite

Pour créer une évaluation pour votre déploiement de modèle sélectionné et une invite définie, utilisez le volet d’évaluation de modèle simplifié. Cette interface simplifiée vous permet de configurer et de lancer des évaluations au sein d’un seul volet consolidé.

Informations de base

Pour commencer, vous pouvez configurer le nom de votre exécution d’évaluation. Sélectionnez ensuite le modèle de déploiement que vous souhaitez évaluer. Nous prenons en charge les modèles Azure OpenAI et d’autres modèles ouverts compatibles avec les modèles Model-as-a-Service (MaaS), tels que les modèles de famille Meta Llama et Phi-3. Si vous le souhaitez, vous pouvez ajuster les paramètres de modèle tels que la réponse maximale, la température et le P supérieur en fonction de vos besoins.

Dans la zone de texte Message système, indiquez l’invite de votre scénario. Pour plus d’informations sur la création de votre invite, consultez le catalogue d’invites. Vous pouvez choisir d’ajouter un exemple pour afficher les réponses souhaitées. Il essaiera d’imiter toutes les réponses que vous ajoutez ici pour vous assurer qu’elles correspondent aux règles que vous avez définies dans le message système.

Capture d’écran des informations de base.

Configurer les données de test

Après avoir configuré le modèle et l’invite, configurez le jeu de données de test qui sera utilisé pour l’évaluation. Ce jeu de données est envoyé au modèle pour générer des réponses à des fins d’évaluation. Vous avez trois options pour configurer vos données de test :

  • Générer un exemple de données
  • Jeu de données existant
  • Ajouter votre jeu de données

Si vous n’avez pas de jeu de données facilement disponible et que vous souhaitez exécuter une évaluation avec un petit exemple, vous pouvez sélectionner l’option permettant d’utiliser un modèle GPT pour générer des exemples de questions en fonction de votre rubrique choisie. La rubrique permet d’adapter le contenu généré à votre domaine d’intérêt. Les requêtes et réponses seront générées en temps réel, et vous avez la possibilité de les régénérer en fonction des besoins.

Remarque

Le jeu de données généré est enregistré dans le stockage d’objets blob du projet une fois l’exécution d’évaluation créée.

Capture d’écran de la configuration des données de test.

Mappage de données

Si vous choisissez d’utiliser un jeu de données existant ou de charger un nouveau jeu de données, vous devez mapper les colonnes de votre jeu de données aux champs requis pour l’évaluation. Pendant l’évaluation, la réponse du modèle sera évaluée par rapport aux entrées clés telles que :

  • Requête : obligatoire pour toutes les métriques
  • Contexte : facultatif
  • Réalité de terrain : facultative, requise pour les métriques de Qualité de l’IA (NLP)

Ces mappages garantissent un alignement précis entre vos données et les critères d’évaluation.

Capture d’écran de votre colonne de données.

Choisir les métriques d’évaluation

La dernière étape consiste à sélectionner ce que vous souhaitez évaluer. Au lieu de sélectionner des métriques individuelles et de vous familiariser avec toutes les options disponibles, nous simplifiez le processus en vous permettant de sélectionner des catégories de métriques qui répondent le mieux à vos besoins. Lorsque vous choisissez une catégorie, toutes les métriques pertinentes de cette catégorie seront calculées en fonction des colonnes de données que vous avez fournies à l’étape précédente. Une fois que vous avez sélectionné les catégories de métriques, vous pouvez sélectionner « Créer » pour envoyer l’exécution de l’évaluation et accéder à la page d’évaluation pour afficher les résultats.

Nous prenons en charge trois catégories :

  • Qualité de l’IA (assisté par l’IA) : vous devez fournir un déploiement de modèle Azure OpenAI en tant que juge pour calculer les métriques assistées par l’IA.
  • Qualité de l’IA (NLP)
  • Sécurité
Qualité de l’IA (assistée par l’IA) Qualité de l’IA (NLP) Sécurité
Fondement (exige du contexte), Pertinence (exige du contexte), Cohérence, Fluidité Score F1, score ROUGE, score BLEU, score GLEU, score METEOR Contenu lié à l’auto-préjudice, contenu haineux et injuste, contenu violent, contenu sexuel, matériel protégé, attaque indirecte

Créer une évaluation avec un flux d’évaluation personnalisé

Vous pouvez développer vos propres méthodes d’évaluation :

Dans la page de flux, dans le menu de gauche réductible, sélectionnez Flux d’invite>Évaluer>Évaluation personnalisée.

Capture d’écran montrant comment créer une évaluation personnalisée à partir d’un flux d’invite.

Afficher et gérer les évaluateurs dans la bibliothèque d’évaluateurs

La bibliothèque d’évaluateurs est un endroit centralisé qui vous permet de voir les détails et l’état de vos évaluateurs. Vous pouvez afficher et gérer les évaluateurs organisés par Microsoft.

Conseil

Vous pouvez utiliser des évaluateurs personnalisés via le kit de développement logiciel (SDK) de flux d’invite. Pour plus d’informations, consultez Évaluer avec le kit de développement logiciel (SDK) de flux d’invite.

La bibliothèque d’évaluateurs active également la gestion des versions. Vous pouvez comparer différentes versions de votre travail, restaurer les versions précédentes si nécessaire et collaborer plus facilement avec d’autres utilisateurs.

Pour utiliser la bibliothèque d’évaluateurs dans le portail Azure AI Foundry, accédez à la page Évaluation de votre projet et sélectionnez l’onglet Bibliothèque d’évaluateurs.

Capture d’écran de la page pour sélectionner des évaluateurs dans la bibliothèque d’évaluateurs.

Vous pouvez sélectionner le nom de l’évaluateur pour afficher plus de détails. Vous pouvez voir le nom, la description et les paramètres, et vérifier les fichiers associés à l’évaluateur. Voici quelques exemples d’évaluateurs organisés par Microsoft :

  • Pour les évaluateurs de performances et de qualité organisés par Microsoft, vous pouvez afficher l’invite d’annotations sur la page de détails. Vous pouvez adapter ces invites à votre propre cas d’usage en modifiant les paramètres ou les critères en fonction de vos données et objectifs avec le Kit de développement logiciel (SDK) d’Azure AI Evaluation. Par exemple, vous pouvez sélectionner Groundedness-Evaluator et vérifier le fichier Prompty montrant comment nous calculons la métrique.
  • Pour les évaluateurs de risque et de sécurité organisés par Microsoft, vous pouvez voir la définition des métriques. Par exemple, vous pouvez sélectionner Évaluateur de contenu lié à l’automutilation et apprendre ce qu’il signifie et comment Microsoft détermine les différents niveaux de gravité pour cette métrique de sécurité.

Étapes suivantes

En savoir plus sur la manière d’évaluer vos applications IA générative :