Polydesk-logotype
Polydesk.ai — Header

DoLa (Decoding by Contrasting Layers) : réduire les hallucinations des LLM sans fine-tuning

Définition rapide DoLa (Decoding by Contrasting Layers) est une stratégie de décodage qui réduit les hallucinations des grands modèles de langage en comparant les distributions de probabilités entre les couches supérieures et inférieures du transformer, sans nécessiter de fine-tuning ni de données externes.

Pourquoi DoLa existe

Les LLM sont puissants mais produisent régulièrement des informations factuellement incorrectes, ce qu’on appelle des hallucinations. Les approches classiques pour réduire ce problème incluent le RLHF, le RAG (qui ancre les réponses dans des documents externes) ou le fine-tuning sur des données factuelles. Toutes ces méthodes nécessitent des ressources supplémentaires : données annotées, infrastructure de retrieval, ou coût de ré-entraînement.

DoLa propose une alternative élégante : modifier uniquement la phase de décodage (inférence) pour extraire davantage de connaissances factuelles déjà présentes dans le modèle. L’idée repose sur un constat empirique documenté dans la recherche : les différentes couches d’un transformer encodent différents types d’information. Les couches basses gèrent la syntaxe et les structures superficielles, tandis que les couches hautes injectent des connaissances factuelles et sémantiques.

Principe de fonctionnement

Le mécanisme de DoLa est conceptuellement simple :

Dans un transformer classique, la distribution de probabilités du prochain token est calculée à partir de la dernière couche (couche finale). DoLa modifie ce processus en soustrayant les logits d’une couche inférieure (« prématurée ») des logits de la couche finale, puis en normalisant le résultat pour obtenir une nouvelle distribution de probabilités.

Prenons un exemple concret. Si le modèle doit compléter « La capitale de l’État de Washington est… », la couche finale pourrait hésiter entre « Seattle » (réponse plausible mais fausse) et « Olympia » (réponse correcte). Les couches inférieures, qui ne disposent pas encore de la connaissance factuelle, attribuent une probabilité élevée à « Seattle ». En soustrayant les logits de la couche inférieure des logits de la couche supérieure, on amplifie la contribution des connaissances factuelles injectées dans les dernières couches, ce qui fait remonter « Olympia » dans le classement.

Sélection dynamique de la couche prématurée

Un aspect crucial de DoLa est que la couche prématurée à contraster n’est pas fixée. Le papier propose une sélection dynamique : à chaque token, l’algorithme calcule la divergence de Jensen-Shannon (JSD) entre chaque couche intermédiaire et la couche finale. La couche avec la JSD la plus élevée est sélectionnée comme couche prématurée pour ce token spécifique.

Cette approche est pertinente parce que le type de token influence la dynamique des couches. Pour des mots fonctionnels (« le », « de », « est »), le modèle converge très tôt et la JSD est faible dès les couches intermédiaires. Pour des entités nommées, des dates ou des faits précis, la JSD reste élevée jusqu’aux dernières couches, signalant que le modèle ajuste encore ses prédictions. C’est précisément sur ces tokens « informatifs » que DoLa apporte le plus de valeur.

Résultats expérimentaux

DoLa a été évalué sur plusieurs benchmarks avec des modèles de la famille LLaMA :

Benchmark Métrique Amélioration
TruthfulQA Truthfulness +12 à 17 points absolus
FACTOR Factualité Amélioration significative
StrategyQA Raisonnement CoT Raisonnement plus factuel
GSM8K Raisonnement math Gains de factualité

Le résultat le plus marquant concerne TruthfulQA, où les modèles LLaMA de différentes tailles ont montré une progression de 12 à 17 points absolus en truthfulness. Les évaluations par GPT-4 sur des tâches open-ended ont également montré que DoLa produit des réponses significativement plus factuelles et informatives que le décodage standard.

Côté performance, DoLa n’introduit qu’une latence supplémentaire minime lors du décodage. Les projections des couches intermédiaires vers l’espace vocabulaire sont des opérations matricielles relativement légères comparées au forward pass complet du transformer.

Implémentation technique

L’implémentation de DoLa est disponible en open source sur GitHub. Le code est construit sur la bibliothèque transformers de Hugging Face, avec un flag --early-exit-layers qui permet de spécifier quelles couches considérer comme candidates pour le contraste.

Par exemple, pour un modèle LLaMA-7B (32 couches), on spécifie les couches candidates ainsi : --early-exit-layers 0,2,4,6,8,10,12,14,32. Le dernier nombre correspond à la couche finale, et les précédents sont les candidates pour la couche prématurée. L’algorithme sélectionne dynamiquement la meilleure candidate à chaque token.

DoLa est également intégré nativement dans la bibliothèque transformers de Hugging Face depuis la version 4.40, ce qui simplifie son utilisation avec n’importe quel modèle compatible.

