← blog
article2025-09-17·9 min de lecture

Delta Activations : représenter (simplement) les modèles LLM finetunés

Delta Activations : représenter (simplement) les modèles LLM finetunés

Parlons d’un tour de magie qui n’en est pas un : au lieu d’ouvrir un modèle comme on démonte une horloge, Delta Activations propose d’observer ce qui change à l’intérieur du modèle quand on le finetune — puis d’en faire un vecteur. Dit comme ça, on dirait un épisode de « C’est pas sorcier », mais c’est précisément l’idée : une représentation compacte pour cartographier, comparer, choisir et même combiner des modèles entraînés sur des tâches ou des domaines différents.

Les auteurs (Xu, Sethi, Naik, Lim) posent la question qui fâche : nous avons des dizaines, voire des centaines de versions d’un même LLM, mais comment s’y retrouver quand les dépôts sont mal documentés et les noms de modèles aussi parlants que “my-awesome-lora-v7-final-FIXED-really-final”? Leur réponse : un « delta » d’activations qui transforme chaque modèle en un point dans l’espace — un peu comme placer des morceaux de musique sur une carte en fonction de leurs sonorités.

« A standalone representation derived solely from the model itself. » Source: https://arxiv.org/abs/2509.04442


En deux mots (et quelques images mentales)

Imaginez un modèle de base (LLaMA, Gemma, Qwen…) et toute une galerie de modèles finetunés dessus : certains parlent “juridique”, d’autres “médical”, d’autres “code”. On voudrait savoir qui ressemble à qui, sans lire la doc (qui n’existe pas), ni lancer 50 benchmarks lourds. Delta Activations fait ceci :

  1. On prépare quelques invites génériques (5 dans l’expérience de base), du style « Voici une instruction… Réponds de façon appropriée ». Pas de vraie question, pas de piège.
  2. On fait passer ces invites dans le modèle de base et dans le modèle finetuné.
  3. Pour chaque invite, on prend l’activation du dernier token (ou mieux, une couche profonde vers 2/3 de la profondeur — on y revient) et on calcule la différence (finetuné – base). On moyenne ces différences : c’est le vecteur du modèle.

Cette différence, c’est un peu l’empreinte thermique du finetuning : même si l’invite reste “neutre”, les chemins internes activés par un modèle entraîné sur du droit ne sont pas exactement les mêmes que ceux d’un modèle entraîné sur des problèmes de maths. Les auteurs montrent même que, parfois, un prompt générique fait “déborder” la spécialité du modèle en sortie (“Here is the code …”, “As per the input, the number…”), comme si un chef étoilé lâchait des notes de truffe même en cuisinant une omelette nature.

« This delta serves as a compact behavioral indicator. »


Méthode, sans jargonner

Delta Activations (∆) pour une invite x, c’est : ∆f(x) = h_f(x) − h_base(x), où h est l’activation (embed) du dernier token d’une couche du modèle. L’embedding final du modèle est la moyenne de ces deltas sur le petit jeu d’invites de “sondage” (5 variations paraphrasées d’un même gabarit Alpaca). En pratique : un seul passage avant (sans entraînement) par modèle suffit.

Deux bonus :

  • Le jeu de sondage gagne à être générique et un peu verbeux : une phrase ou un mot unique marche moins bien que 2–3 phrases. 5 invites suffisent ; en mettre 20 n’apporte pas plus.
  • On peut extraire l’activation à d’autres endroits : le dernier token est très bon, mais une couche à ~2/3 de la profondeur marche parfois encore mieux (effet “couches intermédiaires utiles” déjà vu en vision).

« Using multiple reasonably-long generic instruction templates makes the best probe dataset. »


Résultats : ça clusterise, et pas qu’un peu

