Un fait surprenant concernant les modèles de langage est que personne ne comprend vraiment comment ils fonctionnent en interne. Ne pas être en mesure de reconstruire de manière déductive les étapes « mentales » à travers lesquelles passe le modèle pour échafauder sa réponse pose des problèmes de sécurité et d’ éthique.

En effet, comment s’ assurer qu’ un modèle répond de manière transparente et ne nous ment pas ou ne poursuit pas un objectif différent de celui que nous lui avons assigné ? Et si nous lui demandons d’ expliciter une décision, va-t’ il expliquer les étapes de son raisonnement ou fournir une justification a posteriori sans relation avec son processus interne initial ? Un modèle pourrait-il nous mentir délibérément si nous le mettons dans une position contradictoire en lui demandant d’ aller à l’ encontre de ses instructions ? Jusqu’ où peut-on être sûr que certaines prohibitions seront respectées ?

Ces questions revêtent une importance de plus en plus grande au fil des progrès des modèles : les modèles se transforment progressivement en agents avec une capacité directe d’ action dans le monde réel : envoi d’ emails, achat de produits…cette délégation sans cesse croissante crée une certaine urgence autour de ces questions de sécurité et d’ éthique.

La société Anthropic, qui a développé les modèles de langage Claude, mène des recherches très actives sur le sujet de l’ interprétabilité des modèles de langage. Ils ont publié plusieurs articles sur le sujet que vous trouverez en référence, et leurs analyses mettent en évidence des phénomènes très intéressants.

Dans ce premier article, je vais me concentrer sur les recherches permettant d’ isoler l’ émergence de concepts « interprétables par des humains » à l’ intérieur des modèles de langage. La manière dont ces concepts sont articulés et interconnectés pour formuler une réponse cohérente fera l’ objet de mon prochain article.

Un petit mot sur l’ architecture des « transformeurs »

Les modèles de langage utilisent l’ architecture des « transformeurs » définie par Google en 2017 dans le célèbre article Attention is all you need. Je me contenterai ici d’ une explication sommaire qui devrait suffire pour nos discussions sur l’ interprétabilité, à savoir :

  • les « transformeurs » sont structurés en couches successives;
  • une couche d’ entrée découpe le texte du « prompt » en tokens puis transforme ces derniers séquence de vecteurs dans un espace de représentation. Ces vecteurs sont des représentations numériques des mots du texte, et la séquence de vecteurs correspond à la séquence de mots du prompt;
  • les autres couches du modèle transforment cette séquence de vecteurs de manière itérative, couche par couche. Les couches sont architecturalement identiques mais contiennent des paramètres de transformation différents qui ont été définis chacun lors de l’ apprentissage (ce sont les fameux « milliards » de coefficients);
  • enfin, la couche de sortie est semblable aux autres sauf qu’ au lieu de transformer la séquence de vecteurs, elle va générer une distribution de probabilités sur le prochain token à ajouter à la séquence (prédiction du prochain mot).

Voici une illustration de cette logique, avec l’ architecture du réseau à gauche et la séquence de vecteurs à droite :

Figure 1 : Architecture et flux de données d’ un transformeur

Pour être complet, chaque couche se comporte de deux sous-couches; la première, appelée couche d’ attention va combiner et enrichir le vecteur avec les informations contenues dans les autres vecteurs de la séquence. La seconde, appelée MLP (Multilayer Perceptron) est un réseau neuronal classique qui va transformer chacun des vecteurs de la séquence après avoir été enrichis par la couche d’ attention. La couche MLP applique la même transformation à chacun des vecteurs de la séquence.

Ceci est illustré dans la figure 2. Il y a une petite astuce : la couche d’ attention est commune, tandis que la couche MLP s’ applique individuellement à chacun des vecteurs « enrichis » fournis par la couche d’ attention.

Figure 2 : Détail d’ une couche du transformeur

Aller dans le détail de cette architecture dépasse largement le cadre de cet article et si vous voulez en avoir une compréhension plus approfondie, je vous conseille soit de lire le paper de Google, soit de lire l’ excellent article de vulgarisation de Jay Alammar « The Illustrated Transformer » accessible ici.

