Parlons des biais dans l’apprentissage automatique ! Newsletter d’éthique et de société n°2
Parlons des biais dans l'apprentissage automatique ! Newsletter d'éthique et de société n°2.
Le biais dans l’apprentissage automatique est omniprésent et complexe ; si complexe en fait qu’aucune intervention technique unique ne sera probablement en mesure de résoudre de manière significative les problèmes qu’il engendre. Les modèles d’apprentissage automatique, en tant que systèmes sociotechniques, amplifient les tendances sociales qui peuvent aggraver les inégalités et les biais préjudiciables de manière dépendante du contexte de déploiement et évoluent constamment.
Cela signifie que le développement de systèmes d’apprentissage automatique avec soin nécessite de la vigilance et de répondre aux commentaires provenant de ces contextes de déploiement, que nous pouvons faciliter en partageant des leçons à travers les contextes et en développant des outils pour analyser les signes de biais à chaque niveau du développement de l’apprentissage automatique.
Cet article de blog des habitués de l’éthique et de la société @🤗 partage certaines des leçons que nous avons apprises ainsi que les outils que nous avons développés pour nous soutenir nous-mêmes et les autres dans les efforts de notre communauté pour mieux traiter le biais dans l’apprentissage automatique. La première partie est une réflexion plus large sur le biais et son contexte. Si vous l’avez déjà lu et que vous revenez spécifiquement pour les outils, n’hésitez pas à passer à la section des ensembles de données ou des modèles !
Sélection d’outils développés par les membres de l’équipe 🤗 pour traiter le biais dans l’apprentissage automatique
- Cartes de modèle
- Segmentation d’image sans apprentissage préalable avec CLIPSeg
- Accélérer les transformateurs PyTorch avec Intel Sapphire Rapids – partie 1
Table des matières :
- Sur les biais de l’apprentissage automatique
- Biais de machine : des systèmes d’apprentissage automatique aux risques
- Mettre le biais dans son contexte
- Outils et recommandations
- Aborder le biais tout au long du développement de l’apprentissage automatique
- Définition de la tâche
- Curatelle des ensembles de données
- Entraînement du modèle
- Vue d’ensemble des outils de biais 🤗
- Aborder le biais tout au long du développement de l’apprentissage automatique
Biais de machine : des systèmes d’apprentissage automatique aux risques personnels et sociaux
Les systèmes d’apprentissage automatique nous permettent d’automatiser des tâches complexes à une échelle jamais vue auparavant, car ils sont déployés dans de plus en plus de secteurs et de cas d’utilisation. Lorsque la technologie fonctionne au mieux, elle peut aider à faciliter les interactions entre les personnes et les systèmes techniques, éliminer le besoin de travaux très répétitifs ou ouvrir de nouvelles voies de traitement de l’information pour soutenir la recherche.
Ces mêmes systèmes sont également susceptibles de reproduire des comportements discriminatoires et abusifs présents dans leurs données d’entraînement, en particulier lorsque les données codent des comportements humains. La technologie a alors le potentiel d’aggraver considérablement ces problèmes. L’automatisation et le déploiement à grande échelle peuvent en effet :
- ancrer les comportements dans le temps et entraver la progression sociale reflétée dans la technologie,
- propager des comportements préjudiciables au-delà du contexte des données d’entraînement initiales,
- amplifier les inégalités en se concentrant trop sur des associations stéréotypées lors de la prise de décisions,
- supprimer les possibilités de recours en dissimulant les biais dans des systèmes “boîte noire”.
Afin de mieux comprendre et résoudre ces risques, les chercheurs et développeurs en apprentissage automatique ont commencé à étudier le biais de machine ou le biais algorithmique, des mécanismes qui pourraient conduire les systèmes, par exemple, à coder des stéréotypes ou associations négatifs ou à avoir des performances disparates pour différents groupes de population dans leur contexte de déploiement.
Ces problèmes sont profondément personnels pour bon nombre d’entre nous, chercheurs et développeurs en apprentissage automatique chez Hugging Face et dans la communauté plus large de l’apprentissage automatique. Hugging Face est une entreprise internationale, dont beaucoup d’entre nous évoluent entre différents pays et cultures. Il est difficile d’exprimer pleinement notre sentiment d’urgence lorsque nous voyons la technologie sur laquelle nous travaillons développée sans une préoccupation suffisante pour la protection de personnes comme nous ; surtout lorsque ces systèmes conduisent à des arrestations discriminatoires injustes ou à des détresses financières indues et sont de plus en plus vendus aux services d’immigration et de maintien de l’ordre dans le monde entier. De même, voir nos identités régulièrement supprimées dans les ensembles de données d’entraînement ou sous-représentées dans les sorties des systèmes d’IA générative relie ces préoccupations à nos expériences vécues quotidiennes de manière simultanément éclairante et épuisante.
Si nos propres expériences ne couvrent pas de près les innombrables façons dont la discrimination médiée par l’apprentissage automatique peut nuire de manière disproportionnée aux personnes dont les expériences diffèrent des nôtres, elles fournissent un point d’entrée pour la prise en compte des compromis inhérents à la technologie. Nous travaillons sur ces systèmes parce que nous croyons fermement au potentiel de l’apprentissage automatique – nous pensons qu’il peut briller en tant qu’outil précieux tant qu’il est développé avec soin et avec la contribution des personnes dans son contexte de déploiement, plutôt que comme une panacée universelle. En particulier, permettre cette prudence nécessite de mieux comprendre les mécanismes du biais de machine tout au long du processus de développement de l’apprentissage automatique, et de développer des outils qui soutiennent les personnes de tous niveaux de connaissances techniques de ces systèmes en participant aux conversations nécessaires sur la façon dont leurs avantages et leurs méfaits sont répartis.
Le présent article de blog des membres réguliers de l’éthique et de la société de Hugging Face donne un aperçu de la façon dont nous avons travaillé, travaillons ou recommandons aux utilisateurs de l’écosystème de bibliothèques HF de travailler pour aborder les biais aux différentes étapes du processus de développement de l’apprentissage automatique (ML), et les outils que nous développons pour soutenir ce processus. Nous espérons que vous le trouverez utile pour guider les considérations concrètes de l’impact social de votre travail et que vous pourrez exploiter les outils mentionnés ici pour aider à atténuer ces problèmes lorsqu’ils se posent.
Mettre les biais en contexte
Le premier et peut-être le concept le plus important à considérer lorsqu’il s’agit de biais dans les machines est le contexte. Dans leur travail fondateur sur les biais dans le traitement du langage naturel (NLP), Su Lin Blodgett et al. soulignent que : “[L]a majorité des travaux universitaires sur les biais des machines ne s’engagent pas de manière critique avec ce qui constitue” un biais “en premier lieu”, en incluant la construction de leur travail sur la base “d’hypothèses non déclarées sur les types de comportements des systèmes qui sont nuisibles, de quelle manière, à qui et pourquoi”.
Cela ne vient peut-être pas comme une grande surprise compte tenu de l’accent de la communauté de recherche en ML sur la valeur de “la généralisation” – la motivation la plus citée pour travailler dans ce domaine après “les performances”. Cependant, bien que les outils d’évaluation des biais qui s’appliquent à un large éventail de contextes soient précieux pour permettre une analyse plus large des tendances communes dans les comportements des modèles, leur capacité à cibler les mécanismes qui conduisent à la discrimination dans des cas d’utilisation concrets est intrinsèquement limitée. Les utiliser pour guider des décisions spécifiques dans le cycle de développement de l’apprentissage automatique nécessite généralement une étape supplémentaire ou deux pour prendre en compte le contexte d’utilisation spécifique du système et les personnes concernées.
Extrait sur les considérations du contexte d’utilisation des ML et des personnes du Guide des cartes de modèle
Maintenant, plongeons plus profondément dans la question de la liaison des biais dans les artefacts ML autonomes/sans contexte à des préjudices spécifiques. Il peut être utile de penser aux biais des machines comme des facteurs de risque de préjudices liés à la discrimination. Prenons l’exemple d’un modèle texte-image qui sureprésente les tons de peau clairs lorsqu’il est sollicité pour créer une image d’une personne dans un environnement professionnel, mais produit des tons de peau plus sombres lorsque les indications mentionnent la criminalité. Ces tendances seraient ce que nous appelons des biais des machines au niveau du modèle. Maintenant, réfléchissons à quelques systèmes qui utilisent un tel modèle texte-image :
- Le modèle est intégré à un service de création de sites web (par exemple, SquareSpace, Wix) pour aider les utilisateurs à générer des arrière-plans pour leurs pages. Le modèle désactive explicitement les images de personnes dans l’arrière-plan généré.
- Dans ce cas, le “facteur de risque” du biais des machines n’entraîne aucun préjudice discriminatoire car l’accent du biais (les images de personnes) est absent du cas d’utilisation.
- Aucune stratégie d’atténuation supplémentaire n’est requise pour les biais des machines, bien que les développeurs doivent être conscients des discussions en cours sur la légalité de l’intégration de systèmes formés sur des données collectées dans des systèmes commerciaux.
- Le modèle est intégré à un site web d’images libres de droits pour fournir aux utilisateurs des images synthétiques de personnes (par exemple, dans des environnements professionnels) qu’ils peuvent utiliser avec moins de préoccupations en matière de confidentialité, par exemple, pour servir d’illustrations d’articles Wikipédia.
- Dans ce cas, le biais des machines agit pour renforcer et amplifier les biais sociaux existants. Il renforce les stéréotypes sur les personnes (“les PDG sont tous des hommes blancs”) qui se répercutent ensuite dans des systèmes sociaux complexes où des biais accrus entraînent une discrimination accrue de nombreuses manières différentes (comme le renforcement des biais implicites sur le lieu de travail).
- Les stratégies d’atténuation peuvent inclure la sensibilisation des utilisateurs d’images libres de droits à ces biais, ou le site web d’images libres de droits peut sélectionner des images générées pour proposer délibérément un ensemble de représentations plus diversifié.
- Le modèle est intégré à un logiciel de “portrait-robot virtuel” commercialisé auprès des services de police qui l’utiliseront pour générer des photos de suspects sur la base de témoignages verbaux.
- Dans ce cas, les biais des machines causent directement une discrimination en dirigeant systématiquement les services de police vers des personnes à la peau plus sombre, les exposant à un risque accru de préjudices, y compris des blessures physiques et des emprisonnements illégaux.
- Dans des cas comme celui-ci, il peut ne pas y avoir de niveau d’atténuation des biais acceptable. En particulier, un tel cas d’utilisation serait étroitement lié à la reconnaissance faciale dans le contexte des forces de l’ordre, où des problèmes de biais similaires ont conduit plusieurs entités commerciales et législateurs à adopter des moratoires suspendant ou interdisant son utilisation de manière générale.
Alors, qui est responsable des biais des machines en ML ? Ces trois cas illustrent l’une des raisons pour lesquelles les discussions sur la responsabilité des développeurs de ML dans l’adressage des biais peuvent devenir si compliquées : en fonction des décisions prises à d’autres moments du processus de développement du système ML par d’autres personnes, les biais dans un ensemble de données ou un modèle ML peuvent se situer n’importe où entre l’irrélevance pour les paramètres d’application et la conduite directe de préjudices graves. Cependant, dans tous ces cas, des biais plus forts dans le modèle/ensemble de données augmentent le risque de résultats négatifs. L’Union européenne a commencé à élaborer des cadres pour aborder ce phénomène dans les récents efforts réglementaires : en bref, une entreprise qui déploie un système d’IA basé sur un modèle mesurément biaisé est responsable des préjudices causés par le système.
La conceptualisation du biais en tant que facteur de risque nous permet alors de mieux comprendre la responsabilité partagée des développeurs à toutes les étapes vis-à-vis des biais des machines. Le biais ne peut jamais être totalement éliminé, notamment parce que les définitions des biais sociaux et les dynamiques de pouvoir qui les lient à la discrimination varient énormément selon les contextes sociaux. Cependant :
- Chaque étape du processus de développement, de la spécification de la tâche, de la création de l’ensemble de données et de la formation du modèle, à l’intégration du modèle et au déploiement du système, peut prendre des mesures pour minimiser les aspects du biais de la machine** qui dépendent le plus directement de ses choix** et de ses décisions techniques, et
- Une communication claire et un échange d’informations entre les différentes étapes du développement de l’apprentissage automatique peuvent faire la différence entre faire des choix qui se renforcent mutuellement pour atténuer le potentiel négatif du biais (approche multiprongée de l’atténuation du biais, comme dans le scénario de déploiement 1 ci-dessus) et faire des choix qui exacerbent ce potentiel négatif et augmentent le risque de préjudice (comme dans le scénario de déploiement 3).
Dans la section suivante, nous passerons en revue ces différentes étapes ainsi que certains des outils qui peuvent nous aider à traiter le biais des machines à chacune d’entre elles.
Traitement du biais tout au long du cycle de développement de l’apprentissage automatique
Prêt pour quelques conseils pratiques ? Allons-y 🤗
Il n’y a pas une seule façon de développer des systèmes d’apprentissage automatique ; l’ordre des étapes dépend d’un certain nombre de facteurs, notamment le contexte de développement (université, grande entreprise, start-up, organisation de base, etc.), la modalité (texte, données tabulaires, images, etc.) et la prédominance ou la rareté des ressources d’apprentissage automatique disponibles publiquement. Cependant, nous pouvons identifier trois étapes communes d’un intérêt particulier pour traiter le biais. Il s’agit de la définition de la tâche, de la création de l’ensemble de données et de la formation du modèle. Jetons un coup d’œil à la manière dont la gestion du biais peut différer à travers ces différentes étapes.
The Bias ML Pipeline by Meg
Je définis la tâche de mon système d’apprentissage automatique, comment puis-je traiter le biais ?
Savoir si et dans quelle mesure le biais dans le système affecte concrètement les personnes dépend en fin de compte de l’utilisation qui en est faite. En tant que tel, le premier endroit où les développeurs peuvent travailler pour atténuer le biais est lorsqu’ils décident comment l’apprentissage automatique s’intègre dans leur système, par exemple en décidant de l’objectif d’optimisation qu’il utilisera.
Par exemple, revenons à l’un des premiers cas très médiatisés d’un système d’apprentissage automatique utilisé en production pour la recommandation algorithmique de contenu. De 2006 à 2009, Netflix a organisé le Netflix Prize, un concours doté d’un prix en argent de 1 million de dollars qui mettait au défi des équipes du monde entier de développer des systèmes d’apprentissage automatique pour prédire avec précision la note qu’un utilisateur donnerait à un nouveau film sur la base de ses notes passées. La soumission gagnante a amélioré le RMSE (erreur quadratique moyenne) des prédictions sur des paires utilisateur-film invisibles de plus de 10 % par rapport à l’algorithme CineMatch de Netflix lui-même, ce qui signifie qu’il est devenu beaucoup plus performant pour prédire comment les utilisateurs noteraient un nouveau film en se basant sur leur historique. Cette approche a ouvert la voie à une grande partie de la recommandation algorithmique de contenu moderne en sensibilisant le public au rôle de l’apprentissage automatique dans la modélisation des préférences des utilisateurs dans les systèmes de recommandation.
Alors, en quoi cela concerne-t-il le biais ? Ne semble-t-il pas bon de montrer aux gens du contenu qu’ils sont susceptibles d’apprécier sur une plateforme de contenu ? Eh bien, il s’avère que montrer aux gens plus d’exemples de ce qu’ils ont aimé dans le passé finit par réduire la diversité des médias qu’ils consomment . Non seulement cela conduit les utilisateurs à être moins satisfaits à long terme, mais cela signifie également que les biais ou stéréotypes capturés par les modèles initiaux – par exemple, lors de la modélisation des préférences des utilisateurs afro-américains ou des dynamiques qui désavantagent systématiquement certains artistes – risquent d’être renforcés si le modèle est ensuite entraîné sur des interactions utilisateur-ML en cours. Cela reflète deux des types de préoccupations liées au biais que nous avons mentionnés ci-dessus : l’objectif de formation agit comme un facteur de risque pour les préjudices liés au biais, car il rend beaucoup plus probable l’apparition de biais préexistants dans les prédictions, et la formulation de la tâche a pour effet de verrouiller et d’exacerber les biais passés.
Une stratégie prometteuse d’atténuation du biais à cette étape consiste à reformuler la tâche de manière à modéliser explicitement à la fois l’engagement et la diversité lors de l’application de l’apprentissage automatique à la recommandation algorithmique de contenu. Les utilisateurs sont susceptibles d’obtenir une satisfaction à long terme accrue et le risque d’exacerber les biais tels que décrits ci-dessus est réduit !
Cet exemple sert à illustrer que l’impact des biais des machines dans un produit pris en charge par l’apprentissage automatique dépend non seulement de l’endroit où nous décidons d’utiliser l’apprentissage automatique, mais aussi de la manière dont les techniques d’apprentissage automatique sont intégrées dans le système technique plus large, et avec quel objectif. Lorsque vous commencez à étudier comment l’apprentissage automatique peut s’intégrer dans un produit ou un cas d’utilisation qui vous intéresse, nous vous recommandons tout d’abord d’analyser les modes de défaillance du système sous l’angle du biais avant même de vous plonger dans les modèles ou ensembles de données disponibles – quels comportements des systèmes existants dans cet espace seront particulièrement préjudiciables ou plus susceptibles de se produire si le biais est exacerbé par les prédictions de l’apprentissage automatique ?
Nous avons créé un outil pour guider les utilisateurs à travers ces questions dans un autre cas de gestion algorithmique du contenu : la détection de discours haineux dans la modération automatique du contenu. Nous avons constaté, par exemple, qu’en examinant des articles d’actualité et scientifiques qui ne se concentraient pas spécifiquement sur la partie ML de la technologie, il était déjà possible d’avoir une idée de l’endroit où les biais sont déjà présents. Allez jeter un coup d’œil pour voir comment les modèles et les ensembles de données s’intègrent au contexte de déploiement et comment ils peuvent être liés à des préjudices connus liés aux biais !
Outil d’exploration des tâches ACM par Angie, Amandalynne et Yacine
Définition de la tâche : recommandations
Il existe autant de façons pour la définition et le déploiement de la tâche de ML d’affecter le risque de préjudices liés aux biais qu’il y a d’applications pour les systèmes de ML. Comme dans les exemples ci-dessus, certaines étapes courantes qui peuvent aider à décider si et comment appliquer le ML de manière à minimiser le risque de préjudices liés aux biais comprennent :
- Investigation :
- Rapports de biais dans le domaine pré-ML
- Les catégories démographiques à risque pour votre cas d’utilisation spécifique
- Examen :
- L’impact de votre objectif d’optimisation sur le renforcement des biais
- Des objectifs alternatifs favorisant la diversité et des impacts positifs à long terme
Je suis en train de sélectionner/créer un ensemble de données pour mon système de ML, comment puis-je traiter les biais ?
Alors que les ensembles de données d’entraînement ne sont pas la seule source de biais dans le cycle de développement de ML, ils jouent un rôle important. Votre ensemble de données associe-t-il de manière disproportionnée les biographies des femmes à des événements de la vie, tandis que ceux des hommes sont associés à des réalisations ? Ces stéréotypes risquent probablement de se retrouver dans votre système de ML complet ! Votre ensemble de données de reconnaissance vocale ne présente-t-il que des accents spécifiques ? Ce n’est pas bon signe pour l’inclusivité de la technologie que vous construisez en termes de performances disparates ! Que vous sélectionniez un ensemble de données pour des applications de ML ou que vous choisissiez un ensemble de données pour entraîner un modèle de ML, découvrir, atténuer et communiquer dans quelle mesure les données présentent ces phénomènes sont toutes des étapes nécessaires pour réduire les risques liés aux biais.
Vous pouvez généralement avoir une assez bonne idée des biais probables dans un ensemble de données en réfléchissant à son origine, aux personnes représentées dans les données et au processus de création. Plusieurs cadres pour cette réflexion et cette documentation ont été proposés, tels que les déclarations de données pour le NLP ou les fiches techniques pour les ensembles de données. Le Hub Hugging Face inclut un modèle de fiche d’ensemble de données et un guide inspiré par ces travaux ; la section sur les considérations relatives à l’utilisation des données est généralement un bon endroit où chercher des informations sur les biais notables si vous parcourez des ensembles de données, ou pour rédiger un paragraphe partageant vos connaissances sur le sujet si vous en partagez un nouveau. Et si vous recherchez plus d’inspiration sur ce qu’il faut y mettre, consultez ces sections rédigées par les utilisateurs du Hub dans l’organisation BigLAM pour les ensembles de données historiques de procédures judiciaires, de classification d’images et de journaux.
Guide de la fiche d’ensemble de données HF pour les sections sur l’impact social et les biais
Si décrire l’origine et le contexte d’un ensemble de données est toujours un bon point de départ pour comprendre les biais en jeu, mesurer quantitativement les phénomènes qui codent ces biais peut être tout aussi utile. Si vous choisissez entre deux ensembles de données différents pour une tâche donnée ou si vous choisissez entre deux modèles de ML entraînés sur des ensembles de données différentes, savoir lequel représente mieux la composition démographique de la base d’utilisateurs de votre système de ML peut vous aider à prendre une décision éclairée pour minimiser les risques liés aux biais. Si vous créez un ensemble de données de manière itérative en filtrant des points de données à partir d’une source ou en sélectionnant de nouvelles sources de données à ajouter, mesurer comment ces choix affectent la diversité et les biais présents dans l’ensemble de données global peut rendre son utilisation plus sûre en général.
Nous avons récemment publié deux outils que vous pouvez utiliser pour mesurer vos données selon une perspective informée par les biais. La bibliothèque disaggregators🤗 propose des utilitaires pour quantifier la composition de votre ensemble de données, en utilisant soit des métadonnées, soit des modèles pour déduire les propriétés des points de données. Cela peut être particulièrement utile pour minimiser les risques de préjudices liés à la représentation ou de performances disparates des modèles entraînés. Consultez la démo pour voir comment elle est appliquée aux ensembles de données LAION, MedMCQA et The Stack !
Outil de désagrégation par Nima
Une fois que vous disposez de statistiques utiles sur la composition de votre ensemble de données, vous voudrez également examiner les associations entre les caractéristiques de vos éléments de données, en particulier les associations qui peuvent encoder des stéréotypes péjoratifs ou négatifs. L’outil de mesure des données que nous avons introduit l’année dernière vous permet de le faire en examinant l’information mutuelle ponctuelle normalisée (nPMI) entre les termes de votre ensemble de données basé sur du texte ; en particulier les associations entre les pronoms genrés qui peuvent indiquer des stéréotypes genrés. Exécutez-le vous-même ou essayez-le ici sur quelques ensembles de données précalculés !
Outil de mesure des données par Meg, Sasha, Bibi et l’équipe Gradio
Sélection/curation des ensembles de données : recommandations
Ces outils ne sont pas des solutions complètes en eux-mêmes, mais ils sont conçus pour soutenir l’examen critique et l’amélioration des ensembles de données à travers plusieurs angles, y compris l’angle du biais et des risques liés au biais. En général, nous vous encourageons à garder à l’esprit les étapes suivantes lors de l’utilisation de ces outils et d’autres outils pour atténuer les risques de biais à l’étape de la curation/sélection des ensembles de données :
- Identifier :
- Les aspects de la création de l’ensemble de données qui peuvent exacerber des biais spécifiques
- Les catégories démographiques et les variables sociales qui sont particulièrement importantes pour la tâche et le domaine de l’ensemble de données
- Mesurer :
- La répartition démographique dans votre ensemble de données
- Les stéréotypes négatifs préidentifiés représentés
- Documenter :
- Partagez ce que vous avez identifié et mesuré dans votre fiche d’ensemble de données afin que cela puisse bénéficier à d’autres utilisateurs, développeurs et personnes concernées
- S’adapter :
- En choisissant l’ensemble de données le moins susceptible de causer des préjudices liés au biais
- En améliorant de manière itérative votre ensemble de données de manière à réduire les risques de biais
Je suis en train de former/sélectionner un modèle pour mon système d’apprentissage automatique (ML), comment puis-je traiter le biais ?
Tout comme l’étape de curation/sélection des ensembles de données, la documentation et la mesure des phénomènes liés au biais dans les modèles peuvent aider à la fois les développeurs de ML qui sélectionnent un modèle à utiliser tel quel ou à affiner et les développeurs de ML qui souhaitent former leurs propres modèles. Pour ces derniers, les mesures des phénomènes liés au biais dans le modèle peuvent les aider à tirer des enseignements de ce qui a fonctionné ou non pour d’autres modèles et servir de signal pour orienter leurs propres choix de développement.
Les fiches de modèle ont été proposées à l’origine par (Mitchell et al., 2019) et fournissent un cadre de reporting des modèles qui met en valeur des informations pertinentes sur les risques de biais, y compris des considérations éthiques générales, une évaluation désagrégée et des recommandations d’utilisation. Le Hugging Face Hub propose encore plus d’outils pour la documentation des modèles, avec un guide des fiches de modèle dans la documentation du Hub, et une application qui vous permet de créer facilement des fiches de modèle détaillées pour votre nouveau modèle.
Outil d’écriture de fiches de modèle par Ezi, Marissa et Meg
La documentation est une première étape importante pour partager des informations générales sur le comportement d’un modèle, mais elle est généralement statique et présente les mêmes informations à tous les utilisateurs. Dans de nombreux cas, en particulier pour les modèles génératifs qui peuvent générer des sorties pour approximer la distribution de leurs données d’entraînement, nous pouvons obtenir une compréhension plus contextuelle des phénomènes liés au biais et aux stéréotypes négatifs en visualisant et en contrastant les sorties du modèle. L’accès aux générations de modèles peut aider les utilisateurs à apporter des problèmes intersectionnels dans le comportement du modèle correspondant à leur expérience vécue, et à évaluer dans quelle mesure un modèle reproduit des stéréotypes genrés pour différents adjectifs. Pour faciliter ce processus, nous avons construit un outil qui vous permet de comparer les générations non seulement sur un ensemble d’adjectifs et de professions, mais aussi entre différents modèles ! Essayez-le pour avoir une idée du modèle qui pourrait présenter le moins de risques de biais dans votre cas d’utilisation.
Visualiser les biais des adjectifs et des professions dans la génération d’images par Sasha
La visualisation des sorties de modèle n’est pas réservée aux seuls modèles génératifs ! Pour les modèles de classification, nous voulons également être attentifs aux préjudices liés au biais causés par des performances disparates du modèle sur différentes populations. Si vous savez quelles classes protégées sont les plus exposées à la discrimination et que vous les avez annotées dans un ensemble d’évaluation, vous pouvez alors indiquer les performances désagrégées pour les différentes catégories dans la fiche de modèle, comme mentionné ci-dessus, afin que les utilisateurs puissent prendre des décisions éclairées. Si toutefois vous craignez de ne pas avoir identifié toutes les populations exposées à des préjudices liés au biais, ou si vous n’avez pas accès à des exemples de test annotés pour mesurer les biais que vous soupçonnez, c’est là que les visualisations interactives des échecs du modèle sont utiles ! Pour vous aider dans cette tâche, l’application SEAL regroupe les erreurs similaires de votre modèle et vous montre certaines caractéristiques communes dans chaque groupe. Si vous souhaitez aller plus loin, vous pouvez même le combiner avec la bibliothèque des désagrégateurs que nous avons introduite dans la section sur les ensembles de données pour trouver des groupes qui indiquent des modes d’échec liés au biais !
Analyse systématique des erreurs et étiquetage (SEAL) par Nazneen
Enfin, quelques benchmarks existent qui peuvent mesurer les phénomènes liés aux biais dans les modèles. Pour les modèles de langage, des benchmarks tels que BOLD, HONEST ou WinoBias fournissent des évaluations quantitatives des comportements ciblés qui sont indicatifs des biais dans les modèles. Bien que les benchmarks aient leurs limites, ils offrent une vue limitée sur certains risques de biais pré-identifiés qui peuvent aider à décrire comment les modèles fonctionnent ou à choisir entre différents modèles. Vous pouvez trouver ces évaluations pré-calculées sur une gamme de modèles de langage courants dans cet espace d’exploration pour avoir une première idée de leur comparaison !
Détection des biais dans les modèles de langage par Sasha
Même avec accès à un benchmark pour les modèles que vous envisagez, vous pourriez constater que l’exécution d’évaluations des plus grands modèles de langage que vous envisagez peut être prohibitivement coûteuse ou techniquement impossible avec vos propres ressources informatiques. L’outil Evaluation on the Hub que nous avons publié cette année peut vous aider : non seulement il exécutera les évaluations pour vous, mais il vous aidera également à les relier à la documentation du modèle afin que les résultats soient disponibles une fois pour toutes – ainsi tout le monde peut voir, par exemple, que la taille augmente de manière mesurable les risques de biais dans des modèles comme OPT !
Scores WinoBias des grands modèles calculés avec Evaluation on the Hub par Helen, Tristan, Abhishek, Lewis et Douwe
Sélection/développement du modèle : recommandations
Pour les modèles tout comme pour les jeux de données, différents outils de documentation et d’évaluation fourniront différentes perspectives sur les risques de biais dans un modèle, qui ont tous un rôle à jouer pour aider les développeurs à choisir, développer ou comprendre les systèmes d’apprentissage automatique.
- Visualisez
- Modèle génératif : visualisez comment les sorties du modèle peuvent refléter des stéréotypes
- Modèle de classification : visualisez les erreurs du modèle pour identifier les modes de défaillance qui pourraient entraîner des performances disparates
- Évaluez
- Si possible, évaluez les modèles sur des benchmarks pertinents
- Documentez
- Partagez vos apprentissages issus de la visualisation et de l’évaluation qualitative
- Rapportez les performances désagrégées de votre modèle et les résultats sur les benchmarks d’équité applicables
Conclusion et aperçu des outils d’analyse et de documentation des biais de 🤗
À mesure que nous apprenons à exploiter les systèmes d’apprentissage automatique dans de plus en plus d’applications, tirer parti de leurs avantages de manière équitable dépendra de notre capacité à atténuer activement les risques de préjudices liés aux biais associés à la technologie. Bien qu’il n’y ait pas de réponse unique à la question de la meilleure façon de le faire dans n’importe quel contexte possible, nous pouvons nous soutenir mutuellement dans cet effort en partageant des leçons, des outils et des méthodologies pour atténuer et documenter ces risques. Le présent billet de blog présente certaines des façons dont les membres de l’équipe de Hugging Face ont abordé cette question de biais ainsi que les outils d’accompagnement, nous espérons que vous les trouverez utiles et nous vous encourageons à développer et à partager les vôtres !
Résumé des outils liés :
- Tâches :
- Explorez notre répertoire des tâches d’apprentissage automatique pour comprendre les encadrements techniques et les ressources disponibles
- Utilisez des outils pour explorer le cycle de développement complet de tâches spécifiques
- Jeu de données :
- Utilisez et contribuez aux Cartes de jeu de données pour partager des informations pertinentes sur les biais dans les jeux de données.
- Utilisez le Disaggregator pour rechercher des performances disparates possibles
- Consultez les mesures agrégées de votre jeu de données, y compris le nPMI, pour mettre en évidence les associations stéréotypées possibles
- Modèles :
- Utilisez et contribuez aux Cartes de modèle pour partager des informations pertinentes sur les biais dans les modèles.
- Utilisez les Cartes de modèle interactives pour visualiser les écarts de performance
- Examinez les erreurs systématiques du modèle et recherchez les biais sociaux connus
- Utilisez Evaluate et Evaluation on the Hub pour explorer les biais des modèles de langage, y compris dans les grands modèles
- Utilisez un explorateur de biais texte-vers-image pour comparer les biais des modèles de génération d’images
- Comparez les modèles de langage avec Bias Score Card
Merci de votre lecture ! 🤗
~ Yacine, au nom des habitués de l’éthique et de la société
Si vous souhaitez citer cet article de blog, veuillez utiliser le code suivant:
@inproceedings{hf_ethics_soc_blog_2,
author = {Yacine Jernite et
Alexandra Sasha Luccioni et
Irene Solaiman et
Giada Pistilli et
Nathan Lambert et
Ezi Ozoani et
Brigitte Toussignant et
Margaret Mitchell},
title = {Bulletin d'éthique et de société Hugging Face 2 : Parlons de biais !},
booktitle = {Blog Hugging Face},
year = {2022},
url = {https://doi.org/10.57967/hf/0214},
doi = {10.57967/hf/0214}
}
We will continue to update IPGirl; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles
- IA pour le développement de jeux Création d’un jeu de ferme en 5 jours. Partie 1
- Introduction à l’apprentissage machine sur les graphes
- IA pour le développement de jeux Création d’un jeu de ferme en 5 jours. Partie 2
- Similarité d’image avec les ensembles de données et les transformateurs Hugging Face
- Bienvenue à PaddlePaddle sur le Hugging Face Hub
- Segmentation universelle des images avec Mask2Former et OneFormer
- Génération d’actifs 3D IA pour le développement de jeux #3