Les auteurs finetunent trois backbones (LLaMA‑3.1‑8B, Gemma‑2‑9B, Qwen‑2.5‑7B) sur cinq domaines (droit, maths, médical, bon sens, code), trois modèles par domaine et par base. Ensuite, ils comparent l’espace Delta Activations à plusieurs baselines : poids aplatis, masques de paramètres salients, embeddings de phrases des sorties. Verdict : Delta Activations sépare nettement les domaines (silhouette moyenne ≈ 0,61), là où les poids aplatis échouent et les embeddings de phrases ne sont pas fiables selon le backbone. Les t‑SNE montrent des clusters propres.

« Delta Activations achieves the strongest clustering performance across all backbones. »

Mieux : l’espace possède une propriété additive. Si on finetune un modèle sur D1 et D2, son vecteur se rapproche de la somme des vecteurs des modèles finetunés séparément sur D1 et D2. Dans leurs tableaux, la similarité “mixé vs somme” dépasse la similarité “mixé vs D1” ou “mixé vs D2”. Autrement dit, les deltas se combinent comme des petites briques Lego.

Et côté robustesse ? Varier le nombre d’exemples, le taux d’apprentissage, ou les époques ne détruit pas la structure par domaines ; les clusters restent serrés (les silhouettes restent bonnes). Delta Activations capture donc la spécialisation plus que les caprices d’hyperparamètres.

Enfin, Delta Activations tient la route même quand on change de paradigme d’entraînement. Les auteurs montrent que, sous préférence (DPO), on obtient aussi des clusters propres (silhouette 0,93 sur leur test), ce qui indique que le signal “delta” sait reconnaître “qui ressemble à qui” au‑delà du SFT classique.


Pas que des modèles : des tâches aussi

C’est l’astuce la plus maligne du papier : si on finetune à très faibles doses (20 exemples) un modèle de base sur une tâche, le vecteur Delta Activations de ce mini‑modèle peut servir d’embedding de la tâche elle‑même. On peut alors faire du recherche‑et‑retrieval dans l’espace : “où est la tâche ? auprès de quels modèles finetunés, dans quel cluster de domaines ?” Dans leurs figures, ces requêtes “few‑shot” retombent effectivement sur le bon cluster, ce qui ouvre la porte à du routage ou de la sélection de modèles pilotée par la tâche.

« Few-shot task embedding is able to locate model clusters. »


Et si mes modèles ne partagent pas le même “base” ?

Delta Activations, tel quel, nécessite d’avoir le même modèle de base pour soustraire des activations comparables. Pour comparer des finetunes cross‑checkpoint (ex. LLaMA‑3 vs LLaMA‑3.1), ça marche : on retrouve les clusters de domaines avec une silhouette ≈ 0,39. Pour cross‑architecture (tailles différentes, ou modèles vraiment différents), ils passent à Delta Meaning (une variante “agnostique modèle” qui opère dans un espace sémantique), et là encore, ils récupèrent 4/5 domaines avec silhouette ≈ 0,32. C’est moins propre, mais suffisant pour aligner des mondes différents.


À quoi ça sert (vraiment) ?

1) Sélection de modèles dans un hub

Dans LoraHub (≈200 LoRA FLAN‑T5), les auteurs remplacent la sélection aléatoire par “trouver d’abord le LoRA le plus proche de la tâche (via embedding few‑shot de la tâche), puis compléter aléatoirement”. Résultat : +2 points d’accuracy moyenne sur BBH (de 34,3 % à 36,3 %). En revanche, prendre uniquement les 20 modèles les plus proches fait baisser la perf (30,3 %) — interférences entre modèles trop similaires, un effet connu en merging. Moralité : choisir un ancrage pertinent et diversifier autour.

2) Merging plus intelligent

L’additivité des deltas suggère des recettes de fusion au‑delà du plus‑proche‑voisin : par exemple, sélectionner un sous‑ensemble “épars” dans l’espace pour limiter l’interférence, ou apprendre un système qui prédit les coefficients de merge depuis les embeddings (ou les relations de similarité). Le papier n’implémente pas tout ça, mais pose l’échafaudage.

3) Gouvernance de zoo de modèles