La question de l’ espace de représentation

Ce que j’ ai voulu faire ressortir de cette architecture, c’ est la centralité de l’ espace de représentation. En fin de compte, le transformeur ne fait qu’ enrichir et transformer successivement des vecteurs dans cet espace. Pour vous donner une idée, la dimension de cet espace varie d’ un modèle à l’ autre; Anthropic ne publie pas cette information mais pour OpenAI ChatGPT-4o on sait que l’ espace de représentation compte 1.536 dimensions.

L’ hypothèse que les chercheurs d’ Anthropic ont pu vérifier, c’ est que les concepts intelligibles pour les humains correspondent à des directions dans cet espace de représentation. Ceci avait déjà été établi pour d’ autres modèles d’ apprentissage linguistique comme les « word embeddings » mais pas encore pour les modèles de langage.

Dans un monde idéal, les différents axes de cet espace de représentation correspondraient directement à des concepts intelligibles par l’ homme. Les coefficients des vecteurs indiqueraient alors la présence ou l’ absence de ces concepts. Mais est-ce le cas ? Non, ce serait trop simple. En fait, les axes de cet espace sont des concepts abstraits, mais pas intelligibles par l’ homme, et donc non interprétables.

Pourquoi ? Une explication intuitive est que 1.536 est un nombre bien trop petit pour représenter l’ ensemble des concepts auxquels le réseau a été confronté pendant l’ entraînement. Les concepts vont donc se retrouver « mélangés » dans cet espace (mathématiquement, il s’ agira d’ un ensemble de vecteurs linéairement dépendants vu la trop faible dimension de l’ espace). Cette situation rend impossible l’ extraction de concepts intelligibles par une opération vectorielle élémentaire de type projection.

Le Dictionary Learning à la rescousse

Mais il y a un moyen de s’ en sortir, c’ est de combattre le mal par le mal et de faire appel à un autre algorithme d’ apprentissage machine pour extraire les concepts. Cet algorithme s’ appelle le « Dictionary Learning ».

L’ idée en est la suivante : nous allons entraîner un nouveau réseau de neurones en trois couches de la manière suivante :

  • le réseau doit être capable de générer en sortie les mêmes réponses que celles en entrée (transformation identité). La première et la troisième couche ont donc la même dimension, celle de l’ espace de représentation;
  • nous allons contraindre ce réseau à avoir une couche intermédiaire (la seconde) de beaucoup plus grande taille et pour laquelle le nombre de paramètres actifs à tous moment est très faible (idéalement 1). C’est ce qu’ on appelle une couche « sparse » (éparse).

La première contrainte à elle seule peut paraître étrange, mais elle permet d’ intercaler le nouveau modèle au milieu du modèle original sans en perturber le fonctionnement. Et la couche intermédiaire, une fois entraînée, va se comporter comme un « dictionnaire » de concepts, chacun des neurones de cette couche représentant un concept activé individuellement.

Le nombre de concepts est donc égal au nombre de neurones de cette couche. Et cela fonctionne car au fil de l’ entraînement, ce modèle va chercher à identifier les concepts présents dans l’ espace de représentation et les encoder dans un seul neurone de la couche intermédiaire.

Voici une illustration de cet algorithme:

Figure 3 : Algorithme de Dictionary Learning

Nous y sommes presque ! Il ne reste plus qu’à appliquer ce système de Dictionary Learning séparément pour chacune des couches, ce qui ne vas pas perturber le contionnement du modèle de langage puisque les couches de Dictionary Learning sont transparentes (sortie = entrée). Et voici le modèle final avec les « sondes » d’ analyse implantées :

Figure 4 : Modèle final avec sondes d’ analyse conceptuelle

Nous y sommes enfin. C’ est ce qu’ ont fait les chercheurs d’ Anthropic avec leur modèle Claude 3.0 et ils ont ainsi identifié environ 30 millions de concepts sur l’ ensemble des couches du modèle.

