Partager via


Évaluation des applications d’IA générative

Important

Les éléments marqués (préversion) dans cet article sont actuellement en préversion publique. Cette préversion est fournie sans contrat de niveau de service, nous la déconseillons dans des charges de travail de production. Certaines fonctionnalités peuvent être limitées ou non prises en charge. Pour plus d’informations, consultez Conditions d’Utilisation Supplémentaires relatives aux Évaluations Microsoft Azure.

Les avancées des modèles de langage tels que le GPT-4 via Azure OpenAI Service sont très prometteuses. Toutefois, elles s’accompagnent également des défis liés à l’IA responsable. S’ils ne sont pas conçus avec soin, les systèmes basés sur ces modèles peuvent perpétuer les biais sociétaux existants, promouvoir la désinformation, créer du contenu manipulateur ou entraîner toutes sortes d’autres impacts négatifs. Il est possible de gérer ces risques tout en optimisant les avantages pour les utilisateurs à travers une approche itérative en quatre phases : identifier, mesurer, atténuer et exploiter.

La phase de mesure fournit des informations cruciales qui permettent d’orienter le développement vers la qualité et la sécurité. D’une part, cela comprend l’évaluation des performances et de la qualité. D’autre part, au moment de l’évaluation des risques et de la sécurité, cela comprend l’évaluation de la prédisposition d’un système IA à différents risques (chacun pouvant avoir des gravités différentes). Dans les deux cas, vous devez établir des métriques claires, en créant des jeux de tests, et en effectuant des tests itératifs et systématiques. Cette phase de mesure fournit aux praticiens des informations sur les étapes d’atténuation ciblées telles que l’ingénierie de prompt et l’application de filtres de contenu. Une fois les mesures d’atténuation appliquées, vous pouvez répéter les évaluations pour tester leur efficacité.

Azure AI Studio fournit aux praticiens des outils d’évaluation manuelle et automatisée, qui peuvent les aider à effectuer la phase de mesure. Nous vous recommandons de commencer par l’évaluation manuelle, puis de passer à l’évaluation automatisée. L’évaluation manuelle, c’est-à-dire la révision manuelle des sorties générées par l’application, permet d’effectuer le suivi d’un petit ensemble de problèmes prioritaires. Quand vous cherchez à atténuer des risques spécifiques, il est souvent plus productif de poursuivre manuellement ce suivi sur un petit jeu de données, jusqu’à la disparition effective des risques observés, avant de passer à l’évaluation automatisée. Azure AI Studio prend en charge une expérience d’évaluation manuelle pour la vérification des petits jeux de données.

L’évaluation automatisée permet de mesurer la qualité et la sécurité à grande échelle avec une couverture étendue pour fournir des résultats plus complets. Les outils d’évaluation automatisée permettent également d’effectuer des évaluations continues, qui s’exécutent périodiquement, pour effectuer un monitoring de la régression au fur et à mesure de l’évolution du système, des modes d’utilisation et des mesures d’atténuation. Nous prenons en charge deux méthodes principales d’évaluation automatisée des applications d’IA générative : l’évaluation traditionnelle basée sur le Machine Learning, et l’évaluation assistée par IA.

Mesures d’apprentissage automatique traditionnelles

Dans le contexte de l’IA générative, les évaluations traditionnelles basées sur le Machine Learning (qui produisent des métriques de Machine Learning classiques) s’avèrent utiles quand nous souhaitons quantifier l’exactitude des sorties générées par rapport aux réponses attendues. Les métriques traditionnelles se révèlent pertinentes quand vous avez accès à la vérité de base et aux réponses attendues.

  • La vérité de base fait référence aux données que nous pensons être vraies, et que nous utilisons donc comme base de référence pour les comparaisons.
  • Les réponses attendues sont les résultats qui, selon nous, devraient se produire en fonction de nos données de vérité de base. Par exemple, dans les tâches liées à la classification ou aux questions-réponses courtes, où il existe généralement une seule réponse correcte ou attendue, vous pouvez utiliser les scores F1 ou des métriques traditionnelles similaires pour mesurer la précision et le rappel des sorties générées par rapport aux réponses attendues.

Les métriques traditionnelles sont également utiles quand nous souhaitons comprendre le degré de régression des sorties générées, c’est-à-dire son écart par rapport aux réponses attendues. Elles fournissent une mesure quantitative de l’erreur ou de l’écart, ce qui nous permet de suivre les performances du système au fil du temps, ou de comparer les performances de différents systèmes. Toutefois, ces métriques sont parfois moins appropriées aux tâches qui impliquent de la créativité, de l’ambiguïté ou plusieurs solutions correctes, car elles traitent généralement tout écart par rapport à une réponse attendue comme une erreur.

Évaluations assistées par IA

Les LLM (grands modèles de langage) tels que GPT-4 peuvent servir à évaluer la sortie des systèmes de langage d’IA générative. Pour ce faire, vous pouvez demander à un LLM d’annoter certains aspects de la sortie générée par l’IA. Par exemple, vous pouvez fournir à GPT-4 une échelle de gravité liée à la pertinence (par exemple, vous pouvez fournir des critères d’annotation de pertinence sur une échelle allant de 1 à 5), puis demander à GPT-4 d’annoter la pertinence de la réponse d’un système IA par rapport à une question donnée.