Limites de DoLa

Les auteurs identifient eux-mêmes trois limites importantes :

Premièrement, DoLa se concentre uniquement sur la factualité. Il n’adresse pas d’autres dimensions de la qualité des LLM comme la cohérence stylistique, la créativité ou l’alignement avec les préférences humaines. Un modèle avec DoLa peut être plus factuel tout en restant mal aligné sur d’autres critères.

Deuxièmement, DoLa opère uniquement à l’inférence. Il ne modifie pas les poids du modèle et ne peut donc pas corriger des lacunes fondamentales dans les connaissances du modèle. Si une information factuelle n’a jamais été encodée pendant le pré-entraînement, DoLa ne pourra pas la faire émerger.

Troisièmement, DoLa ne s’ancre pas dans des connaissances externes. Contrairement au RAG, il ne consulte pas de base documentaire. Il amplifie uniquement ce que le modèle « sait déjà » dans ses paramètres. Pour des informations très récentes ou des domaines spécialisés absents des données d’entraînement, DoLa n’apporte pas de valeur.

Enfin, les expériences suggèrent que DoLa fonctionne mieux sur les grands modèles. Sur des modèles plus petits (type GPT-2), le contraste entre couches n’améliore pas la factualité, probablement parce que ces modèles n’encodent pas de connaissances distinctes entre leurs couches de manière aussi structurée.

Variantes et travaux dérivés

Depuis la publication de DoLa à ICLR 2024, plusieurs variantes ont été proposées par la communauté de recherche :

LOL (Lower and Output Layers) fusionne le contraste de couches finales et de couches basses entre le modèle original et un modèle « amateur » pour une atténuation multicouche des hallucinations. LayerCake introduit des perturbations conscientes du token et localisées par couche. ActLCD utilise l’apprentissage par renforcement pour apprendre dynamiquement quand et comment appliquer le contraste. DeCoRe contraste les sorties du LLM de base avec celles d’un LLM « masqué » en utilisant l’entropie conditionnelle comme guide.

Ces travaux confirment que l’intuition fondamentale de DoLa (exploiter la structure hiérarchique des transformers pour améliorer la factualité) reste un axe de recherche actif et fécond.

Quand utiliser DoLa

DoLa est particulièrement adapté dans les scénarios suivants : vous disposez d’un LLM existant et souhaitez améliorer sa factualité sans le ré-entraîner ; vous ne pouvez pas mettre en place un système RAG complet (par manque de données structurées ou de budget infrastructure) ; vous voulez une amélioration « gratuite » en termes de coût de formation, avec un impact minimal sur la latence.

DoLa n’est pas un substitut au RAG ou au fine-tuning pour des domaines spécialisés. C’est un complément qui améliore la baseline de factualité d’un modèle existant.

FAQ DoLa

DoLa fonctionne-t-il avec tous les LLM ?

DoLa a été testé principalement avec les modèles de la famille LLaMA. Le principe s’applique théoriquement à tout transformer autorégressif suffisamment grand, mais les gains varient selon l’architecture et la taille du modèle. Les petits modèles (moins de 7B paramètres) bénéficient généralement moins du contraste entre couches.

DoLa ralentit-il l’inférence ?

L’impact sur la latence est minime. Le surcoût principal vient des projections supplémentaires des couches intermédiaires vers l’espace vocabulaire et du calcul de la divergence de Jensen-Shannon. En pratique, cela représente une augmentation de latence très faible par rapport au coût du forward pass complet.

Peut-on combiner DoLa avec le RAG ?

Oui, et c’est même recommandé. DoLa améliore la factualité intrinsèque du modèle, tandis que le RAG fournit des connaissances externes contextuelles. Les deux approches sont complémentaires : le RAG apporte l’information pertinente, et DoLa aide le modèle à l’exploiter plus fidèlement.

Quelle est la différence entre DoLa et le Contrastive Decoding ?

Le Contrastive Decoding classique compare les sorties de deux modèles distincts (un modèle « expert » et un modèle « amateur »). DoLa contraste les couches au sein d’un même modèle, en exploitant le fait que les couches basses jouent naturellement le rôle de l’amateur (prédictions plausibles mais superficielles) et les couches hautes celui de l’expert (prédictions factuellement enrichies).

DoLa est-il utilisé en production ?

DoLa est intégré dans la bibliothèque Hugging Face Transformers, ce qui facilite son adoption. Son faible coût computationnel le rend viable pour la production. Cependant, il est surtout utilisé comme technique complémentaire plutôt que comme solution principale de fiabilisation, les fournisseurs majeurs de LLM préférant des approches de fine-tuning plus complètes pour leurs modèles commerciaux.

Polydesk.ai — Footer