Comment freiner GPT-3
OpenAI se prépare à ouvrir une API commerciale pour GPT-3, son plus récent et plus grand réseau de neurones pour la génération de texte. En préparation, l'entreprise est en train de créer un système de filtrage de contenu pour l'empêcher de publier des informations personnelles sur les personnes.
Les ingénieurs développent ce système, par exemple, pour qu'il ne distribue pas les téléphones personnels des gens. Les travaux se poursuivent depuis plus d'un an maintenant, et le laboratoire d'apprentissage automatique de San Francisco prévoit de publier l'API plus tard cette année.
Pourquoi avez-vous besoin d'un tel filtre?
En décembre 2020, des informaticiens de divers établissements d'enseignement et entreprises - par exemple, Stanford, UC Berkeley, OpenAI et Google - ont collaboré pour montrer que GPT-2, le prédécesseur de GPT-3, peut être amené à être inclus dans le texte. il génère des informations personnelles sur les personnes. Ces informations peuvent inclure les noms, adresses, numéros de téléphone et numéros de sécurité sociale des personnes.
De plus, l'équipe a constaté qu'au moins 0,1% de tous les textes générés par GPT-2 - et c'est une estimation prudente - citaient de longs morceaux de texte provenant de documents de l'ensemble de données de formation. En d'autres termes, des millions de pages de texte accessible au public collectées sur Internet pour former un réseau neuronal contiennent des informations personnelles divulguées ou publiées par erreur, ou du contenu protégé par le droit d'auteur. Et toutes ces données vont dans la sortie de texte par GPT-2.
L'équipe de recherche a également noté que les informations personnelles peuvent également être récupérées à partir de conversations avec GPT-2, bien que ces entrées n'apparaissent qu'une seule fois dans les données d'entraînement.
Et non seulement ces chercheurs ont remarqué ce problème.
Hilary Mason, co-fondatrice de Hidden Door, une plate-forme en ligne pour les jeux de texte, jouait avec l'accès public à GPT-2 lorsqu'elle a remarqué quelque chose d'étrange. À la fin de la note d'information sur la criminalité générée par le réseau neuronal, un numéro de téléphone a été donné et il était écrit qu'il appartenait au service de police de l'Oregon. Ses trois premiers chiffres, 503, indiquaient qu'il pouvait s'agir d'un nombre réel - c'était l'indicatif régional couvrant Portland, Salem et Beaverton. Il s'est avéré que le numéro était vraiment réel, seulement il n'appartenait pas à la police.
«Cela m'a semblé étrange», nous a dit Mason. - Je voulais savoir si c'était un vrai nombre, et je l'ai cherché sur Internet. Il s’est avéré que ce n’était pas un numéro de poste de police, mais un centre communautaire de l’Oregon. »
Les réseaux de neurones OpenAI sont formés pour générer du texte en trouvant des modèles dans ce que les humains ont écrit. Cette connaissance est utilisée pour prédire un mot susceptible de suivre un texte fourni par l'utilisateur. Cela permet à une personne de demander au programme la première phrase d'une histoire ou d'un poème, ou d'entrer une question, et le code générera le texte qui, selon le programme, devrait aller ensuite. Le réseau de neurones construira des phrases et des paragraphes, des articles et des réponses dans le chat, de sorte qu'à première vue, ils semblent cohérents, mais en y regardant de plus près, ils se révèlent être des ordures.
Certains mots sont plus étroitement liés que d'autres, et ces modèles ne sont pas négligés par GPT-2 et GPT-3. Par exemple, le mot «papier» est plus susceptible d'apparaître à côté des mots «écrire» ou «bois» que des mots «béton» ou «chaussure». En tapant des mots comme «appeler» ou «téléphone», vous augmentez la probabilité que ces modèles de langage aboutissent à quelque chose de étroitement lié à ces concepts - par exemple, les numéros de téléphone des gens.
Utilisation créative de la mémoire?
Il est difficile de dire si le modèle a craché le numéro de téléphone de quelqu'un extrait des données d'entraînement, ou s'il a simplement rassemblé quelques nombres aléatoires qui se sont pliés par inadvertance dans le nombre correct. Dans l'exemple ci-dessus, avec le numéro de téléphone d'un prétendu poste de police de l'Oregon, Mason n'a pas fourni de modèle d'entrée qui déclencherait directement la récupération d'un numéro de téléphone de la mémoire. Elle a simplement demandé à GPT-2 de générer un extrait de texte et a reçu un article fictif avec un numéro de téléphone du centre communautaire.
Elle pense que dans ce cas, le numéro était présent dans les données d'entraînement GPT-2 et que le réseau neuronal l'a sauvegardé. Elle pense que les mots «Oregon» et «contacts» dans le texte ont amené le réseau neuronal à donner un numéro de téléphone. Il est probable que ces mots soient apparus à côté des dix chiffres du numéro de téléphone sur la page qui a été enregistrée dans l'ensemble de données d'entraînement.
Mason voulait voir dans quelle mesure GPT-2 générerait un vrai numéro de téléphone et, par curiosité, a demandé au réseau neuronal de créer des numéros contenant les chiffres 617 - le code de numérotation de Boston, Massachusetts. Et GPT-2 a donné une liste de numéros comme 617-XXX-XXXX, bien que la plupart d'entre eux ne soient pas des téléphones valides. Il est difficile de dire si le réseau de neurones s'est souvenu des nombres corrects ou s'ils se sont avérés involontairement lorsque GPT-2 a rempli des espaces vides avec des nombres aléatoires. Il est possible qu'elle puisse parfois donner une séquence qui se révèle être le numéro de téléphone de quelqu'un.
«Cela ne permet pas de créer des données à partir de modèles et de les récupérer de la mémoire», a déclaré Mason. - Elle peut donner de vrais numéros de téléphone sans raison, mais la probabilité que cela augmente si vous lui demandez directement. Les constructions linguistiques appelant à un numéro de téléphone ne sont pas très diverses, il n'est donc pas surprenant que nous obtenions ces numéros à la sortie. "
Si GPT-3 donne un numéro de téléphone dans une discussion ou dans un article de fiction, c'est probablement parce que ces numéros ont été trouvés quelque part sur Internet et sont entrés dans les données d'entraînement, bien qu'il y ait une petite chance que le réseau neuronal les ait créés. par accident, sans les rencontrer plus tôt. Trouver les bons nombres dans les données d'entraînement peut résoudre cette question.
Le problème est que ces modèles, qui fonctionnent sur le principe de l'apprentissage automatique, dans un produit commercial - par exemple, dans un chat d'assistance - peuvent donner de vraies données personnelles d'une personne qui n'a pas voulu ou ne veut plus les publier. , et ne l'a certainement pas partagé dans le but de leur utilisation dans les robots de discussion. Imaginez qu'un attaquant veuille tromper les victimes ou tirer parti de leur identité, et tout ce dont il a besoin est d'exécuter un programme à partir d'OpenAI, ou de trouver une version fonctionnelle de celui-ci auprès d'un fournisseur, et de découvrir des données personnelles dans une conversation avec un robot.
Les scientifiques et les ingénieurs ont déjà noté qu'une telle technologie peut enfreindre les lois protégeant les données personnelles, telles que le RGPD en Europe ou le CCPA en Californie. Les données personnelles stockées dans les bases du réseau neuronal comme bases d'entraînement, comme poids ou autres quantités sont-elles suffisamment protégées? Que faire si quelqu'un demande à supprimer ses données - dois-je recycler le réseau? Ou pouvons-nous simplement les supprimer de la base de données? Les chercheurs considèrent que ce domaine est juridiquement flou.
Il convient de noter qu'aujourd'hui le risque de préjudice est minime - il est assez difficile de garantir que les données personnelles apparaissent dans la sortie du modèle linguistique.De plus, le système est formé sur des données, dont la plupart sont publiques. Cependant, on craint qu'avec le temps, ces systèmes deviennent plus puissants, consomment de plus en plus de données provenant de plus en plus de sources. En conséquence, si les ingénieurs ne réfléchissent pas attentivement à la manière dont leurs créations peuvent être utilisées à de mauvaises fins, il y a un risque que les outils d'IA accessibles à tous donnent des données personnelles sur des personnes.
Ariel Herbert-Voss, l'un des chercheurs qui ont étudié OpenAI, a déclaré que GPT-2 et GPT-3 génèrent du texte contenant des informations similaires aux données personnelles environ 20% du temps. De plus, les données elles-mêmes s'avèrent réelles dans 1% des cas. Les tentatives pour obtenir le numéro de téléphone spécifique de quelqu'un réussissent environ 1% du temps.
Les chances peuvent vous sembler dérisoires, mais si vous les mettez à l'échelle à des milliers et des millions de conversations, les fuites d'informations peuvent devenir un problème. OpenAI, se préparant à publier GPT-3 au public, ne compte pas sur le hasard et crée un filtre qui effacera le texte généré non seulement des numéros de téléphone, mais également de toute donnée personnelle problématique.
Faites comme si vous pouviez jusqu'à ce que ça marche
La collecte de données avec un programme d'apprentissage automatique est une arme à double tranchant. Il n'est pas bon pour un modèle de se souvenir soudainement de votre numéro de téléphone, mais la technologie qui le sous-tend peut être bénéfique.
Brad Dwyer, fondateur et directeur technique de la start-up de vision par ordinateur Roboflow, a travaillé sur un projet connexe appelé Stack Roboflow. Il a encadré le modèle GPT-2 sur le site de questions-réponses de Stack Overflow pour voir s'il pouvait fournir des réponses utiles aux questions de codage. Il voulait créer un modèle de langage capable de comprendre non seulement le langage naturel, mais aussi les langages de programmation, afin qu'il puisse aider les gens à résoudre des problèmes de programmation. Cependant, les premières expériences ont montré que les attentes du modèle étaient trop élevées.
L'outil Stack Roboflow qui génère des réponses aux questions n'est utile que si les questions sont précises et correctement posées - après tout, le sujet de la programmation est très technologique. Par conséquent, il est nécessaire de se souvenir littéralement des informations nécessaires: par exemple, pour donner des extraits exacts de programmes, ou pour fournir des liens de travail vers de véritables référentiels et de la documentation. Jusqu'à présent, le modèle GPT-2 ne résout pas cela en raison de la variabilité de sa sortie.
«Elle ne correspondait pas à la tâche», a déclaré Dwyer. «À première vue, le texte avait l'air crédible, ressemblait à un langage de nerd, contenait des liens vers de la documentation et des sites Web, mais souvent ces liens étaient simplement inventés. Cependant, parfois, le système renvoie également de vraies URL. »
«Les modèles linguistiques doivent pouvoir apprendre beaucoup tout en fournissant des données de manière sélective. Nous voulons obtenir un outil utile qui ne vide pas accidentellement les données - le flux de données doit être contrôlé. Il connaît peut-être un tas de numéros de téléphone, mais nous voulons qu'il ne communique pas d'informations personnelles. Le filtrage du contenu reste une tâche ouverte. "
En général, la technologie OpenAI ne peut pas rappeler de manière fiable des détails spécifiques - tels que des liens vers des bibliothèques et de la documentation - pour s'exécuter dans des applications telles que Stack Roboflow. Mais en même temps, elle est assez bonne pour cracher accidentellement les informations personnelles de quelqu'un dans une conversation.
Parler aux voitures pendant de longues périodes rendra le dialogue étrange. Des réseaux de neurones massifs pour générer du texte peuvent produire des histoires fantastiques de licornes parlantes. Ils peuvent être amenés à écrire des essais dystopiques mettant en garde contre les dangers de l'IA. Ou, pour une utilisation plus pratique, ils crachent parfois les numéros de téléphone des gens.
L'apparition de véritables informations personnelles dans les données produites par les modèles d'IA nous a déjà fait peur. Les chercheurs nous avertissent depuis des années que les modèles d'apprentissage automatique peuvent produire des informations contenues dans les données d'entraînement. Toutes sortes de réseaux de neurones sont affectés par cette fonctionnalité, pas seulement des géants comme GPT-2 et GPT-3 d'OpenAI ou Meena de Google.
Le filtre GPT-3 d'OpenAI examinera la sortie en réécrivant le texte et en remplaçant les numéros de téléphone potentiellement réels par des numéros aléatoires. Par exemple, s'il voit un numéro à dix chiffres commençant par un vrai indicatif régional, il le remplacera par quelque chose de manifestement faux, comme 111-111-1111 ou 012-345-6789. D'autres types d'informations, telles que les adresses, n'ont pas une structure aussi claire et seront donc plus difficiles à filtrer. OpenAI recherche une solution plus intelligente et plus élégante qu'un simple ensemble d'expressions régulières dans le code.
Les adresses contiennent des nombres et des mots de différents formats, longueurs et orthographes. Le filtre sortant doit être clair pour savoir quand un jeu de caractères ressemble à une adresse ou à une autre forme de données personnelles, et quand il semble plus innocent. Il peut y avoir des indices dans le texte tels que les mots «rue» ou des chiffres qui ressemblent à des codes postaux. Cependant, ce n'est pas toujours évident et le filtre laissera probablement passer certaines exceptions.
De plus, les données personnelles ne peuvent pas être supprimées des données d'entraînement - à cause de cela, un contexte utile qui est important pour l'entraînement d'un réseau neuronal peut disparaître. Elle peut avoir besoin de considérer les liens entre les adresses, les numéros de téléphone et les noms, ainsi que les mots qui les entourent - par exemple, pour comprendre si un passage concerne une entreprise ou une famille, un être cher ou une plainte contre une organisation. Et ainsi de suite - c'est pourquoi le filtre de sortie est nécessaire.
«Avec de nombreux modèles, vous devez être très prudent en servant le texte généré directement à l'utilisateur sans le traiter, ni le rendre accessible au public», a déclaré Mason.
«Ce problème particulier avec les informations personnelles n'est pas aussi dangereux que la quantité de biais et de déclarations inappropriées qu'un réseau neuronal peut produire. Vous devez travailler avec prudence et réfléchir à où et à ce qui pourrait mal tourner. Pour les applications réelles, des tests en plusieurs étapes seront nécessaires. "
Actuellement, seuls quelques bêta-testeurs ont accès à GPT-3 via l'API, et OpenAI prévoit de facturer de l'argent aux utilisateurs pour accéder au modèle. La société n'a pas commenté le problème décrit.