Les évaluations assistées par IA peuvent se révéler très utiles dans les scénarios où la vérité de base et les réponses attendues ne sont pas disponibles. Dans de nombreux scénarios d’IA générative, par exemple les réponses aux questions ouvertes ou l’écriture créative, il n’existe pas de réponses correctes uniques, ce qui rend difficile l’établissement de la vérité de base ou des réponses attendues nécessaires aux métriques traditionnelles.

Dans ce genre de cas, les évaluations assistées par IA peuvent contribuer à mesurer des concepts importants tels que la qualité et la sécurité des sorties générées. Ici, la qualité fait référence aux attributs de performance et de qualité tels que la pertinence, la cohérence, la fluidité et le fondement. La sécurité fait référence aux attributs de risque et de sécurité, par exemple la présence de contenu préjudiciable (risques liés au contenu).

Pour chacun de ces attributs, une conceptualisation et une expérimentation minutieuses sont nécessaires afin de créer les instructions et l’échelle de gravité du LLM. Parfois, ces attributs font référence à des concepts sociotechniques complexes qui peuvent être perçus différemment en fonction des personnes. Il est donc essentiel que les instructions d’annotation du LLM soient créées pour représenter une définition concrète et acceptée de l’attribut. Il est ensuite tout aussi essentiel de vérifier que le LLM applique les instructions de manière cohérente par rapport aux annotateurs experts humains.

En demandant à un LLM d’annoter ces attributs, vous pouvez créer une métrique relative aux performances d’une application d’IA générative, même quand il existe plusieurs réponses correctes possibles. Les évaluations assistées par IA offrent un moyen flexible et nuancé d’évaluer les applications d’IA générative, en particulier pour les tâches qui impliquent de la créativité, de l’ambiguïté ou plusieurs solutions correctes. Toutefois, la fiabilité et la validité de ces évaluations dépendent de la qualité du LLM et des instructions qui lui sont fournies.

Métriques de performance et de qualité assistées par IA

Si vous souhaitez exécuter des évaluations de performance et de qualité assistées par IA, vous pouvez éventuellement tirer profit d’un LLM pour deux fonctions distinctes. Tout d’abord, vous devez créer un jeu de données de test. Vous pouvez le créer manuellement en choisissant des prompts et en capturant les réponses à partir de votre système IA, ou de manière synthétique en simulant les interactions entre votre système IA et un LLM (appelé générateur de jeu de données assisté par IA dans le diagramme suivant). Un LLM est ensuite également utilisé pour annoter les sorties de votre système IA dans le jeu de test. Enfin, les annotations sont agrégées en métriques de performance et de qualité, puis journalisées dans votre projet AI Studio pour être visualisées et analysées.

Diagramme d’évaluation de la qualité des applications d’IA générative dans AI Studio.

Remarque

Nous prenons en charge les modèles GPT-4 et GPT-3 pour les évaluations assistées par IA. Pour utiliser ces modèles à des fins d’évaluation, vous devez établir des connexions valides. Notez que nous vous recommandons fortement d’utiliser GPT-4, car il offre des améliorations significatives au niveau de la compréhension du contexte et du respect des instructions.

Métriques de risque et de sécurité assistées par IA

La création de métriques de risque et de sécurité assistées par IA est une application des évaluations de qualité et de performance assistées par IA. Pour créer des métriques de risque et de sécurité assistées par IA, les évaluations de sécurité d’Azure AI Studio approvisionnent un modèle Azure OpenAI GPT-4 hébergé dans un service back-end, puis orchestrent chacune des deux étapes dépendantes du LLM :

  • Simulation d’interactions contradictoires avec votre système d’IA générative :

    Générez un jeu de données de test de haute qualité composé d’entrées et de réponses en simulant des échanges monotours ou multitours guidés par des prompts visant à produire des réponses préjudiciables. 

  • Annotation de votre jeu de données de test pour les risques liés au contenu ou à la sécurité :

    Annotez chaque interaction du jeu de données de test avec une gravité et une explication à partir d’une échelle de gravité définie pour chaque type de risque lié au contenu et à la sécurité.

Dans la mesure où les modèles GPT-4 approvisionnés se comportent en tant qu’annotateurs ou générateurs de jeux de données contradictoires, leurs filtres de sécurité sont désactivés, et les modèles sont hébergés dans un service back-end. Les prompts utilisés pour ces LLM et les jeux de données de prompts contradictoires ciblés sont également hébergés dans le service. En raison de la nature sensible du contenu généré et passé via le LLM, les modèles et les ressources de données ne sont pas directement accessibles aux clients Azure AI Studio.

Les jeux de données de prompts contradictoires ciblés ont été développés par des chercheurs, des scientifiques appliqués, des linguistes et des experts en sécurité chez Microsoft pour aider les utilisateurs à se familiariser avec l’évaluation des risques liés au contenu et à la sécurité dans les systèmes d’IA générative.

