LLM sont puissants, et si quelqu’un avec des arrière-pensées les utilise pour faire de mauvaises choses, cela peut avoir des conséquences imprévisibles et graves. Bien que la plupart des LLM commerciaux et open source disposent d’une sécurité intégrée, ils ne protègent pas nécessairement contre une variété d’attaques adverses. Récemment, Lilian Weng, responsable de l’équipe des systèmes de sécurité d’OpenAI, a publié un article de blog intitulé « Adversarial Attacks on LLM », qui a trié les types d’attaques antagonistes contre les LLM et a brièvement présenté certaines méthodes de défense.
Source originale : Heart of the Machine
Source de l’image : Généré par Unbounded AI
Avec la sortie de ChatGPT, les applications de modèles de langage de grande taille s’accélèrent à grande échelle. L’équipe des systèmes de sécurité d’OpenAI a investi d’importantes ressources dans la recherche sur la façon de créer des comportements de sécurité par défaut pour les modèles lors de l’alignement. Cependant, il est toujours possible qu’une attaque antagoniste ou un jailbreak fasse en sorte que le modèle produise quelque chose que nous ne nous attendons pas à voir.
À l’heure actuelle, une grande partie de la recherche sur les attaques antagonistes se concentre sur les images, c’est-à-dire dans des espaces continus de grande dimension. Pour les données discrètes telles que le texte, il est généralement admis que l’attaque sera beaucoup plus difficile en raison de l’absence de signaux de gradient. Lilian Weng a déjà écrit un article sur ce sujet, Controllable Text Generation. Pour faire simple : attaquer un LLM consiste essentiellement à contrôler le contenu (non sécurisé) d’un élément de classe particulier que le modèle affiche.
Adresse de l’article :
Une autre branche de la recherche qui s’attaque aux LLM consiste à extraire des données pré-entraînées, des connaissances privées ou à attaquer le processus d’entraînement du modèle en empoisonnant les données. Mais ce n’est pas le sujet de cet article.
Modèle de menace de base des connaissances
Une attaque antagoniste est une entrée qui trompe le modèle pour qu’il produise quelque chose que nous n’attendons pas. Alors qu’une grande partie des recherches antérieures se concentraient sur les tâches de classification, des travaux plus récents ont commencé à se concentrer davantage sur la production de modèles génératifs. Cet article traite des grands modèles de langage et suppose que l’attaque ne se produit qu’au stade de l’inférence, ce qui signifie que les pondérations du modèle sont fixes.
Figure 1 : Profil de menace pour les applications LLM
Classer
Dans le passé, la communauté des chercheurs s’est davantage préoccupée des attaques antagonistes contre les classificateurs, et beaucoup dans le domaine des images. Les LLM peuvent également être utilisés pour la classification. Étant donné une entrée x et un classificateur f(.) , nous voulons trouver une version antagoniste nuancée de l’entrée x_adv telle que f(x) ≠f(x_adv).
Génération de texte
Étant donné une entrée x et un modèle génératif p(.) , le modèle peut produire un échantillon y~p(.|𝐱)。 L’attaque antagoniste ici consiste à trouver un p(x) afin que y viole les comportements de sécurité intégrés au modèle, tels que la sortie de contenu dangereux sur des sujets illégaux, la fuite d’informations privées ou les données d’entraînement du modèle. Il n’est pas facile de juger du succès d’une attaque pour une tâche de construction, qui nécessite un classificateur de très haute qualité pour déterminer si y est sûr ou nécessite un examen humain.
Boîte blanche vs. Boîte noire
Les attaques en boîte blanche supposent que l’attaquant dispose d’un accès complet aux pondérations des modèles, à l’architecture et aux workflows d’entraînement, afin qu’il puisse obtenir des signaux de gradient. Nous ne supposons pas qu’un attaquant aura accès à toutes les données d’entraînement. Cela ne s’applique qu’au modèle open-source. Les attaques en boîte noire supposent qu’un attaquant ne peut accéder qu’à des services de type API : un attaquant peut fournir une entrée x et obtenir un échantillon y du retour d’information sans en savoir plus sur le modèle.
Types d’attaques antagonistes
Il existe un certain nombre de façons différentes d’aider un attaquant à trouver des entrées antagonistes qui peuvent inciter les LLM à produire du contenu dangereux. Voici cinq façons de le faire.
token 操作
Étant donné un morceau d’entrée de texte qui contient une séquence de jetons, nous pouvons utiliser une opération de jeton simple (par exemple, en le remplaçant par des synonymes) pour tromper le modèle en faisant une fausse prédiction. Les attaques basées sur des jetons sont des attaques de type boîte noire. Dans le cadre Python, l’article de Morris et al. 2020 « TextAttack : A Framework for Adversarial Attacks, Data Augmentation, and Adversarial Training in NLP » implémente un certain nombre de méthodes d’attaque par manipulation de mots et de jetons qui peuvent être utilisées pour créer des échantillons antagonistes pour les modèles NLP. Une grande partie des travaux de recherche dans ce domaine expérimente la classification et la prédiction des implications.
Par exemple, l’étude de Ribeiro et al. (2018) « Semantically Equivalent Adversarial Rules for Debugging NLP models » s’appuie sur des « Semantic Equivalence Adversarial Rules (SEAR) » artificiellement proposées, qui peuvent empêcher le modèle de générer la bonne réponse avec le moins d’opérations de jeton possible. Par exemple, les règles incluent le remplacement de What par Which et was with is. En outre, il existe d’autres méthodes proposées par d’autres chercheurs, telles que le remplacement des mots-clés et le remplacement des synonymes.
Attaques basées sur le gradient
Dans le cas d’une attaque en boîte blanche, l’attaquant peut obtenir tous les paramètres et architectures du modèle. Par conséquent, les attaquants peuvent s’appuyer sur la descente de gradient pour apprendre par programmation les vecteurs d’attaque les plus efficaces. Les attaques basées sur le gradient ne fonctionnent que dans les environnements de boîte blanche, tels que les LLM open source.
Les attaques antagonistes basées sur le gradient contre les transformateurs de texte proposées par Guo et al. (2021) utilisent la technique d’approximation Gumbel-Softmax pour optimiser la différentiabilité des pertes antagonistes, et elles utilisent également BERTScore et la perplexité pour améliorer la perception et la fluidité.
Cependant, l’astuce Gumbel-softmax n’est pas évolutive pour la suppression ou l’ajout de jetons, mais est limitée par la substitution de jetons.
Ebrahimi et al. (2018) dans l’article « HotFlip : White-Box Adversarial Examples for Text Classification » traitent les opérations de texte comme des entrées dans un espace vectoriel, et mesurent les dérivées perdues sur ces vecteurs. HotFlip peut être étendu pour la suppression ou l’ajout de jetons.
Wallace et al. (2019) article « Universal Adversarial Triggers for Attacking and Analyzing NLP » propose une méthode pour effectuer une recherche guidée par gradient sur un jeton afin de trouver une courte séquence qui incite le modèle à produire une prédiction spécifique, appelée Universal Adversarial Triggers (UAT, Universal Adversarial Trigger). L’UAT est indépendant de l’entrée, ce qui signifie que ces déclencheurs peuvent être connectés en tant que préfixe (ou suffixe) à n’importe quelle entrée du jeu de données.
Shin et al., 2020 Auto : Eliciting Knowledge from Language Models with Automatically Generated s utilise la même stratégie de recherche basée sur le gradient pour trouver les modèles les plus efficaces pour diverses tâches.
La méthode de recherche de jeton ci-dessus peut être améliorée avec la recherche de poutre. Lorsque vous recherchez l’intégration optimale des jetons, vous pouvez choisir les k meilleurs candidats au lieu d’un seul, effectuer une recherche de gauche à droite sur le lot de données actuel et noter chaque faisceau en fonction de L_adv.
Figure 4 : Schéma du fonctionnement de l’UAT
La perte de l’UAT L_adv doit être conçue pour la tâche spécifique. La classification ou la compréhension de la lecture repose sur l’entropie croisée.
Figure 5 : Exemples d’UAT pour différents types de tâches linguistiques
Pourquoi l’UAT fonctionne-t-il ? C’est une question intéressante. Étant donné que l’UAT est indépendant des entrées et peut être transféré entre des modèles avec des intégrations, des schémas de tokenisation et des architectures différents, ils peuvent être en mesure d’utiliser efficacement les biais dans les données d’apprentissage qui sont déjà intégrés dans le comportement global du modèle.
Il y a un inconvénient à utiliser des attaques UAT : elles sont faciles à détecter. La raison en est que les déclencheurs appris sont souvent dénués de sens. Mehrabi et al. (2022) ont examiné deux variantes de l’UAT dans l’article Robust Conversational Agents against Imperceptible Toxicity Triggers, qui rendent les déclencheurs appris imperceptibles dans le contexte d’une conversation à plusieurs tours. L’objectif est de créer un message offensant qui déclenche efficacement une réponse toxique dans une conversation donnée, tout en veillant à ce que l’attaque soit fluide, cohérente et cohérente tout au long de la conversation.
这两种变体分别是 UAT-LM(Universal Adversarial Trigger with Language Model Loss)和 UTSC(Unigram Trigger with Selection Criteria)。
Figure 6 : Schéma du fonctionnement de l’UTSC
UAT-LM et UTSC-1 sont à égalité avec les benchmarks UAT, mais les phrases d’attaque UAT sont étonnamment déroutantes et beaucoup plus élevées que UAT-LM et UTSC-1. Une grande confusion rend les attaques plus faciles à détecter et à atténuer. Selon les évaluations humaines, les attaques UTSC-1 produisent des résultats plus cohérents, fluides et pertinents que les autres méthodes d’attaque.
*Figure 7 : Taux de réussite de l’attaque mesuré par différents classificateurs de toxicité en fonction de la réponse du modèle du défenseur à l’attaque générée. *
L’article de Zou et al. (2023) intitulé « Robust Conversational Agents against Imperceptible Toxicity Triggers » examine également le cas de la connexion d’un jeton de déclencheur antagoniste générique en tant que suffixe à une demande d’entrée. Ils se sont penchés spécifiquement sur les requêtes malveillantes adressées aux LLM, auxquelles le modèle devrait refuser de répondre. En fait, le rejet de catégories de contenu qui ne sont pas autorisées, telles que les suggestions criminelles, est une mesure de sécurité importante intégrée à GPT-4. L’objectif contradictoire ici est d’inciter le LLM à produire une réponse positive, même s’il devrait rejeter la réponse. Cela signifie que lorsqu’une requête malveillante est reçue, le modèle répond comme ceci, « Bien sûr, vous devez faire ceci... », et la réponse positive attendue est également configurée pour dupliquer certains utilisateurs, afin d’éviter de simplement changer le suffixe de la rubrique pour optimiser la réponse « bien sûr ». La fonction de perte est aussi simple que NLL (logarithmique négative) de la réponse cible de sortie.
*Figure 8 : Illustration de l’endroit où le déclencheur antagoniste est introduit. Le point d’exclamation rouge représente le jeton antagoniste à apprendre. *
Ils ont expérimenté deux modèles différents, Vicuna-7b et Vicuna-13b, en utilisant une recherche basée sur le gradient de coordonnées gourmand (GCG) pour trouver avidement un candidat afin que le candidat puisse minimiser les pertes dans toutes les substitutions possibles de jetons uniques.
Bien que leurs séquences d’attaque aient été entièrement entraînées sur des modèles open source, elles étaient étonnamment portables à d’autres modèles commerciaux, ce qui suggère que les attaques en boîte blanche sur les modèles open source peuvent également être efficaces contre les modèles propriétaires, en particulier lorsqu’il y a chevauchement de données d’apprentissage de bas niveau. Notez que l’entraînement de Vigogne utilise les données collectées à partir de GPT-3.5-turbo (via shareGPT), qui est de nature distillation, de sorte que cette attaque ressemble davantage à une attaque en boîte blanche.
*Figure 9 : Taux moyen de réussite d’une attaque sur les instructions HB (Comportement Nuisible), qui est un résultat moyen sur 5 fois. *
L’Autoregressive Random Coordinate Rise (ARCA) proposée par Jones et al. (2023) considère un ensemble plus large de problèmes d’optimisation pour trouver des paires entrées-sorties (x, y) qui se conforment à un modèle de comportement spécifique, tel qu’une entrée non toxique qui commence par « Barack Obama » mais entraîne une sortie toxique. Étant donné un objectif d’audit : φ : X×Y→R, qui mappe une paire (entrée, sortie) à un score.
*Figure 10 : Taux de réussite moyen de la tromperie de GPT-2 et GPT-J pour qu’ils produisent des produits toxiques. Ligne épaisse : toutes les sorties de CivilComments ; ligne pointillée : sortie toxique de 1,2,3 jetons de CivilComments. *
Conception de jailbreak
Le jailbreak est une tentative contradictoire de tromper les LLM pour qu’ils publient du contenu préjudiciable qui devrait être évité. Le jailbreak est une attaque de type boîte noire, de sorte que les combinaisons lexicales sont basées sur l’heuristique et l’exploration humaine. L’article de Wei et al. (2023) intitulé « Jailbreak : How Does LLM Safety Training Fail ? » propose deux modes de défaillance pour la sécurité LLM, qui peuvent être utilisés pour guider la conception d’attaques de jailbreak.
1. Objectifs concurrents : c’est lorsque les capacités du modèle (par exemple, « doit toujours suivre les ordres ») entrent en conflit avec les objectifs de sécurité. Voici quelques exemples d’attaques de jailbreak qui exploitent des cibles concurrentes :
Injection de préfixe : nécessite que le modèle commence par une déclaration d’accusé de réception affirmative.
Suppression des rejets : Fournissez des instructions détaillées au modèle pour qu’il ne réponde pas dans un format rejeté.
Injection de style : Exige que le modèle n’utilise pas de mots longs, afin qu’il ne puisse pas écrire de manière professionnelle pour donner une clause de non-responsabilité ou expliquer la raison du rejet.
Autres : Jeu de rôle en tant que DAN (peut tout faire maintenant), AIM (toujours intelligent et sans scrupules), etc.
2. Généralisation de l’inadéquation : Il s’agit de l’incapacité de la formation à la sécurité à se généraliser aux domaines où elle est capable. Cela se produit lorsque l’entrée se trouve en dehors de la distribution sécurisée des données d’apprentissage (OOD) du modèle, mais dans le cadre de son vaste corpus pré-entraîné. En voici quelques exemples :
Encodage spécial : utilisez l’encodage Base64 pour construire des entrées antagonistes.
Transformations de caractères : chiffrement ROT13, écriture martienne ou vestige cérébral (remplacement des lettres par des chiffres et des symboles visuellement similaires), code Morse
Conversions de mots : latin de porc (remplacement des mots sensibles par des synonymes, par exemple « stealing » par « steal »), load splitting (ce que l’on appelle la contrebande de jetons, qui divise les mots sensibles en sous-chaînes)
Niveau de confusion : la traduction dans d’autres langues nécessite que le modèle soit obscurci de manière à ce qu’il puisse le comprendre
Wei et al. (2023) expérimentent un grand nombre de méthodes de jailbreak, y compris des stratégies combinatoires construites à partir des principes ci-dessus.
combination_1 combine l’injection de préfixe, la suppression du déni et les attaques Base64.
Combinaison_2 ajoute l’injection de style.
Combination_3 ajoute des contraintes sur la génération du contenu du site et la mise en forme.
Figure 11 : Types d’astuces de jailbreak et leur taux de réussite dans l’attaque du modèle
L’article de Greshake et al. (2023) intitulé « Not what you’ve signed up for : Compromise Real-World LLM-Integrated Applications with Indirect Injection » (Pas ce que vous avez signé pour : compromettre les applications intégrées au LLM dans le monde réel avec l’injection indirecte) examine les attaques par injection à un niveau élevé. Il soutient que même lorsqu’une attaque ne fournit pas de méthode détaillée et ne fournit qu’une cible, il est possible pour le modèle de l’implémenter automatiquement. Lorsqu’un modèle a accès à des API et des outils externes, l’accès à davantage d’informations, même propriétaires, peut entraîner un risque accru d’attaques de phishing et d’espionnage.
Stratégie de l’équipe RED avec implication humaine
Wallace et al. (2019) ont proposé la génération antagoniste impliquant l’homme dans l’article « Trick Me If You Can : Human-in-the-loop Generation of Adversarial Examples for Question Responding », dans le but de créer des outils pour guider les humains à décomposer les modèles.
Ils ont expérimenté avec l’ensemble de données d’assurance qualité QuizBowl et ont conçu une interface d’écriture antagoniste qui permettrait aux humains d’écrire des questions similaires à celles de l’émission de quiz télévisée Jeopardy et de les utiliser pour induire le modèle à faire de fausses prédictions. Selon le degré d’importance, chaque mot sera codé par couleur (c’est-à-dire que la probabilité prédite du modèle changera lorsque le mot sera supprimé). L’importance des mots est approximée par le gradient du modèle basé sur les plongements de mots.
*Figure 12 : Interface d’écriture antagoniste, où la partie supérieure gauche représente les cinq premières prédictions du modèle répertorié, et la partie inférieure droite est la question de l’utilisateur, où l’importance des mots est codée par couleur. *
Dans une expérience, ce que les formateurs humains ont dû faire, c’était trouver des cas où un classificateur sûr n’a pas réussi à classer le contenu violent. Ziegler et al. (2022) ont créé un outil dans l’article « Adversarial Training for High-Stakes Reliability » qui peut être utilisé pour aider les adversaires humains à trouver la condition de défaillance d’un classificateur et à l’éliminer plus rapidement et plus efficacement. Les réécritures assistées par outil sont plus rapides que les réécritures manuelles complètes, ce qui réduit le temps requis par échantillon de 20 minutes à 13 minutes. Pour être précis, ils ont introduit deux fonctionnalités pour aider les rédacteurs humains : l’affichage du score de signification pour chaque jeton, la substitution de jeton et l’insertion.
*Figure 13 : Interface utilisateur avec des outils pour aider les humains dans les attaques antagonistes contre les classificateurs. Ce que les humains ont à faire, c’est d’éditer ou de compléter pour réduire la probabilité que le modèle prédise que l’entrée est violente. *
Xu et al. (2021) « Bot-Adversarial Dialogue for Safe Conversational Agents » propose le Bot-Adversarial Dialogue (BAD), un cadre qui peut amener les humains à tromper les modèles pour qu’ils fassent des erreurs (par exemple, en produisant du contenu dangereux). Ils ont recueilli plus de 5 000 séries de conversations entre des mannequins et des travailleurs du crowdsourcing. Chaque ensemble de conversations se composait de 14 tours, et ils ont ensuite noté le modèle en fonction du nombre de tours de conversations dangereuses. Ils se sont retrouvés avec un ensemble de données BAD d’environ 2500 ensembles de conversations avec des étiquettes offensantes.
L’ensemble de données de l’équipe rouge d’Anthropic contient près de 40 000 attaques antagonistes collectées à partir de conversations entre des membres humains de l’équipe rouge et des LLM. Ils ont constaté que plus la taille de la RLHF était grande, plus il était difficile de l’attaquer. Les grands modèles publiés par OpenAI, tels que GPT-4 et DALL-E 3, utilisent généralement des équipes rouges expertes humaines pour la préparation de la sécurité.
Adresse du jeu de données :
Modèle de stratégie de l’équipe rouge
La stratégie de l’équipe rouge humaine est puissante, mais elle est difficile à mettre en œuvre à grande échelle et peut nécessiter un grand nombre de professionnels formés. Imaginons maintenant que nous puissions apprendre un modèle d’équipe rouge, rouge, pour confronter le LLM cible afin de le déclencher pour qu’il donne une réponse dangereuse. Pour les stratégies d’équipe rouge basées sur des modèles, le principal défi est de savoir comment déterminer si une attaque est réussie ou non, et ce n’est qu’en sachant cela que nous pouvons construire des signaux d’apprentissage appropriés pour entraîner le modèle d’équipe rouge.
En supposant que nous disposions déjà d’un classifieur de haute qualité capable de dire si la sortie du modèle est nocive, nous pouvons l’utiliser comme récompense pour entraîner le modèle de l’équipe rouge afin d’obtenir des informations qui maximisent le score du classifieur sur la sortie du modèle cible. Soit r (x, y) l’un de ces classificateurs de l’équipe rouge qui peut déterminer si la sortie y est nuisible compte tenu d’une entrée de test x. Selon l’article « Red Teaming Language Models with Language Models » de Perez et al. (2022), la recherche d’échantillons d’attaques antagonistes suit un processus simple en trois étapes :
Exemples d’entrées de test d’un LLM de l’équipe rouge x~p_red (.) ;
Générer une sortie y pour chaque cas de test x à l’aide du LLM cible p (y | x) ;
Selon le classificateur r (x, y), trouvez un sous-ensemble du cas de test qui obtiendra une sortie nuisible.
Ils ont expérimenté plusieurs méthodes pour échantillonner le modèle de l’équipe rouge ou entraîner davantage le modèle de l’équipe rouge pour le rendre plus efficace, notamment la génération de tirs zéro, la génération aléatoire de quelques tirs, l’apprentissage supervisé et l’apprentissage par renforcement.
L’article de Casper et al. (2023) intitulé « Explore, Etablish, Exploit : Red Teaming Language Models from Scratch » (Explorer, établir, exploiter : les modèles de langage Red Teaming à partir de zéro) conçoit un processus d’équipe rouge avec la participation humaine. La principale différence par rapport à Perez et al. (2022) est qu’il définit explicitement une étape d’échantillonnage des données pour le modèle cible afin que des étiquettes humaines puissent être collectées pour former un classificateur d’équipe rouge spécifique à la tâche. Il se compose de trois phases : Explorer, Établir et Exploiter, comme indiqué dans la figure ci-dessous.
Figure 15 : Processus stratégique de l’équipe rouge avec une approche en trois étapes : explorer, construire et exploiter
L’article de Mehrabi et al. 2023, « FLIRT : Feedback Loop In-context Red Teaming », s’appuie sur l’apprentissage contextuel de l’équipe rouge LM p_red pour attaquer le modèle de génération d’images ou de texte p et lui faire produire du contenu dangereux.
Dans chaque itération de FLIRT :
L’équipe rouge LM p_red génère un x~p_red antagoniste (. | exemples), où les échantillons de contexte initiaux sont conçus par des humains ;
Générez le modèle p sur la base de ceci Générez une sortie image ou texte y ;
Utiliser des mécanismes tels que des classificateurs pour évaluer le contenu généré et voir s’il est sécurisé ;
Si y est considéré comme dangereux, utilisez le déclencheur x pour mettre à jour le modèle de contexte de p_red afin qu’il génère un nouvel adversaire basé sur la stratégie.
Il existe plusieurs stratégies pour mettre à jour les modèles de contexte de FLIRT : FIFO, LIFO, Scoring et Scoring-LIFO. Voir l’article original pour plus de détails.
*Figure 16 : Efficacité de l’attaque (pourcentage de génération ayant déclenché un résultat non sécurisé) pour différentes stratégies d’attaque sur différents modèles de propagation. Le benchmark est le SFS (Random Minimal Sample). Les valeurs entre parenthèses sont des pourcentages uniques. *
Comment faire face au problème de l’attaque des points de selle
Madry et al. (2017), « Towards Deep Learning Models Resistant to Adversarial Attacks », propose un bon cadre pour la robustesse antagoniste, qui est modélisée comme un problème de point de selle, qui devient un problème d’optimisation robuste. Le cadre est proposé pour une entrée continue dans les tâches de classification, mais il décrit le processus d’optimisation à deux niveaux avec des formules mathématiques assez concises, il vaut donc la peine d’être partagé.
Considérons une tâche de classification basée sur une distribution de données composée de paires (échantillons, étiquettes), (x,y)∈D, et l’objectif de l’entraînement d’un classifieur robuste est un problème de point de selle :
où S⊆R^d fait référence à un ensemble de perturbations qui peuvent être utilisées à des fins antagonistes, par exemple si nous voulons que la version antagoniste d’une image ressemble à l’original.
Son objectif consiste en un problème de maximisation interne et un problème de minimisation externe :
Maximisation interne : recherchez les points de données antagonistes x+δ les plus efficaces qui peuvent entraîner des pertes élevées. Toutes les méthodes d’attaque antagonistes se résument en fin de compte à la façon de maximiser la perte de ce processus interne.
Minimisation externe : Trouvez le meilleur schéma de paramétrage du modèle afin de minimiser la perte de l’attaque la plus efficace trouvée par le processus de maximisation interne. Un moyen simple d’entraîner un modèle robuste consiste à remplacer chaque point de données par ses versions de perturbation, qui peuvent être plusieurs variantes antagonistes d’un seul point de données.
*Figure 17 : Ils ont également constaté que la robustesse face aux attaques antagonistes nécessite une plus grande puissance du modèle, car elle complique les limites de décision. Il est intéressant de noter qu’en l’absence d’augmentation des données, des modèles plus grands permettent d’améliorer la robustesse du modèle. *
Quelques travaux de recherche sur la robustesse du LLM
Voici un bref aperçu de certaines des recherches sur la robustesse des LLM.
L’article de Xie et al. de 2023, « Defending ChatGPT against Jailbreak Attack via Self-Reminder », a trouvé un moyen simple et intuitif de protéger un modèle contre les attaques antagonistes : demander explicitement au modèle d’être responsable et de ne pas générer de contenu préjudiciable. Cela réduit considérablement le taux de réussite des attaques de jailbreak, mais a un effet secondaire sur la qualité de la génération du modèle, car de telles instructions peuvent rendre le modèle conservateur (par exemple, mauvais pour l’écriture créative) ou mal interpréter les instructions dans certains cas (par exemple, dans le cas d’une classification sûre-dangereuse).
Pour réduire le risque d’attaques antagonistes, la méthode la plus courante consiste à entraîner un modèle avec ces échantillons d’attaque, ce que l’on appelle « l’entraînement antagoniste ». Ceci est considéré comme la défense la plus solide, mais il nécessite un équilibre entre la robustesse et les performances du modèle. Jain et al. 2023 ont testé expérimentalement deux configurations d’entraînement antagonistes, et les résultats ont été rapportés dans l’article « Baseline Defenses for Adversarial Attacks Against Aligned Language Models » : (1) l’utilisation de nuisibles et l’utilisation de « Je suis désolé. (2) Pour chaque étape d’entraînement, exécutez une étape descendante sur la réponse de rejet et une étape ascendante sur la mauvaise réponse d’une équipe rouge. Finalement, ils ont constaté que la méthode (2) était inutile parce que la qualité du modèle était beaucoup plus faible et que le taux de réussite de l’attaque n’était que d’une faible diminution.
Les attaques en boîte blanche aboutissent souvent à des confrontations qui semblent inutiles et peuvent donc être détectées par la confusion. Bien entendu, en réduisant la confusion en optimisant explicitement, les attaques en boîte blanche peuvent directement contourner cette méthode de détection, comme UAT-LM, une variante de l’UT. Cependant, cela peut également entraîner une diminution du taux de réussite de l’attaque.
Figure 18 : Les filtres de confusion peuvent bloquer les attaques de [Zou et al. (2023)]. PPL Passed et PPL Window Passed font référence à la vitesse à laquelle les filtres nuisibles avec un suffixe antagoniste passent inaperçus. Plus le taux de réussite est faible, meilleur est le filtre. Adresse:
Jain et al. 2023 testent également des méthodes de prétraitement de la saisie de texte afin que les modifications antagonistes puissent être supprimées tout en conservant le sens sémantique.
Interpréter le sens : utilisez les LLM pour interpréter le sens du texte d’entrée, ce qui peut avoir un faible impact sur les performances des tâches en aval.
Retokenisation : divisez les tokens et représentez-les avec plusieurs tokens plus petits, tels que BPE-dropout (chute aléatoire d’un certain pourcentage de tokens). L’hypothèse utilisant cette approche est que l’adversaire est susceptible de tirer parti d’une combinaison spécifique de jetons antagonistes. Cela permet de réduire le taux de réussite de l’attaque, mais il est limité, par exemple de plus de 90 % à 40 %.
Voir l'original
Cette page peut inclure du contenu de tiers fourni à des fins d'information uniquement. Gate ne garantit ni l'exactitude ni la validité de ces contenus, n’endosse pas les opinions exprimées, et ne fournit aucun conseil financier ou professionnel à travers ces informations. Voir la section Avertissement pour plus de détails.
Le responsable du système de sécurité d’OpenAI a passé au peigne fin le long article : l’attaque antagoniste et la défense des grands modèles
Source originale : Heart of the Machine
Avec la sortie de ChatGPT, les applications de modèles de langage de grande taille s’accélèrent à grande échelle. L’équipe des systèmes de sécurité d’OpenAI a investi d’importantes ressources dans la recherche sur la façon de créer des comportements de sécurité par défaut pour les modèles lors de l’alignement. Cependant, il est toujours possible qu’une attaque antagoniste ou un jailbreak fasse en sorte que le modèle produise quelque chose que nous ne nous attendons pas à voir.
À l’heure actuelle, une grande partie de la recherche sur les attaques antagonistes se concentre sur les images, c’est-à-dire dans des espaces continus de grande dimension. Pour les données discrètes telles que le texte, il est généralement admis que l’attaque sera beaucoup plus difficile en raison de l’absence de signaux de gradient. Lilian Weng a déjà écrit un article sur ce sujet, Controllable Text Generation. Pour faire simple : attaquer un LLM consiste essentiellement à contrôler le contenu (non sécurisé) d’un élément de classe particulier que le modèle affiche.
Adresse de l’article :
Une autre branche de la recherche qui s’attaque aux LLM consiste à extraire des données pré-entraînées, des connaissances privées ou à attaquer le processus d’entraînement du modèle en empoisonnant les données. Mais ce n’est pas le sujet de cet article.
Modèle de menace de base des connaissances
Une attaque antagoniste est une entrée qui trompe le modèle pour qu’il produise quelque chose que nous n’attendons pas. Alors qu’une grande partie des recherches antérieures se concentraient sur les tâches de classification, des travaux plus récents ont commencé à se concentrer davantage sur la production de modèles génératifs. Cet article traite des grands modèles de langage et suppose que l’attaque ne se produit qu’au stade de l’inférence, ce qui signifie que les pondérations du modèle sont fixes.
Classer
Dans le passé, la communauté des chercheurs s’est davantage préoccupée des attaques antagonistes contre les classificateurs, et beaucoup dans le domaine des images. Les LLM peuvent également être utilisés pour la classification. Étant donné une entrée x et un classificateur f(.) , nous voulons trouver une version antagoniste nuancée de l’entrée x_adv telle que f(x) ≠f(x_adv).
Génération de texte
Étant donné une entrée x et un modèle génératif p(.) , le modèle peut produire un échantillon y~p(.|𝐱)。 L’attaque antagoniste ici consiste à trouver un p(x) afin que y viole les comportements de sécurité intégrés au modèle, tels que la sortie de contenu dangereux sur des sujets illégaux, la fuite d’informations privées ou les données d’entraînement du modèle. Il n’est pas facile de juger du succès d’une attaque pour une tâche de construction, qui nécessite un classificateur de très haute qualité pour déterminer si y est sûr ou nécessite un examen humain.
Boîte blanche vs. Boîte noire
Les attaques en boîte blanche supposent que l’attaquant dispose d’un accès complet aux pondérations des modèles, à l’architecture et aux workflows d’entraînement, afin qu’il puisse obtenir des signaux de gradient. Nous ne supposons pas qu’un attaquant aura accès à toutes les données d’entraînement. Cela ne s’applique qu’au modèle open-source. Les attaques en boîte noire supposent qu’un attaquant ne peut accéder qu’à des services de type API : un attaquant peut fournir une entrée x et obtenir un échantillon y du retour d’information sans en savoir plus sur le modèle.
Types d’attaques antagonistes
Il existe un certain nombre de façons différentes d’aider un attaquant à trouver des entrées antagonistes qui peuvent inciter les LLM à produire du contenu dangereux. Voici cinq façons de le faire.
Étant donné un morceau d’entrée de texte qui contient une séquence de jetons, nous pouvons utiliser une opération de jeton simple (par exemple, en le remplaçant par des synonymes) pour tromper le modèle en faisant une fausse prédiction. Les attaques basées sur des jetons sont des attaques de type boîte noire. Dans le cadre Python, l’article de Morris et al. 2020 « TextAttack : A Framework for Adversarial Attacks, Data Augmentation, and Adversarial Training in NLP » implémente un certain nombre de méthodes d’attaque par manipulation de mots et de jetons qui peuvent être utilisées pour créer des échantillons antagonistes pour les modèles NLP. Une grande partie des travaux de recherche dans ce domaine expérimente la classification et la prédiction des implications.
Par exemple, l’étude de Ribeiro et al. (2018) « Semantically Equivalent Adversarial Rules for Debugging NLP models » s’appuie sur des « Semantic Equivalence Adversarial Rules (SEAR) » artificiellement proposées, qui peuvent empêcher le modèle de générer la bonne réponse avec le moins d’opérations de jeton possible. Par exemple, les règles incluent le remplacement de What par Which et was with is. En outre, il existe d’autres méthodes proposées par d’autres chercheurs, telles que le remplacement des mots-clés et le remplacement des synonymes.
Attaques basées sur le gradient
Dans le cas d’une attaque en boîte blanche, l’attaquant peut obtenir tous les paramètres et architectures du modèle. Par conséquent, les attaquants peuvent s’appuyer sur la descente de gradient pour apprendre par programmation les vecteurs d’attaque les plus efficaces. Les attaques basées sur le gradient ne fonctionnent que dans les environnements de boîte blanche, tels que les LLM open source.
Les attaques antagonistes basées sur le gradient contre les transformateurs de texte proposées par Guo et al. (2021) utilisent la technique d’approximation Gumbel-Softmax pour optimiser la différentiabilité des pertes antagonistes, et elles utilisent également BERTScore et la perplexité pour améliorer la perception et la fluidité.
Cependant, l’astuce Gumbel-softmax n’est pas évolutive pour la suppression ou l’ajout de jetons, mais est limitée par la substitution de jetons.
Ebrahimi et al. (2018) dans l’article « HotFlip : White-Box Adversarial Examples for Text Classification » traitent les opérations de texte comme des entrées dans un espace vectoriel, et mesurent les dérivées perdues sur ces vecteurs. HotFlip peut être étendu pour la suppression ou l’ajout de jetons.
Wallace et al. (2019) article « Universal Adversarial Triggers for Attacking and Analyzing NLP » propose une méthode pour effectuer une recherche guidée par gradient sur un jeton afin de trouver une courte séquence qui incite le modèle à produire une prédiction spécifique, appelée Universal Adversarial Triggers (UAT, Universal Adversarial Trigger). L’UAT est indépendant de l’entrée, ce qui signifie que ces déclencheurs peuvent être connectés en tant que préfixe (ou suffixe) à n’importe quelle entrée du jeu de données.
Shin et al., 2020 Auto : Eliciting Knowledge from Language Models with Automatically Generated s utilise la même stratégie de recherche basée sur le gradient pour trouver les modèles les plus efficaces pour diverses tâches.
La méthode de recherche de jeton ci-dessus peut être améliorée avec la recherche de poutre. Lorsque vous recherchez l’intégration optimale des jetons, vous pouvez choisir les k meilleurs candidats au lieu d’un seul, effectuer une recherche de gauche à droite sur le lot de données actuel et noter chaque faisceau en fonction de L_adv.
La perte de l’UAT L_adv doit être conçue pour la tâche spécifique. La classification ou la compréhension de la lecture repose sur l’entropie croisée.
Pourquoi l’UAT fonctionne-t-il ? C’est une question intéressante. Étant donné que l’UAT est indépendant des entrées et peut être transféré entre des modèles avec des intégrations, des schémas de tokenisation et des architectures différents, ils peuvent être en mesure d’utiliser efficacement les biais dans les données d’apprentissage qui sont déjà intégrés dans le comportement global du modèle.
Il y a un inconvénient à utiliser des attaques UAT : elles sont faciles à détecter. La raison en est que les déclencheurs appris sont souvent dénués de sens. Mehrabi et al. (2022) ont examiné deux variantes de l’UAT dans l’article Robust Conversational Agents against Imperceptible Toxicity Triggers, qui rendent les déclencheurs appris imperceptibles dans le contexte d’une conversation à plusieurs tours. L’objectif est de créer un message offensant qui déclenche efficacement une réponse toxique dans une conversation donnée, tout en veillant à ce que l’attaque soit fluide, cohérente et cohérente tout au long de la conversation.
这两种变体分别是 UAT-LM(Universal Adversarial Trigger with Language Model Loss)和 UTSC(Unigram Trigger with Selection Criteria)。
UAT-LM et UTSC-1 sont à égalité avec les benchmarks UAT, mais les phrases d’attaque UAT sont étonnamment déroutantes et beaucoup plus élevées que UAT-LM et UTSC-1. Une grande confusion rend les attaques plus faciles à détecter et à atténuer. Selon les évaluations humaines, les attaques UTSC-1 produisent des résultats plus cohérents, fluides et pertinents que les autres méthodes d’attaque.
L’article de Zou et al. (2023) intitulé « Robust Conversational Agents against Imperceptible Toxicity Triggers » examine également le cas de la connexion d’un jeton de déclencheur antagoniste générique en tant que suffixe à une demande d’entrée. Ils se sont penchés spécifiquement sur les requêtes malveillantes adressées aux LLM, auxquelles le modèle devrait refuser de répondre. En fait, le rejet de catégories de contenu qui ne sont pas autorisées, telles que les suggestions criminelles, est une mesure de sécurité importante intégrée à GPT-4. L’objectif contradictoire ici est d’inciter le LLM à produire une réponse positive, même s’il devrait rejeter la réponse. Cela signifie que lorsqu’une requête malveillante est reçue, le modèle répond comme ceci, « Bien sûr, vous devez faire ceci... », et la réponse positive attendue est également configurée pour dupliquer certains utilisateurs, afin d’éviter de simplement changer le suffixe de la rubrique pour optimiser la réponse « bien sûr ». La fonction de perte est aussi simple que NLL (logarithmique négative) de la réponse cible de sortie.
Ils ont expérimenté deux modèles différents, Vicuna-7b et Vicuna-13b, en utilisant une recherche basée sur le gradient de coordonnées gourmand (GCG) pour trouver avidement un candidat afin que le candidat puisse minimiser les pertes dans toutes les substitutions possibles de jetons uniques.
Bien que leurs séquences d’attaque aient été entièrement entraînées sur des modèles open source, elles étaient étonnamment portables à d’autres modèles commerciaux, ce qui suggère que les attaques en boîte blanche sur les modèles open source peuvent également être efficaces contre les modèles propriétaires, en particulier lorsqu’il y a chevauchement de données d’apprentissage de bas niveau. Notez que l’entraînement de Vigogne utilise les données collectées à partir de GPT-3.5-turbo (via shareGPT), qui est de nature distillation, de sorte que cette attaque ressemble davantage à une attaque en boîte blanche.
L’Autoregressive Random Coordinate Rise (ARCA) proposée par Jones et al. (2023) considère un ensemble plus large de problèmes d’optimisation pour trouver des paires entrées-sorties (x, y) qui se conforment à un modèle de comportement spécifique, tel qu’une entrée non toxique qui commence par « Barack Obama » mais entraîne une sortie toxique. Étant donné un objectif d’audit : φ : X×Y→R, qui mappe une paire (entrée, sortie) à un score.
Conception de jailbreak
Le jailbreak est une tentative contradictoire de tromper les LLM pour qu’ils publient du contenu préjudiciable qui devrait être évité. Le jailbreak est une attaque de type boîte noire, de sorte que les combinaisons lexicales sont basées sur l’heuristique et l’exploration humaine. L’article de Wei et al. (2023) intitulé « Jailbreak : How Does LLM Safety Training Fail ? » propose deux modes de défaillance pour la sécurité LLM, qui peuvent être utilisés pour guider la conception d’attaques de jailbreak.
1. Objectifs concurrents : c’est lorsque les capacités du modèle (par exemple, « doit toujours suivre les ordres ») entrent en conflit avec les objectifs de sécurité. Voici quelques exemples d’attaques de jailbreak qui exploitent des cibles concurrentes :
2. Généralisation de l’inadéquation : Il s’agit de l’incapacité de la formation à la sécurité à se généraliser aux domaines où elle est capable. Cela se produit lorsque l’entrée se trouve en dehors de la distribution sécurisée des données d’apprentissage (OOD) du modèle, mais dans le cadre de son vaste corpus pré-entraîné. En voici quelques exemples :
Wei et al. (2023) expérimentent un grand nombre de méthodes de jailbreak, y compris des stratégies combinatoires construites à partir des principes ci-dessus.
L’article de Greshake et al. (2023) intitulé « Not what you’ve signed up for : Compromise Real-World LLM-Integrated Applications with Indirect Injection » (Pas ce que vous avez signé pour : compromettre les applications intégrées au LLM dans le monde réel avec l’injection indirecte) examine les attaques par injection à un niveau élevé. Il soutient que même lorsqu’une attaque ne fournit pas de méthode détaillée et ne fournit qu’une cible, il est possible pour le modèle de l’implémenter automatiquement. Lorsqu’un modèle a accès à des API et des outils externes, l’accès à davantage d’informations, même propriétaires, peut entraîner un risque accru d’attaques de phishing et d’espionnage.
Stratégie de l’équipe RED avec implication humaine
Wallace et al. (2019) ont proposé la génération antagoniste impliquant l’homme dans l’article « Trick Me If You Can : Human-in-the-loop Generation of Adversarial Examples for Question Responding », dans le but de créer des outils pour guider les humains à décomposer les modèles.
Ils ont expérimenté avec l’ensemble de données d’assurance qualité QuizBowl et ont conçu une interface d’écriture antagoniste qui permettrait aux humains d’écrire des questions similaires à celles de l’émission de quiz télévisée Jeopardy et de les utiliser pour induire le modèle à faire de fausses prédictions. Selon le degré d’importance, chaque mot sera codé par couleur (c’est-à-dire que la probabilité prédite du modèle changera lorsque le mot sera supprimé). L’importance des mots est approximée par le gradient du modèle basé sur les plongements de mots.
Dans une expérience, ce que les formateurs humains ont dû faire, c’était trouver des cas où un classificateur sûr n’a pas réussi à classer le contenu violent. Ziegler et al. (2022) ont créé un outil dans l’article « Adversarial Training for High-Stakes Reliability » qui peut être utilisé pour aider les adversaires humains à trouver la condition de défaillance d’un classificateur et à l’éliminer plus rapidement et plus efficacement. Les réécritures assistées par outil sont plus rapides que les réécritures manuelles complètes, ce qui réduit le temps requis par échantillon de 20 minutes à 13 minutes. Pour être précis, ils ont introduit deux fonctionnalités pour aider les rédacteurs humains : l’affichage du score de signification pour chaque jeton, la substitution de jeton et l’insertion.
Xu et al. (2021) « Bot-Adversarial Dialogue for Safe Conversational Agents » propose le Bot-Adversarial Dialogue (BAD), un cadre qui peut amener les humains à tromper les modèles pour qu’ils fassent des erreurs (par exemple, en produisant du contenu dangereux). Ils ont recueilli plus de 5 000 séries de conversations entre des mannequins et des travailleurs du crowdsourcing. Chaque ensemble de conversations se composait de 14 tours, et ils ont ensuite noté le modèle en fonction du nombre de tours de conversations dangereuses. Ils se sont retrouvés avec un ensemble de données BAD d’environ 2500 ensembles de conversations avec des étiquettes offensantes.
L’ensemble de données de l’équipe rouge d’Anthropic contient près de 40 000 attaques antagonistes collectées à partir de conversations entre des membres humains de l’équipe rouge et des LLM. Ils ont constaté que plus la taille de la RLHF était grande, plus il était difficile de l’attaquer. Les grands modèles publiés par OpenAI, tels que GPT-4 et DALL-E 3, utilisent généralement des équipes rouges expertes humaines pour la préparation de la sécurité.
Adresse du jeu de données :
Modèle de stratégie de l’équipe rouge
La stratégie de l’équipe rouge humaine est puissante, mais elle est difficile à mettre en œuvre à grande échelle et peut nécessiter un grand nombre de professionnels formés. Imaginons maintenant que nous puissions apprendre un modèle d’équipe rouge, rouge, pour confronter le LLM cible afin de le déclencher pour qu’il donne une réponse dangereuse. Pour les stratégies d’équipe rouge basées sur des modèles, le principal défi est de savoir comment déterminer si une attaque est réussie ou non, et ce n’est qu’en sachant cela que nous pouvons construire des signaux d’apprentissage appropriés pour entraîner le modèle d’équipe rouge.
En supposant que nous disposions déjà d’un classifieur de haute qualité capable de dire si la sortie du modèle est nocive, nous pouvons l’utiliser comme récompense pour entraîner le modèle de l’équipe rouge afin d’obtenir des informations qui maximisent le score du classifieur sur la sortie du modèle cible. Soit r (x, y) l’un de ces classificateurs de l’équipe rouge qui peut déterminer si la sortie y est nuisible compte tenu d’une entrée de test x. Selon l’article « Red Teaming Language Models with Language Models » de Perez et al. (2022), la recherche d’échantillons d’attaques antagonistes suit un processus simple en trois étapes :
Ils ont expérimenté plusieurs méthodes pour échantillonner le modèle de l’équipe rouge ou entraîner davantage le modèle de l’équipe rouge pour le rendre plus efficace, notamment la génération de tirs zéro, la génération aléatoire de quelques tirs, l’apprentissage supervisé et l’apprentissage par renforcement.
L’article de Casper et al. (2023) intitulé « Explore, Etablish, Exploit : Red Teaming Language Models from Scratch » (Explorer, établir, exploiter : les modèles de langage Red Teaming à partir de zéro) conçoit un processus d’équipe rouge avec la participation humaine. La principale différence par rapport à Perez et al. (2022) est qu’il définit explicitement une étape d’échantillonnage des données pour le modèle cible afin que des étiquettes humaines puissent être collectées pour former un classificateur d’équipe rouge spécifique à la tâche. Il se compose de trois phases : Explorer, Établir et Exploiter, comme indiqué dans la figure ci-dessous.
L’article de Mehrabi et al. 2023, « FLIRT : Feedback Loop In-context Red Teaming », s’appuie sur l’apprentissage contextuel de l’équipe rouge LM p_red pour attaquer le modèle de génération d’images ou de texte p et lui faire produire du contenu dangereux.
Dans chaque itération de FLIRT :
Il existe plusieurs stratégies pour mettre à jour les modèles de contexte de FLIRT : FIFO, LIFO, Scoring et Scoring-LIFO. Voir l’article original pour plus de détails.
Comment faire face au problème de l’attaque des points de selle
Madry et al. (2017), « Towards Deep Learning Models Resistant to Adversarial Attacks », propose un bon cadre pour la robustesse antagoniste, qui est modélisée comme un problème de point de selle, qui devient un problème d’optimisation robuste. Le cadre est proposé pour une entrée continue dans les tâches de classification, mais il décrit le processus d’optimisation à deux niveaux avec des formules mathématiques assez concises, il vaut donc la peine d’être partagé.
Considérons une tâche de classification basée sur une distribution de données composée de paires (échantillons, étiquettes), (x,y)∈D, et l’objectif de l’entraînement d’un classifieur robuste est un problème de point de selle :
Son objectif consiste en un problème de maximisation interne et un problème de minimisation externe :
Quelques travaux de recherche sur la robustesse du LLM
Voici un bref aperçu de certaines des recherches sur la robustesse des LLM.
L’article de Xie et al. de 2023, « Defending ChatGPT against Jailbreak Attack via Self-Reminder », a trouvé un moyen simple et intuitif de protéger un modèle contre les attaques antagonistes : demander explicitement au modèle d’être responsable et de ne pas générer de contenu préjudiciable. Cela réduit considérablement le taux de réussite des attaques de jailbreak, mais a un effet secondaire sur la qualité de la génération du modèle, car de telles instructions peuvent rendre le modèle conservateur (par exemple, mauvais pour l’écriture créative) ou mal interpréter les instructions dans certains cas (par exemple, dans le cas d’une classification sûre-dangereuse).
Pour réduire le risque d’attaques antagonistes, la méthode la plus courante consiste à entraîner un modèle avec ces échantillons d’attaque, ce que l’on appelle « l’entraînement antagoniste ». Ceci est considéré comme la défense la plus solide, mais il nécessite un équilibre entre la robustesse et les performances du modèle. Jain et al. 2023 ont testé expérimentalement deux configurations d’entraînement antagonistes, et les résultats ont été rapportés dans l’article « Baseline Defenses for Adversarial Attacks Against Aligned Language Models » : (1) l’utilisation de nuisibles et l’utilisation de « Je suis désolé. (2) Pour chaque étape d’entraînement, exécutez une étape descendante sur la réponse de rejet et une étape ascendante sur la mauvaise réponse d’une équipe rouge. Finalement, ils ont constaté que la méthode (2) était inutile parce que la qualité du modèle était beaucoup plus faible et que le taux de réussite de l’attaque n’était que d’une faible diminution.
Les attaques en boîte blanche aboutissent souvent à des confrontations qui semblent inutiles et peuvent donc être détectées par la confusion. Bien entendu, en réduisant la confusion en optimisant explicitement, les attaques en boîte blanche peuvent directement contourner cette méthode de détection, comme UAT-LM, une variante de l’UT. Cependant, cela peut également entraîner une diminution du taux de réussite de l’attaque.
Jain et al. 2023 testent également des méthodes de prétraitement de la saisie de texte afin que les modifications antagonistes puissent être supprimées tout en conservant le sens sémantique.