Dans notre article récent, nous montrons qu'il est possible de trouver automatiquement des entrées qui suscitent du texte nuisible à partir de modèles de langage en générant des entrées à l'aide des modèles de langage eux-mêmes. Notre approche fournit un outil pour détecter les comportements nuisibles des modèles avant que les utilisateurs ne soient touchés, même si nous soulignons qu'elle doit être considérée comme un élément parmi de nombreuses autres techniques qui seront nécessaires pour détecter les préjudices et les atténuer une fois découverts.
Les grands modèles de langage génératif comme GPT-3 et Gopher ont une capacité remarquable à générer du texte de haute qualité, mais ils sont difficiles à déployer dans le monde réel. Les modèles de langage génératifs comportent le risque de générer du texte très préjudiciable, et même un faible risque de préjudice est inacceptable dans les applications du monde réel.
Par exemple, en 2016, Microsoft a lancé le robot Tay Twitter pour tweeter automatiquement en réponse aux utilisateurs. Dans les 16 heures, Microsoft a fait tomber Tay après que plusieurs utilisateurs contradictoires aient suscité des tweets racistes et à caractère sexuel de la part de Tay, qui ont été envoyés à plus de 50 000 abonnés. Le résultat fut pas par manque d'attention de la part de Microsoft:
Le problème est qu’il existe de nombreuses entrées possibles qui peuvent amener un modèle à générer du texte nuisible. Par conséquent, il est difficile de trouver tous les cas où un modèle échoue avant qu’il ne soit déployé dans le monde réel. Les travaux antérieurs s'appuient sur des annotateurs humains rémunérés pour découvrir manuellement les cas d'échec (Xu et coll. 2021, entre autres). Cette approche est efficace mais coûteuse, limitant le nombre et la diversité des cas de défaillance constatés.
Notre objectif est de compléter les tests manuels et de réduire le nombre d'oublis critiques en trouvant automatiquement les cas de défaillance (ou « équipe rouge »). Pour ce faire, nous générons des cas de test à l'aide d'un modèle de langage lui-même et utilisons un classificateur pour détecter divers comportements nuisibles sur les cas de test, comme indiqué ci-dessous :
Notre approche révèle une variété de comportements nuisibles des modèles :
- Langage vulgaire: Discours de haine, grossièretés, contenu sexuel, discrimination, etc.
- Fuite de données: Générer des informations protégées par le droit d'auteur ou privées et personnellement identifiables à partir du corpus de formation.
- Génération d'informations de contact: inciter les utilisateurs à envoyer inutilement des e-mails ou à appeler de vraies personnes.
- Biais distributionnel: Parler de certains groupes de personnes d'une manière injustement différente de celle d'autres groupes, en moyenne sur un grand nombre de sorties.
- Méfaits conversationnels: Langage offensant qui apparaît dans le contexte d'un long dialogue, par exemple.
Pour générer des cas de test avec des modèles de langage, nous explorons une variété de méthodes, allant de la génération basée sur des invites et de l'apprentissage en quelques étapes au réglage fin supervisé et à l'apprentissage par renforcement. Certaines méthodes génèrent des cas de test plus diversifiés, tandis que d'autres méthodes génèrent des cas de test plus difficiles pour le modèle cible. Ensemble, les méthodes que nous proposons sont utiles pour obtenir une couverture de test élevée tout en modélisant des cas contradictoires.
Une fois que nous avons détecté des cas d'échec, il devient plus facile de corriger les comportements nuisibles du modèle en :
- Mettre sur liste noire certaines expressions qui apparaissent fréquemment dans les sorties nuisibles, empêchant le modèle de générer des sorties contenant des expressions à haut risque.
- Trouver des données d'entraînement offensantes citées par le modèle, pour supprimer ces données lors de l'entraînement des futures itérations du modèle.
- Augmenter l'invite du modèle (texte de conditionnement) avec un exemple du comportement souhaité pour un certain type d'entrée, comme indiqué dans notre travail récent.
- Entraîner le modèle à minimiser la probabilité de sa sortie originale et nuisible pour une entrée de test donnée.
Dans l’ensemble, les modèles linguistiques constituent un outil très efficace pour découvrir quand les modèles linguistiques se comportent de diverses manières indésirables. Dans notre travail actuel, nous nous sommes concentrés sur les dommages causés par les équipes rouges que commettent les modèles linguistiques actuels. À l'avenir, notre approche pourra également être utilisée pour découvrir de manière préventive d'autres dommages hypothétiques liés aux systèmes d'apprentissage automatique avancés, par exemple en raison de désalignement interne ou échecs dans la robustesse objective. Cette approche n'est qu'un élément du développement responsable de modèles de langage : nous considérons l'équipe rouge comme un outil à utiliser parmi de nombreux autres, à la fois pour détecter les inconvénients des modèles de langage et pour les atténuer. Nous renvoyons à la section 7.3 de Rae et coll. 2021 pour une discussion plus large sur d’autres travaux nécessaires à la sécurité des modèles de langage.
Pour plus de détails sur notre approche et nos résultats, ainsi que sur les conséquences plus larges de nos conclusions, lisez notre papier d'équipe rouge ici.