Si vous disposez déjà d’un jeu de données de test avec des prompts d’entrée et des réponses de système IA (par exemple des enregistrements provenant d’une équipe rouge), vous pouvez directement passer ce jeu de données pour qu’il soit annoté par l’évaluateur de risques liés au contenu. Les évaluations de sécurité peuvent contribuer à améliorer et accélérer les efforts manuels d’équipes rouges (« Red Teams ») en permettant à celles-ci de générer et d’automatiser des prompts contradictoires à grande échelle. Toutefois, les évaluations assistées par IA ne sont pas conçues pour remplacer la révision humaine, ni pour fournir une couverture complète de tous les risques possibles.

Diagramme de l’évaluation de la sécurité de l’IA générative dans AI Studio.

Évaluation de la vulnérabilité au jailbreak

Contrairement aux risques liés au contenu, la vulnérabilité au jailbreak ne peut pas être mesurée de manière fiable à travers une annotation directe par un LLM. Toutefois, la vulnérabilité au jailbreak peut être mesurée en comparant deux jeux de données de test parallèles : un jeu de données de test contradictoire de référence, et le même jeu de données de test contradictoire avec des injections de jailbreak au premier tour. Chaque jeu de données peut être annoté par l’évaluateur de risques liés au contenu assisté par IA, ce qui produit un taux de défaut de risques liés au contenu pour chacun d’eux. L’utilisateur évalue ensuite la vulnérabilité au jailbreak en comparant les taux de défaut, et en notant les cas où le jeu de données de jailbreak a conduit à un plus grand nombre de défauts, ou à des défauts de gravité plus élevée. Par exemple, si une instance de ces jeux de données de test parallèles est annotée comme étant plus grave pour la version comportant une injection de jailbreak, cette instance est considérée comme une instance présentant un défaut lié à un jailbreak.

Pour en savoir plus sur les types de tâches pris en charge et les métriques intégrées, consultez Métriques d’évaluation et de monitoring pour l’IA générative.

Évaluation et monitoring des applications d’IA générative

Azure AI Studio prend en charge plusieurs chemins distincts pour les développeurs d’applications d’IA générative afin d’évaluer leurs applications :

Diagramme du flux d’évaluation et de monitoring avec différents chemins pour évaluer les applications d’IA générative.

  • Terrain de jeu : dans le premier chemin, vous pouvez commencer par vous engager dans une expérience de « terrain de jeu ». Ici, vous avez la possibilité de sélectionner les données à utiliser pour fonder votre modèle, de choisir le modèle de base de l’application et de fournir des instructions de metaprompt pour guider le comportement du modèle. Vous pouvez ensuite évaluer manuellement l’application en lui passant un jeu de données, et en observant ses réponses. Une fois l’inspection manuelle effectuée, vous pouvez choisir d’utiliser l’Assistant Évaluation pour effectuer des évaluations plus complètes, via des métriques traditionnelles ou des évaluations assistées par IA.

  • Flux : la page Flux d’invite d’Azure AI Studio offre un outil de développement dédié adapté à la rationalisation de l’ensemble du cycle de vie des applications d’IA avec des modèles LLM. Grâce à ce chemin, vous pouvez créer des flux exécutables qui lient les modèles LLM, les invites et les outils Python via un graphique visuel. Cette fonctionnalité simplifie le débogage, le partage et les itérations collaboratives des flux. De plus, vous pouvez créer des variantes d’invite et évaluer leurs performances par le biais de tests à grande échelle.
    Outre l’outil de développement de flux, vous avez la possibilité de développer vos applications d’IA générative à l’aide d’une expérience de SDK code-first. Quel que soit votre chemin de développement choisi, vous pouvez évaluer vos flux créés via l’Assistant d’évaluation, accessible à partir de l’onglet « Flux » ou via l’expérience SDK/CLI. Sous l’onglet « Flux », vous pouvez même utiliser un Assistant Évaluation personnalisé, et incorporer vos propres métriques.

  • Évaluation directe du jeu de données : si vous avez collecté un jeu de données contenant des interactions entre votre application et les utilisateurs finaux, vous pouvez envoyer ces données directement à l’Assistant Évaluation sous l’onglet « Évaluation ». Ce processus permet la génération d’évaluations automatiques assistées par IA. Vous pouvez visualiser les résultats sous le même onglet. Cette approche repose sur une méthode d’évaluation orientée données. Vous pouvez également évaluer votre jeu de données de conversation à l’aide du kit SDK ou de l’interface CLI, puis générer et visualiser les évaluations via Azure AI Studio.

Une fois que vous avez évalué vos applications, vos flux ou vos données en provenance de l’un de ces canaux, vous pouvez déployer votre application d’IA générative. Vous pouvez ensuite effectuer le monitoring de sa qualité et de sa sécurité dans un environnement de production au fil des interactions créées avec les utilisateurs.

Étapes suivantes