Si vous maintenez un catalogue interne de finetunes (équipe data, studio de jeux, plateforme), Delta Activations peut étiqueter automatiquement qui‑est‑qui, détecter des doublons, surveiller des dérives (un nouveau finetune “juridique” qui s’éloigne trop du cluster, pourquoi ?), voire faciliter le routage (router les requêtes vers le voisin le plus pertinent).

4) Création de jeux : NPCs & co

Côté game dev : imaginez des PNJ “experts” (médecin, juriste, alchimiste, historien) chacun en LoRA. Avec Delta Activations, vous obtenez une carte des PNJ. Vous pouvez sélectionner dynamiquement le meilleur “conseiller” pour une quête, mixer deux spécialisations pour un boss hybride (mage‑ingénieur ?), ou retrouver rapidement le PNJ dont le comportement colle à une nouvelle mécanique (embedding “few‑shot” d’exemples de dialogues). C’est le système de classes de votre RPG, mais pour des cerveaux neuronaux.


Ce que j’aime dans cette approche

  • Minimaliste : pas besoin de la data de finetuning (souvent privée), pas besoin de tout ré‑évaluer sur 30 benchmarks. Un forward pass sur 5 invites et on a un vecteur.
  • Stable : les choix d’hyperparamètres bougent moins le vecteur que la spécialisation du modèle. C’est bon signe pour en faire une boussole de production.
  • Généralisable : la famille Delta‑X marche aussi avec des logits ou des représentations de “meaning”, ce qui ouvre la porte au cross‑architecture.
  • Lisible : l’additivité rend les choses intuitives. On peut raisonner en “couches de peinture” plutôt qu’en “mystique des poids”.

« We believe that Delta Activations can serve as a cornerstone for navigating the expanding landscape of finetuned models. »


Limites et questions ouvertes

Rien n’est magique (même si ça en a l’air). D’abord, il faut accès aux activations internes : sur des modèles fermés, c’est non. Ensuite, les évaluations portent sur trois backbones ouverts ; il faudra confirmer la portée sur d’autres architectures et à plus grande échelle (de très gros model hubs), idéalement avec des capacités vraiment variées. Enfin, la variante cross‑architecture fonctionne mais plus faiblement ; toutes les méthodes d’alignement “agnostiques” ont un coût en signal.

Cela dit, les briques sont là. On peut imaginer :

  • un service qui indexe des LoRAs publics/privés et renvoie une carte interactive ;
  • un orchestrateur qui, pour une tâche donnée (embedding few‑shot), propose le trio de modèles à router/merger avec des coefficients initiaux ;
  • des règles de conformité : si un finetune “médical” ne tombe pas dans le cluster attendu, alerte rouge (et audit).

TL;DR (promis, c’est le seul résumé en liste)

  • Idée : représenter un modèle finetuné par la différence d’activations (sur quelques prompts génériques) par rapport à son modèle de base.
  • Constat : ça clusterise fort par domaines (silhouette ≈ 0,61), c’est additif, robuste aux hyperparams, et ça marche aussi pour embedder des tâches few‑shot.
  • Usage : sélection dans des hubs (+2 pts sur BBH pour LoraHub), merging plus malin, gouvernance de zoo de modèles, routage par similarité.

Conclusion (avec clin d’œil)

Delta Activations, c’est un peu le stéthoscope des LLM finetunés : on écoute où bat le cœur après l’entraînement, et on obtient un vecteur qui dit beaucoup — assez pour ranger les modèles, choisir des coéquipiers, ou composer un super‑modèle sans jouer les apprentis sorciers. On ressort du papier avec l’impression que la différence d’activation raconte l’histoire du finetune bien mieux que des noms de dépôts GitHub. Et si, demain, votre RPG de PNJ‑experts avait un écran secret “Carte des Cerveaux”, issu d’un simple delta ?

Je ne sais pas pour vous, mais moi, je suis prêt à brancher le stéthoscope.

Référence : Zhiqiu Xu, Amish Sethi, Mayur Naik, Ser‑Nam Lim. “Delta Activations: A Representation for Finetuned Large Language Models.” arXiv:2509.04442, 2025.