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
oujsonl
. - 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.
À 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é.
À partir de la page de flux
Dans le menu de gauche réductible, sélectionnez Flux d’invite>Évaluer>É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.
É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.
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.
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.
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
.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.
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é.
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.
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.
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).
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.
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.
É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.
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.
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.
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.
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.
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 :