Développement d’applications et de fonctionnalités d’IA générative responsable sur Windows
Ce document fournit une vue d’ensemble des pratiques de développement responsable recommandées à utiliser lorsque vous créez des applications et des fonctionnalités sur Windows avec l’intelligence artificielle générative.
Recommandations en matière de développement responsable d’applications et de fonctionnalités d’IA génératives sur Windows
Chaque équipe chez Microsoft suit les principes et pratiques fondamentaux pour créer et expédier l’IA de manière responsable, y compris Windows. Vous pouvez en savoir plus sur l’approche de Microsoft en matière de développement responsable dans le rapport de transparence de l’IA responsable Microsoft. Windows suit les piliers fondamentaux du développement RAI (gouverner, mapper, mesurer et gérer) qui sont alignés sur le NIST AI Risk Management Framework (Infrastructure de gestion des risques de l’IA du National Institute for Standards and Technology).
Gouverner : stratégies, pratiques et processus
Les normes constituent la base des processus de gouvernance et de conformité. Microsoft a développé sa propre norme d’IA responsable, y compris six principes que vous pouvez utiliser comme point de départ pour développer vos recommandations pour l’IA responsable. Nous vous recommandons de créer des principes d’IA dans votre cycle de vie de développement de bout en bout, ainsi que dans vos processus et flux de travail pour la conformité aux lois et réglementations sur la confidentialité, la sécurité et l’IA responsable. Cela va de l’évaluation anticipée de chaque fonctionnalité d’IA, à l’aide d’outils tels que la liste de contrôle de l’équité de l’IA et les recommandations pour l’interaction entre l’homme et l’IA - Microsoft Research, à la surveillance et à l’examen des points de référence, des tests et des processus d’IA à l’aide d’outils tels qu’une carte de performance de l’IA responsable, en passant par la documentation publique sur les capacités et les limitations de vos fonctionnalités d’IA et la divulgation et les contrôles des utilisateurs -- avis, consentement, informations sur la collecte et le traitement des données, etc. -- conformément aux lois sur la confidentialité, aux exigences réglementaires et aux stratégies applicables.
Mapper : identifier les risques
Les pratiques recommandées pour identifier les risques sont les suivantes :
Tests de bout en bout
Les tests de bout en bout évaluent l’ensemble du système d’intelligence artificielle du début à la fin pour s’assurer qu’il fonctionne comme prévu et respecte les normes établies. Cette approche complète peut inclure :
Red Teaming
Le terme Red Teaming a historiquement décrit les attaques contradictoires systématiques pour tester les failles de sécurité. Plus récemment, le terme s’est étendu au-delà de la cybersécurité traditionnelle et a évolué dans l’utilisation courante pour décrire de nombreux types de détection, de test et d’attaque de systèmes IA.
Avec les grands modèles de langage (LLMs) et les petits modèles de langage (SLMs), l'utilisation bénigne et adversaire peut produire des résultats potentiellement dangereux qui peuvent prendre de nombreuses formes, par exemple notamment le discours haineux, l'incitation à la violence, la glorification de celle-ci, ou le contenu sexuel. Un red teaming approfondi vous permet de tester votre système et d’affiner votre stratégie de contenu pour réduire la possibilité que votre système provoque des dommages.
Tous les systèmes IA doivent subir des tests de red teaming, en fonction de la fonction et de l’objectif, à la fois pour les systèmes à haut risque qui utilisent l’IA générative et les systèmes à risque inférieur qui utilisent l’IA non générative :
Red teaming formel : Un red teaming indépendant doit être réalisé pour tous les systèmes à haut risque qui utilisent l'IA générative à l'aide de grands modèles de langage (GML). L'équipe rouge formelle implique le recrutement de professionnels extérieurs à votre organisation pour participer à des activités d'équipe rouge.
Red teaming interne : Prévoir au minimum un red team interne pour tous les systèmes d'IA à faible risque et non génératifs. Cela peut être effectué par des personnes au sein de votre organisation.
En savoir plus sur le red teaming et l'évaluation des besoins de red teaming de votre système : Microsoft AI Red Team
Évaluation du modèle
Dans le cadre des tests de bout en bout, il est important d’évaluer le modèle lui-même.
Carte de modèles : pour les modèles disponibles publiquement, tels que ceux sur HuggingFace, vous pouvez consulter la carte de modèle de chaque modèle comme référence pratique pour comprendre si un modèle est celui qui convient à votre cas d’utilisation. En savoir plus sur les cartes de modèles.
Tests manuels : les humains effectuant des tests pas à pas sans script sont un composant important de l’évaluation du modèle qui prend en charge…
La mesure de la progression sur un petit ensemble de problèmes prioritaires. Lors de l’atténuation de dommages spécifiques, il est souvent plus productif de continuer à vérifier manuellement la progression sur un petit jeu de données jusqu’à ce que le dommage ne soit plus constaté avant de passer à la mesure automatisée.
Définition et reporting d’indicateurs de performance jusqu’à ce que la mesure automatisée soit suffisamment fiable pour être utilisée seule.
Vérification ponctuelle périodique pour mesurer la qualité de la mesure automatique.
Test automatisé : le test exécuté automatiquement est également un composant important de l’évaluation du modèle qui prend en charge…
la mesure à grande échelle avec une couverture accrue pour fournir des résultats plus complets ;
la mesure en cours pour surveiller toute régression au fur et à mesure de l’évolution du système, de l’utilisation et des préventions.
Sélection du modèle : sélectionnez un modèle adapté à votre objectif et formez-vous en vue de comprendre ses capacités, ses limitations et ses défis potentiels en matière de sécurité. Lors du test de votre modèle, assurez-vous qu’il produit des résultats appropriés à votre utilisation. Pour commencer, les destinations pour les sources de modèle Microsoft (et non-Microsoft/open source) sont les suivantes :
Mesure – Évaluer les risques et prévention
Pratiques recommandées :
Affecter un Content Moderator : Content Moderator analyse le contenu du texte, des images et des vidéos pour vérifier qu’ils ne comportent pas d’éléments potentiellement choquants, dangereux ou indésirables. En savoir plus : Présentation de Content Moderator (formation Microsoft Learn).
Utiliser des filtres de sécurité de contenu: cet ensemble de modèles de classification multiclasse détecte quatre catégories de contenu dangereux (violence, haine, sexualité et auto-préjudice) à différents niveaux de gravité (faible, moyen et élevé). En savoir plus : Guide pratique de configuration des filtres de contenu avec Azure OpenAI Service.
Appliquer une invite de métadonnées : une invite de métadonnées est un message système inclus au début de l’invite et servant à préparer le modèle avec du contexte, des instructions ou d’autres informations pertinentes pour votre cas d’utilisation. Ces instructions servent à guider le comportement du modèle. En savoir plus : Création de garde-fous de sécurité efficaces avec l’ingénierie d’invite de métadonnées/de messages système.
Utiliser des listes de blocage : cela permet de bloquer l’utilisation de certains termes ou modèles dans une invite. En savoir plus : Utiliser une liste de blocage dans Azure OpenAI.
Se familiariser avec la provenance du modèle : la provenance est l’histoire de la propriété d’un modèle, ou le qui-quoi-où-quand, et est très importante à comprendre. Qui a collecté les données dans un modèle ? À qui se rapportent les données ? Quel est le type de données utilisé ? Où les données ont-elles été collectées ? Quand les données ont-elles été collectées ? Savoir d’où proviennent les données de modèle peut vous aider à évaluer leur qualité, leur fiabilité et éviter toute utilisation non éthique, injuste, biaisée ou inexacte des données.
Utiliser un pipeline standard : utilisez un pipeline de modération du contenu plutôt que de rassembler des parties fragmentaires. En savoir plus : Comprendre les pipelines d’apprentissage automatique.
Appliquer des mesures d'atténuation de l'interface utilisateur : Celles-ci apportent une clarté importante à votre utilisateur sur les capacités et les limites d'une fonctionnalité basée sur l'IA. Pour aider les utilisateurs et apporter une certaine transparence à votre fonctionnalité, vous pouvez effectuer les opérations suivantes :
Encourager les utilisateurs à modifier les sorties avant de les accepter
Mettre en évidence des inexactitudes potentielles dans les sorties IA
Révéler le rôle de l’IA dans l’interaction
Citer des références et des sources
Limiter la longueur des entrées et sorties, le cas échéant
Fournir une structure d’entrée ou de sortie : les invites doivent suivre un format standard
Préparez des réponses prédéterminées pour les invites controversées.
Implémenter des boucles de commentaires client : Encourager vos utilisateurs à participer activement à des boucles de commentaires :
Demandez des commentaires directement dans votre application/produit à l’aide d’un mécanisme de commentaires simple disponible dans le contexte dans le cadre de l’expérience utilisateur.
Appliquez des techniques d’écoute sociale sur les canaux que vos clients utilisent pour des échanges anticipés sur les problèmes de fonctionnalités, les préoccupations et les dommages possibles.
Gérer - Prévenir les risques liés à l’IA
Les recommandations pour prévenir les risques liés à l’IA sont les suivants :
Surveillance des abus : cette méthodologie détecte et atténue des instances de contenu et/ou de comportements récurrents qui suggèrent qu’un service a été utilisé d’une manière susceptible de violer le Code de conduite ou d’autres conditions applicables du produit. En savoir plus : Surveillance des abus.
Livraison par phases : déployer lentement votre solution d’IA pour gérer les rapports entrants et les préoccupations.
Plan de réponse aux incidents : pour tous les risques à haute priorité, évaluer ce qui se passera et combien de temps il faudra pour répondre à un incident, et à quoi ressemblera le processus de réponse.
Possibilité de désactiver la fonctionnalité ou le système : proposer une possibilité de désactiver la fonctionnalité si un incident est sur le point de se produire ou s’est produit, ce qui nécessite la suspension de la fonctionnalité pour éviter d’autres dommages.
Contrôles/blocages de l’accès utilisateur : développer un moyen de bloquer les utilisateurs qui utilisent un système à mauvais escient.
Mécanisme de commentaires utilisateur : Utilisez des mécanismes pour détecter les problèmes du côté de l’utilisateur.
Demandez des commentaires directement dans votre produit, avec un mécanisme de commentaires simple disponible dans le contexte d’un flux de travail classique.
Appliquez des techniques d’écoute sociale sur les canaux que vos clients utilisent pour des échanges anticipés sur les problèmes de fonctionnalités, les préoccupations et les dommages possibles.
Déploiement responsable de données de télémétrie : identifier, collecter et surveiller les signaux qui indiquent la satisfaction des utilisateurs ou leur capacité à utiliser le système comme prévu, en s’assurant de respecter les lois, stratégies et engagements applicables en matière de confidentialité. Utiliser des données de télémétrie pour identifier les lacunes et améliorer le système.
Outils et ressources
Boîte à outils d’IA responsable : l’IA responsable est une approche du développement, de l’évaluation et du déploiement de systèmes IA de façon sûre, fiable et éthique. La boîte à outils d’IA responsable est une suite d’outils proposant une collection de bibliothèques et d’interfaces utilisateur d’exploration et d’évaluation de modèles et de données qui permettent une meilleure compréhension des systèmes IA. Ces interfaces et bibliothèques permettent aux développeurs et aux parties prenantes des systèmes IA de développer et de surveiller l’IA de manière plus responsable et de prendre de meilleures mesures pilotées par les données.
Débogage du modèle de tableau de bord d’IA responsable : ce tableau de bord peut vous aider à identifier, diagnostiquer et atténuer les problèmes, à l’aide de données permettant de prendre des mesures éclairées. Cette expérience personnalisable peut être menée dans une multitude de directions, de l’analyse du modèle ou des données de manière holistique, à la réalisation d’une analyse approfondie ou à une comparaison sur les cohortes d’intérêt, à l’explication et à la perturbation des prédictions de modèle pour des instances individuelles, et à l’information des utilisateurs sur les décisions et actions métier. Répondre au questionnaire sur la prise de décision pour l’IA responsable.
Passer en revue le résumé Azure Machine Learning de Qu’est-ce que l’IA responsable ?
Lire l’article de Brad Smith sur la lutte contre le contenu abusif généré par l’IA : approche globale du 13 février 2024.
Lire le blog Sécurité Microsoft.
Vue d’ensemble des pratiques d’IA responsable pour les modèles Azure OpenAI - Azure AI Services
Comment utiliser les filtres de contenu (préversion) avec Azure OpenAI Service
Comment utiliser les listes de blocage avec Azure OpenAI Service
Planification de la Red Team pour les grands modèles de langage (LLM) et leurs applications
Modélisation des menaces dans les systèmes d’IA/de ML et leurs dépendances
Pivots de l’IA/du ML pour la sécurité. Barre de bogues du cycle de vie du développement
Outils pour la gestion et l’élaboration de préventions de l’IA responsable - Microsoft Research
Planification des défaillances de langage naturel avec le guide opérationnel IA
Error Analysis et Build Responsible AI using Error Analysis toolkit (youtube.com)
InterpretML et How to Explain Models with IntepretML Deep Dive (youtube.com)
Black-Box and Glass-Box Explanation in Machine Learning (youtube.com)