Activation du contrôle dans les modèles de langage
Une nouvelle méthode pour guider les modèles de langage efficacement.
― 8 min lire
Table des matières
Contrôler les grands modèles de langage (LLMs) est devenu un vrai défi. Ces modèles, bien que puissants, produisent souvent des résultats difficiles à guider ou à gérer. Les méthodes traditionnelles pour influencer ces modèles incluent le fine-tuning avec des données étiquetées, l'utilisation de retours humains, la création soignée de prompts et certaines techniques avancées pendant le processus de décodage du modèle. Cependant, beaucoup de ces méthodes nécessitent des ressources informatiques et de l'expertise considérables.
Dans cet article, on va parler d'une méthode qu'on appelle l'Ingénierie d'activation. Cette approche nous permet d'influencer le comportement du modèle pendant l'inférence - quand le modèle génère du texte sans avoir besoin de gros changements computationnels ou de données d'entraînement supplémentaires. En ajustant ce qu'on appelle les activations dans le modèle, spécifiquement en utilisant des prompts en langage naturel, on peut atteindre un niveau de contrôle gérable sur le texte produit par ces modèles.
Le Problème des Méthodes Actuelles
Les méthodes actuelles pour contrôler les LLMs sont souvent compliquées et consommatrices de ressources. Voici quelques approches courantes :
Fine-tuning Supervisé : Cette méthode nécessite de grandes quantités de données étiquetées et peut radicalement changer le comportement du modèle, mais ça prend beaucoup de temps et de puissance de calcul.
Apprentissage par Renforcement avec Retours Humains (RLHF) : Le RLHF utilise les retours humains pour améliorer les sorties du modèle, mais c'est généralement coûteux et nécessite une implication humaine extensive.
Ingénierie de Prompt : Cela implique de créer des prompts spécifiques pour encourager la sortie désirée. Bien que cette méthode soit plus facile en termes de ressources, elle peut être aléatoire et nécessite souvent une certaine créativité pour bien fonctionner.
Décodage Guidé : C'est une autre méthode complexe qui implique des interventions superposées pouvant changer les sorties des modèles, mais cela consomme aussi beaucoup de ressources informatiques.
Malgré ces méthodes, il reste encore plein de défis sur la façon dont on peut diriger ces modèles, surtout dans des situations en temps réel où l'efficacité est recherchée.
Qu'est-ce que l'Ingénierie d'Activation ?
À l'inverse des méthodes existantes, l'ingénierie d'activation se concentre sur la modification des activations du modèle au moment où il génère sa sortie. En faisant cela, on peut appliquer un vecteur de guidage dérivé des simples différences dans les activations qui se produisent lorsque différents prompts sont utilisés.
Essentiellement, on prend deux prompts - l'un représentant un résultat désiré et l'autre représentant son opposé. En comparant les activations résultantes de ces prompts, on peut créer un nouveau vecteur d'activation. Ce vecteur agit comme notre mécanisme de guidage, nous permettant d'orienter subtilement la sortie du modèle vers des résultats plus favorables sans changer le modèle sous-jacent lui-même.
Ce processus a plusieurs avantages :
- Moins de Charges Computationnelles : Notre méthode nécessite beaucoup moins de ressources informatiques que le fine-tuning traditionnel ou le RLHF.
- Pas Besoin de Données Étiquetées : On peut travailler sans vastes ensembles de données étiquetées, ce qui le rend accessible à des utilisateurs sans préparation de données exhaustive.
- Facile d'Utilisation : Cette méthode permet des entrées en langage naturel, ce qui rend plus facile de diriger le modèle sans connaissances spécialisées.
Les Mécaniques de l'Ingénierie d'Activation
Pour appliquer l'ingénierie d'activation, on doit d'abord définir deux prompts en langage naturel. Un prompt doit mettre en avant la propriété sur laquelle on veut que le modèle se concentre, et l'autre doit s'y opposer. Par exemple, si on veut que le modèle écrive sur le bonheur, on pourrait utiliser “J'adore être heureux” comme notre premier prompt et “Je n'aime pas être heureux” comme le prompt opposé.
Ensuite, on fait tourner le modèle avec les deux prompts, capturant les activations à une couche spécifique du modèle pour les deux cas. En calculant les différences entre ces activations, on crée un vecteur de guidage. Ce vecteur est ensuite ajouté à l'entrée d'une couche spécifique du modèle pendant le passage avant, guidant la sortie du modèle dans la direction souhaitée.
Un des aspects clés de notre méthode est le coefficient d'injection. Ce coefficient contrôle l'influence que le vecteur de guidage a sur la sortie du modèle. Le régler correctement permet de rediriger efficacement le modèle sans nuire à ses performances générales.
Résultats et Expériences
Pour valider notre méthode, on a mené plusieurs expériences en utilisant un grand ensemble de données appelé OpenWebText. On voulait voir à quel point notre ingénierie d'activation pouvait orienter les sujets, les sentiments et le style général dans le texte généré.
Expérience 1 : Orienter le Sujet
Dans notre première expérience, on a testé comment orienter le sujet “mariages” affectait la sortie du modèle. En utilisant un vecteur de guidage élaboré à partir de prompts liés aux mariages et leurs opposés, on a mesuré la capacité du modèle à produire du contenu lié aux mariages.
On a échantillonné un grand nombre de documents d'OpenWebText, analysant à quelle fréquence les mots liés aux mariages apparaissaient dans les textes avant et après avoir appliqué notre technique d'ingénierie d'activation. Les résultats ont montré une augmentation significative de la probabilité de sorties liées aux mariages par rapport aux exécutions non modifiées, prouvant que notre méthode orientait efficacement le sujet vers la thématique désirée.
Expérience 2 : Analyser les Changements de Sentiment
Ensuite, on a exploré comment notre méthode pouvait influencer le sentiment, en se concentrant particulièrement sur la colère et le calme. On a élaboré des vecteurs de guidage visant explicitement à booster ou à atténuer les tons émotionnels dans le texte généré.
En utilisant divers prompts, on a généré des sorties avec du contenu émotionnel et ensuite noté ces sorties sur la base de leur sentiment. Les résultats ont indiqué que nos vecteurs de guidage influençaient significativement le ton émotionnel du modèle, conduisant à des résultats plus en colère ou plus calmes, selon le résultat souhaité.
Expérience 3 : Préservation des Connaissances Générales
Une préoccupation clé avec toute méthode de guidage est de savoir si cela impacte les connaissances générales et les performances du modèle sur des tâches non liées. Pour évaluer cela, on a testé notre ingénierie d'activation sur un benchmark de connaissances générales connu sous le nom de ConceptNet.
On a demandé au modèle de remplir des entités manquantes dans des phrases factuelles et on a comparé les performances avec et sans nos vecteurs de guidage. Les résultats ont montré que la précision factuelle globale restait principalement inchangée après l'application de notre méthode, confirmant qu'on pouvait introduire du guidage sans dégrader les performances générales du modèle.
Avantages de l'Ingénierie d'Activation
L'ingénierie d'activation présente plusieurs avantages notables par rapport aux méthodes de contrôle traditionnelles pour les LLMs :
Efficacité : Comme notre méthode nécessite seulement des passages avant à travers le modèle, elle permet d'économiser du temps et des ressources par rapport aux méthodes qui nécessitent des passages arrière ou des mises à jour des poids du modèle.
Facilité d'Utilisation : Les utilisateurs peuvent spécifier leurs besoins via un langage naturel sans avoir besoin de connaissances techniques ou de formation extensive.
Flexibilité : Cette approche permet des itérations rapides et des combinaisons de différents objectifs, la rendant adaptée à diverses applications.
Effets Secondaires Minimaux : Important, cela ne perturbe pas les connaissances générales encodées dans le modèle, permettant un guidage ciblé sans conséquences inattendues sur des sorties non liées.
Limitations et Travaux Futurs
Bien que l'ingénierie d'activation montre du potentiel, elle n'est pas sans limites. La sélection des prompts et la direction souhaitée du guidage peuvent varier en efficacité, ce qui peut mener à quelques essais et erreurs pour les utilisateurs. De plus, les utilisateurs doivent avoir une idée claire de ce qu'ils souhaitent orienter, car les résultats peuvent différer considérablement selon ces choix.
Les futurs travaux devraient viser à affiner la méthode davantage, permettant des interfaces utilisateur plus accessibles et robustes. Explorer d'autres propriétés qui peuvent être guidées par cette technique pourrait élargir ses applications, augmentant son utilité pour une gamme plus large de tâches.
Conclusion
En résumé, l'ingénierie d'activation offre une nouvelle façon de contrôler les grands modèles de langage de manière efficace et intuitive. En modifiant les activations pendant l'inférence, on peut orienter les sorties du modèle vers des sujets et des tons émotionnels souhaités sans le poids computationnel lourd associé aux méthodes traditionnelles. Au fur et à mesure qu'on continue à affiner cette approche, elle détient un potentiel pour une utilisation plus large dans diverses applications en intelligence artificielle et en traitement du langage naturel.
Titre: Steering Language Models With Activation Engineering
Résumé: Prompt engineering and finetuning aim to maximize language model performance on a given metric (like toxicity reduction). However, these methods do not fully elicit a model's capabilities. To reduce this gap, we introduce activation engineering: the inference-time modification of activations in order to control (or steer) model outputs. Specifically, we introduce the Activation Addition (ActAdd) technique, which contrasts the intermediate activations on prompt pairs (such as "Love" versus "Hate") to compute a steering vector (Subramani et al. 2022). By tactically adding in e.g. the "Love" - "Hate" steering vector during the forward pass, we achieve SOTA on negative-to-positive sentiment shift and detoxification using models including LLaMA-3 and OPT. ActAdd yields inference-time control over high-level output properties (like topic and sentiment) while preserving performance on off-target tasks. ActAdd is lightweight: it does not require any machine optimization and works with a single pair of data points, which enables rapid iteration over steering. ActAdd demonstrates the power of activation engineering.
Auteurs: Alexander Matt Turner, Lisa Thiergart, Gavin Leech, David Udell, Juan J. Vazquez, Ulisse Mini, Monte MacDiarmid
Dernière mise à jour: 2024-10-10 00:00:00
Langue: English
Source URL: https://arxiv.org/abs/2308.10248
Source PDF: https://arxiv.org/pdf/2308.10248
Licence: https://creativecommons.org/licenses/by/4.0/
Changements: Ce résumé a été créé avec l'aide de l'IA et peut contenir des inexactitudes. Pour obtenir des informations précises, veuillez vous référer aux documents sources originaux dont les liens figurent ici.
Merci à arxiv pour l'utilisation de son interopérabilité en libre accès.
Liens de référence
- https://github.com/AUTOMATIC1111/stable-diffusion-webui/commit/fdecb636855748e03efc40c846a0043800aadfcc
- https://www.ams.org/tex/type1-fonts.html
- https://titlecaseconverter.com/
- https://aaai.org/ojs/index.php/aimagazine/about/submissions#authorGuidelines
- https://app.diagrams.net/#G1n9PDjxgfOZHMqKEJw9CMVD-xBjLehIPM