Incidents associés

Rapport spécial OpenAI construit un filtre de contenu pour empêcher GPT-3, son dernier et plus grand réseau neuronal générateur de texte, de révéler par inadvertance les informations personnelles des personnes alors qu'il se prépare à commercialiser le logiciel via une API.
Ses ingénieurs développent un système de filtrage de contenu pour empêcher le logiciel de sortir, par exemple, les numéros de téléphone des gens, a appris The Register. Le projet est en cours depuis plus d'un an et le laboratoire d'apprentissage automatique basé à San Francisco prévoit de publier ce travail plus tard cette année dans le cadre d'une interface d'application avec le logiciel, nous ont indiqué des sources proches du dossier.
#### Pourquoi est-ce nécessaire ?
En décembre, des informaticiens de l'industrie et du milieu universitaire - dont l'Université de Stanford, l'Université de Californie, Berkeley, OpenAI et Google - ont collaboré pour démontrer que le GPT-2 - le prédécesseur du GPT-3 - pouvait être [provoqué](https://bair. berkeley.edu/blog/2020/12/20/lmmem/) pour inclure des informations personnellement identifiables, telles que les noms, adresses, numéros de téléphone et numéros de sécurité sociale des personnes, dans la prose qu'il a été demandé de générer.
En fait, l'équipe a découvert qu'"au moins 0,1 %" des "générations de texte de GPT-2 - une estimation très prudente - contiennent de longues chaînes textuelles qui sont "copiées-collées" à partir d'un document dans son ensemble d'apprentissage". En d'autres termes, les millions de pages de texte public extraites d'Internet pour enseigner le réseau de neurones contiennent, par exemple, au moins des informations personnelles divulguées ou publiées à tort, ou du matériel protégé par le droit d'auteur, et cela se retrouve dans la sortie de GPT-2.
L'équipe de recherche a également noté que des informations personnelles pouvaient être extraites lors d'une conversation avec GPT-2, même si ces enregistrements n'apparaissaient qu'une seule fois dans les données d'entraînement.
Google et al n'étaient pas les seuls à repérer ce problème.
Hilary Mason, co-fondatrice de Hidden Door, une startup créant une plate-forme de jeu en ligne basée sur du texte, bricolait avec la version publique de GPT-2 quand elle a remarqué quelque chose d'étrange. Au bas d'un article d'information sur la criminalité évoqué par le réseau neuronal se trouvait un numéro de téléphone censé appartenir à un service de police de l'Oregon. Les trois premiers chiffres, 503, suggéraient qu'il pourrait s'agir d'un nombre réel, car il s'agit de l'indicatif régional couvrant Portland, Salem et Beaverton aux États-Unis. Et oui, c'était un vrai numéro, même si ce n'était pas pour les flics.
"Je pensais que c'était bizarre", a déclaré Mason à The Register. "Je voulais voir si c'était un vrai nombre, alors je l'ai cherché sur Google. Il s'avère que le numéro n'appartient pas à la police, c'est celui d'un centre communautaire dans l'Oregon.
Les réseaux de neurones d'OpenAI apprennent à générer du texte en identifiant des modèles dans le langage écrit par l'homme. Cette connaissance est utilisée pour prédire les mots qui suivraient probablement une invite donnée par un utilisateur. Cela permet de fournir au logiciel une phrase d'ouverture pour, disons, une histoire ou un poème, ou de poser une question, et le code générera ce qu'il pense devoir suivre, en construisant des phrases et des paragraphes, des articles et des réponses de chat, qui semblent assez cohérents au début, bien que se dissolvent généralement dans un non-sens.
Certains mots sont plus étroitement liés que d'autres, et GPT-2 et GPT-3 reprennent ces modèles. Par exemple, le mot « papier » est plus susceptible d'apparaître près de mots comme « écrire » ou « arbre », par rapport à, disons, « béton » ou « chaussure ». En utilisant des mots comme « appeler » ou « téléphone » dans une entrée, ces modèles de langage massifs sont plus susceptibles de produire des concepts étroitement liés... comme les numéros de téléphone des gens.
Une utilisation créative de la mémoire ?
Il est difficile de dire si le modèle a régurgité le numéro de téléphone de quelqu'un à partir de ses données d'entraînement, ou s'il a enchaîné des chiffres aléatoires et a accidentellement trouvé un numéro valide. Dans l'exemple ci-dessus avec le supposé service de police de l'Oregon, Mason n'a pas fourni au modèle une entrée pour extraire spécifiquement un nombre. Elle a juste demandé à GPT-2 de générer un extrait de texte et a récupéré un article inventé avec le numéro de téléphone d'un centre communautaire.
Dans ce cas, elle estime que le nombre est dans les données d'entraînement de GPT-2, et il l'a donc mémorisé. Elle pense que les mots "Oregon" et "contact" dans le texte qu'il a produit pourraient l'avoir poussé à cracher le numéro de téléphone. Il est possible que ces mots soient apparus près des dix chiffres du téléphone dans la même page Web qui a été extraite pour créer l'ensemble de données de formation.
Mason voulait voir dans quelle mesure GPT-2 générait de vrais numéros de téléphone et, par curiosité, elle lui a demandé de créer des numéros contenant les chiffres 617, un indicatif régional pour Boston, Massachusetts. En effet, GPT-2 a craché une liste de numéros 617-XXX-XXXX bien que la plupart d'entre eux ne soient pas des numéros actifs. Il est difficile de savoir si les numéros valides ont été mémorisés ou s'ils ont été créés lorsque GPT-2 a rempli les blancs avec des chiffres aléatoires. Il est possible que, occasionnellement, il trouve une combinaison qui se trouve être le vrai numéro de téléphone de quelqu'un.
"Il y a un mélange de fabrication de quelque chose dans le modèle et un mélange de mémorisation", nous a dit Mason. "Cela peut générer de vrais numéros de téléphone sans raison, mais il est plus probable que cela se produise si vous le demandez. Il n'y a pas beaucoup de variation dans la langue utilisée pour rappeler un numéro de téléphone, il n'est donc pas surprenant qu'ils soient générés."
Si GPT-3 laisse tomber votre numéro de téléphone dans une conversation ou un article ou une histoire inventés, c'est probablement parce que les chiffres ont été publiés sur Internet quelque part et se sont retrouvés dans les données de formation, bien qu'il y ait une petite chance qu'il l'ait créé accidentellement sans avoir vu avant. Vérifier l'ensemble de données d'entraînement pour la présence de vos données réglerait cette question.
Le danger est que ces modèles d'apprentissage automatique pourraient, dans un cadre commercial - par exemple, en tant que bot de support de chat - révéler de véritables informations personnellement identifiables appartenant à quelqu'un qui ne voulait pas, ou ne veut plus, que ses données soient rendues publiques et certainement pas partagé par un logiciel bavard largement utilisé. Imaginez si des malfaiteurs voulaient arnaquer, hameçonner, frauder ou dévoiler l'identité des victimes, et tout ce qu'ils avaient à faire était de lancer le logiciel d'OpenAI - ou de le trouver en production chez, disons, un FAI - et, en conversation avec le système, le mien pour les informations personnelles des gens.
Les universitaires et les techniciens ont noté que cette technologie peut violer les protections de la vie privée, telles que le [GDPR] européen (https://www.theregister.com/2018/05/25/gdprmageddon_do_you_think_its_all_over_its_not/) ou le [CCPA] californien (https://www. theregister.com/2020/07/01/happy_privacy_enforcement_day_if/). Le stockage d'informations personnelles dans des réseaux de neurones, sous forme de poids et d'autres valeurs, ou dans des ensembles de données de formation en texte brut, répond-il aux exigences nécessaires pour protéger en toute sécurité ces données ? Que se passe-t-il si quelqu'un demande la suppression de ses données : faut-il tout rééduquer ? Doit-il simplement être supprimé de l'ensemble de données ? Les chercheurs pensent qu'il s'agit d'une zone grise juridique.
Il convient de noter qu'à l'heure actuelle, le risque de préjudice est faible : il n'est pas facile de faire apparaître des informations personnelles à partir de la sortie des modèles de langage, et les systèmes sont entraînés à partir de données qui sont déjà et restent largement publiques. Cependant, on craint qu'à mesure que ces systèmes deviennent plus puissants et consomment de plus en plus de données provenant de sources de plus en plus nombreuses, il existe un risque que les outils d'IA accessibles au public transmettent librement les données personnelles des personnes, si les ingénieurs ne prêtent pas une attention particulière à la façon dont leurs créations peuvent être utilisées à mauvais escient.
Ariel Herbert-Voss, l'un des chercheurs qui a étudié le travail d'OpenAI, a déclaré que GPT-2 et GPT-3 génèrent du texte qui contient apparemment des informations personnelles, telles que des numéros de téléphone, environ 20 % du temps. Et ces chiffres ne sont valables qu'environ dix pour cent du temps. Et essayer d'obtenir le numéro de téléphone spécifique de quelqu'un fonctionne environ un pour cent du temps.
Les résultats préliminaires de l'extraction des PII de GPT2 et GPT3 montrent que vous ne pouvez obtenir quelque chose qui ressemble à des PII que ~ 20 % du temps lorsque vous interrogez directement le modèle (avec quelques variations en fonction de la conception/du type de PII que vous essayez de extrait)
— Ariel Herbert-Voss (@adversariel) 10 février 2021
Cette chance peut sembler faible, mais si vous l'étendez à des milliers ou des millions de conversations, la fuite d'informations commence à devenir un problème. Alors qu'OpenAI se prépare à rendre GPT-3 généralement disponible, il ne prend aucun risque, et c'est pourquoi il construit un filtre pour nettoyer le texte généré non seulement des numéros de téléphone, mais aussi de toutes les données personnelles problématiques.
Fais semblant jusqu'à ce que tu y arrives
La mémorisation par un logiciel d'apprentissage automatique est une épée à double tranchant. Bien qu'il ne soit pas formidable d'avoir un modèle qui rappelle votre numéro de téléphone, la technologie qui le sous-tend peut également être bénéfique.
Brad Dwyer, fondateur et CTO de la start-up de vision par ordinateur Roboflow, travaillait sur un projet parallèle qu'il appelait Stack Roboflow. Sur le modèle du site Web de questions-réponses sur la technologie Stack Overflow, Dwyer a formé GPT-2 pour voir s'il pouvait générer des réponses utiles aux questions sur la programmation et le développement de logiciels. Il voulait créer un modèle de langage capable non seulement de comprendre le langage naturel mais aussi les langages de programmation afin qu'il puisse aider les gens à résoudre leurs problèmes de codage. Cependant, les premières expériences avec Stack Roboflow ont prouvé que la tâche était trop ambitieuse.
Un outil comme Stack Roboflow n'est utile que si ses réponses générées par la machine sont précises et correctes - il s'agit d'aborder un sujet hautement technique, après tout - et ainsi rappeler textuellement les informations pertinentes, telles que des séquences de code pour résoudre un problème connu, ou des liens de travail aux référentiels légitimes et pertinents et à la documentation en réponse aux questions, est nécessaire pour cette tâche. Ce n'est pas possible pour le moment, il s'avère, en raison de la variance de la sortie de GPT-2.
"Ce n'était pas assez bon", a déclaré Dwyer à The Register. Les sites Web n'existent pas réellement, mais parfois, ils génèrent une véritable URL.
"Les modèles de langage doivent être capables d'apprendre beaucoup de choses, mais aussi de divulguer certaines choses de manière sélective. Nous voulons quelque chose qui sera utile sans qu'il régurgite des données de manière aléatoire : il doit être contrôlé. Il peut connaître un tas de numéros de téléphone, même si nous voulons lui dire de ne pas révéler d'informations personnellement identifiables. Le filtrage de contenu est toujours un problème ouvert.
En bref, la technologie d'OpenAI ne peut pas rappeler de manière fiable des détails spécifiques - tels que des références à des bibliothèques de logiciels et à la documentation - pour des applications comme Stack Roboflow, mais est juste assez bonne pour cracher accidentellement des détails personnels de quelqu'un dans une conversation.
Le filtre d'OpenAI pour GPT-3 inspectera sa sortie et réécrira le texte pour remplacer, par exemple, les numéros de téléphone potentiellement réels par de faux, nous ont dit des sources. Par exemple, s'il voit un numéro qui suit dix chiffres commençant par des indicatifs régionaux convaincants, il le remplacera par quelque chose qui est manifestement faux, comme 111-111-1111 ou 012-345-6789. D'autres types d'informations personnelles, telles que les adresses, n'ont pas une structure claire et seront plus difficiles à filtrer. OpenAI vise quelque chose de plus intelligent et élégant qu'un ensemble d'expressions régulières codées en dur.
Les adresses contiennent des nombres et des mots avec différents formats, longueurs, orthographes. Le filtre de sortie doit prédire avec précision si un groupe de caractères ressemble à une adresse, à une autre forme de données personnelles ou à quelque chose de bénin. Il peut y avoir certains indices, par exemple si la phrase contient le mot "rue" ou s'il s'agit de chiffres qui ressemblent à des codes postaux. Mais ce n'est pas toujours complètement clair, et il est probable que le filtre de contenu manque des cas marginaux.
Les informations personnelles ne peuvent pas non plus être supprimées des données de formation, car cela peut supprimer le contexte utile du réseau neuronal pendant son apprentissage. Il peut avoir besoin d'être en mesure d'apprécier les liens entre les adresses, les numéros de téléphone et les noms, ainsi que les mots environnants pour, par exemple, avoir une idée du moment où un bloc de texte fait référence à une entreprise ou à une famille, ou écrit pour un un proche ou comme une plainte à une organisation. Et donc, d'où la nécessité d'un filtre de sortie.
"Avec bon nombre de ces modèles, nous devons être extrêmement prudents avant de mettre du texte généré directement devant une personne sans aucune curation ou de le mettre directement sur Internet", a déclaré Mason.
"Ce problème particulier d'informations personnellement identifiables est moins un problème que la quantité de biais et de langage problématique qui peut être exprimé. Nous devons être prudents et réfléchir aux endroits où cela peut mal tourner. Les applications réelles n écessiteront plusieurs couches de tests."
GPT-3 n'est actuellement disponible que pour sélectionner des bêta-testeurs via une API, et OpenAI prévoit de facturer les clients pour commercialiser le modèle. Il a refusé de commenter le dossier.