Maintenant que notre appareillage de mesure des concepts est en place, il est possible d’ analyser les concepts activés par des textes spécifiques. Et là, miracle, des concepts intelligibles par l’ homme apparaissent !

Le neurone « Golden Gate »

Parmi ces concepts, les chercheurs ont identifié une grande diversité de caractéristiques abstraites. Il y a des éléments relatifs aux personnes célèbres, aux pays et aux villes. Il y a aussi des éléments relatifs à des concepts abstraits comme les erreurs de programmation ou l’ addition ou encore des notions pratiques comme la présence de caractères coréens dans le texte.

De nombreuses caractéristiques sont multilingues (elles répondent au même concept dans plusieurs langues) et multimodales (elles répondent au même concept dans du texte et des images), et englobent à la fois des instanciations abstraites et concrètes de la même idée (comme du code présentant des failles de sécurité et des discussions abstraites sur les failles de sécurité).

Voici par exemple le neurone « Golden Gate » qui est activé par des textes parlant du Golden Gate. Vous pouvez voir dans la figure ci-dessous l’ influence relative des différents tokens du texte d’ entrée dans l’ activation du concept « Golden Gate » :

Figure 5 : Le concept « Golden Gate » (source : Anthropic)

Au total de nombreux concepts intelligibles ont été mis à jour par les chercheurs et vous en trouverez une liste complète ici. Et voici une illustration de quelques autres concepts identifiés :

Figure 6 : Quelques autres concepts identifiés (source : Anthropic)

On ne peut que rester étonné par la richesse et la diversité des concepts identifiés. Et ce n’ est pas tout, il est aussi possible de manipuler les concepts en modifiant les valeurs d’ activation des neurones à la main ce qui donne des effets très intéressants comme la vidéo qui suit le montre :

La manipulation des concepts internes des modèles entraîne des modifications des réponses du modèle qui vont dans le sens des modifications apportés aux concepts.

Les chercheurs d’ Anthropic ont donc réussi à prouver la correspondance entre les concepts internes des modèles et les concepts intelligibles que l’ on peut observer dans les deux directions : a) si le concept est présent dans le texte d’ entrée, le concept interne est activé et b) si le concept interne est activé manuellement, le concept intelligible est présent dans le texte de sortie.

Ceci valide le fait que ces concepts font partie intégrante de la représentation interne du monde que contient le modèle, et de la façon dont il utilise ces représentations dans la construction d’ une réponse.

Lien avec la sécurité et l’ alignement des modèles

Ces recherches visent à rendre les modèles sûrs au sens large. Il est donc particulièrement intéressant de constater que les chercheurs d’ Anthropic ont trouvé des caractéristiques correspondant à des concepts sensibles comme :

  • la notion de courriel de « spam »;
  • des capacités au potentiel néfaste : hacking informatique, développement d’ armes biologiques;
  • différentes formes de biais et de discrimination;
  • des notions de comportements problématiques par l’ IA : recherche de puissance, manipulation, dissimulation, hypocrisie.
Figure 7 : Exemples de concepts « sensibles » identifiés (source : Anthropic)

En manipulant adroitement ces concepts, il devrait donc être possible de modifier le comportement du modèle dans le sens souhaité.

Les chercheurs d’ Anthropic espèrent que ces découvertes permettront de rendre les modèles plus sûrs. Par exemple, afin de détecter certains comportements dangereux (comme tromper l’utilisateur), de les orienter vers des résultats souhaitables (débiaisage) ou d’éliminer complètement certains sujets dangereux (armes biologiques, hacking..).

Pour conclure

Nous venons de voir comment il est possible d’ isoler et d’ interpréter les composants d’ un modèle de langage lorsqu’ ils sont activés par une question de l’ utilisateur. Ces recherches ont été effectuées par Anthropic en 2024.

Reste à voir comment ces concepts s’ organisent ensemble pour créer une pensée et une réponse cohérentes de la part du modèle. Anthropic a continué ses recherches et vient de publier le résultat de nouvelles recherches à ce sujet.

C’ est ce que je vous propose d’ analyser dans mon prochain article, parce que cet article est déjà largement assez long comme cela !

Sources et références