Architecture RAG
Self-RAG
Le LLM s'auto-évalue via des reflection tokens. Il décide s'il a besoin de retrieval et vérifie la fidélité de sa réponse.
Mis à jour en avril 2026 - Génération 2023-2024
Qu'est-ce que le Self-RAG ?
Self-RAG (Asai et al., NeurIPS 2023) entraîne un seul modèle de langage à la fois récupérer des passages sur demande ET évaluer la qualité de ses propres générations via des tokens spéciaux appelés reflection tokens. Contrairement au RAG standard qui récupère systématiquement des passages, Self-RAG décide à chaque segment s'il a besoin de retrieval ou non.
Le modèle génère 4 types de tokens de réflexion : [Retrieve] pour décider du retrieval, [IsRel] pour évaluer la pertinence du passage, [IsSup] pour vérifier que la réponse est étayée par la source, et [IsUse] pour juger l'utilité globale. Un beam search par segment combine les scores pondérés pour sélectionner la meilleure séquence de sortie.
Sur les benchmarks, Self-RAG 7B surpasse ChatGPT avec retrieval : +25 % sur PopQA (54.9 % vs 50.8 %), +32 % sur PubHealth (72.4 % vs 54.7 %), +13 % sur FactScore (81.2 % vs 71.8 %). C'est l'architecture de choix quand le coût d'une hallucination est élevé - médical, juridique, finance.
Explorez le mécanisme Self-RAG
Suivez le processus de décision étape par étape et évaluez le risque d'hallucination de votre cas d'usage.
Simulateur de reflection tokens
Voyez comment Self-RAG décide étape par étape de retriever, évaluer et générer.
Requête
La metformine est-elle efficace contre le diabète de type 2 ?
Simulation pédagogique basée sur le mécanisme de Asai et al. (NeurIPS 2023). Les scores et décisions sont illustratifs.
Calculateur de risque hallucination
Évaluez le niveau de risque de votre cas d'usage pour choisir entre Advanced RAG et Self-RAG.
Naive ou Advanced RAG
Risque faible. Un Naive RAG pour le prototypage ou un Advanced RAG pour la production couvrent ce besoin. L'investissement Self-RAG (fine-tuning, latence) n'est pas justifié.
Score indicatif. Self-RAG réduit les hallucinations de 20-30 % sur PubHealth et FactScore (Asai et al., NeurIPS 2023).
Les 4 reflection tokens
Pendant l'inférence, le générateur produit les tokens de réflexion en même temps que le texte. Le module de critique évalue chaque segment. Les poids (w_rel, w_sup, w_use) sont ajustables à l'inférence sans ré-entraînement.
Valeurs : yes | no | continue
Décide si le retrieval est nécessaire avant de générer le prochain segment. Sur PopQA, désactiver ce token fait chuter la performance de 40 %. Sur PubHealth (questions triviales pour le modèle), la dégradation n'est que de 2 % - preuve que Self-RAG apprend quand NE PAS retriever.
Valeurs : relevant | irrelevant
Évalue si le passage récupéré apporte de l'information utile à la requête. Filtre les faux positifs du retrieval - un passage qui traite du même sujet mais ne répond pas à la question est marqué irrelevant et écarté.
Valeurs : fully supported | partially supported | no support
Vérifie si les affirmations générées sont étayées par le passage cité. C'est le token anti-hallucination : une affirmation marquée "no support" est supprimée ou reformulée. En médical, ce token détecte les posologies inventées et les interactions médicamenteuses non documentées.
Valeurs : 1 | 2 | 3 | 4 | 5
Juge l'utilité globale de la réponse pour l'utilisateur. Un score de 1-2 déclenche une régénération. En finance, ce token écarte les réponses techniquement correctes mais inutiles pour la décision.
Benchmarks : Self-RAG vs ChatGPT
Résultats publiés dans le papier original (NeurIPS 2023). Self-RAG 7B (un modèle de 7 milliards de paramètres) surpasse ChatGPT avec retrieval sur 3 benchmarks sur 4.
| Benchmark | Self-RAG 7B | Self-RAG 13B | ChatGPT + Ret | ChatGPT |
|---|---|---|---|---|
| PopQA | 54.9 % | 55.8 % | 50.8 % | 29.3 % |
| PubHealth | 72.4 % | 74.5 % | 54.7 % | 70.1 % |
| FactScore | 81.2 % | 80.2 % | - | 71.8 % |
| ASQA (citation F1) | 67.8 % | 71.3 % | 76.6 % | - |
Point remarquable : sur PubHealth (vérification de faits médicaux), ChatGPT avec retrieval (54.7 %) fait pire que ChatGPT sans retrieval (70.1 %). Le retrieval systématique dégrade la performance quand les passages récupérés sont bruyants. Self-RAG résout ce problème en décidant quand retriever.
Fine-tuning : comment entraîner Self-RAG
Phase 1 - Critic
Fine-tune d'un Llama 2 7B pour classifier les outputs et générer les reflection tokens. Données : 4 000 à 20 000 exemples par type de token, annotés via GPT-4 (annotations synthétiques).
Phase 2 - Generator
Fine-tune d'un Llama 2 7B ou 13B sur 150 000 paires instruction-output augmentées avec les passages récupérés et les tokens de critique insérés. Infrastructure : DeepSpeed distribué. Coût : 200-500 GPU-heures sur A100.
Les modèles fine-tunés sont disponibles en open source sur HuggingFace ( selfrag/selfrag_llama2_7b et selfrag/selfrag_llama2_13b) avec les données d'entraînement. L'inférence rapide passe par vLLM (recommandé par les auteurs). LangGraph et LlamaIndex intègrent aussi Self-RAG nativement.
5 limites à connaître
Self-RAG n'est pas une solution universelle. Ces limites déterminent quand l'utiliser et quand l'éviter.
Fine-tuning obligatoire
Self-RAG ne fonctionne pas out-of-the-box sur GPT-4 ou Claude. Le modèle doit être spécifiquement entraîné avec les reflection tokens. Reproduire le fine-tuning nécessite 200-500 GPU-heures sur A100 et des annotations GPT-4 pour le Critic.
Source : Asai et al., NeurIPS 2023
Modèles limités
Seuls Llama 2 7B et 13B sont officiellement disponibles (fin 2023). Pas de version Llama 3, pas de modèle > 13B. L'écosystème est encore jeune comparé aux solutions API (OpenAI, Anthropic).
Source : HuggingFace selfrag/
Latence multipliée
Le beam search par segment et les passes de critique multiplient les inférences. La latence totale est 2 à 4x celle d'un RAG standard. Le RAG standard double déjà le TTFT vs un LLM nu (495 ms → 965 ms).
Source : arXiv:2412.11854
Dépendance au corpus
Si le corpus est pauvre, les tokens [IsRel=irrelevant] déclenchent des générations sans retrieval - sujettes aux hallucinations classiques du LLM de base.
Source : Analyse des auteurs
Trade-offs entre tokens
Privilégier [IsSup] réduit la fluidité des réponses. Privilégier [IsUse] peut sacrifier la précision factuelle. Les poids (w_rel, w_sup, w_use) doivent être ajustés par tâche et par domaine.
Source : Section 4.3 du papier
Self-RAG vs Corrective RAG (CRAG)
Deux approches complémentaires pour réduire les hallucinations. CRAG corrige les inputs (retrieval), Self-RAG valide les outputs (génération). Elles peuvent se combiner.
| Critère | Self-RAG | CRAG |
|---|---|---|
| Point d'intervention | Pendant la génération (segment par segment) | Avant la génération (correction du retrieval) |
| Mécanisme | Tokens de réflexion intégrés au LLM | Évaluateur externe + web search de secours |
| Fine-tuning requis | Oui (Llama 2 entraîné) | Non (plug-and-play) |
| Granularité | Segment par segment | Document entier |
| Latence | Élevée (multiples inférences) | Modérée (une passe évaluation) |
| Web fallback | Non prévu | Oui (si corpus insuffisant) |
En production, la combinaison CRAG + Self-RAG couvre les deux dimensions : CRAG filtre les passages non pertinents en amont (et bascule vers le web si le corpus est insuffisant), Self-RAG vérifie la cohérence factuelle en aval segment par segment. Cette approche est recommandée pour les domaines critiques où les deux sources d'erreur (mauvais retrieval ET mauvaise génération) doivent être couvertes.
Aller plus loin
Self-RAG est l'architecture la plus efficace pour réduire les hallucinations dans les domaines critiques. Ses reflection tokens permettent un contrôle segment par segment que l'Advanced RAG ne peut pas offrir. Le coût : un fine-tuning spécialisé et une latence 2-4x supérieure.
Pour les cas où le fine-tuning n'est pas possible (budget ou contraintes API), le Corrective RAG offre une alternative plug-and-play. Pour le raisonnement multi-étapes, explorez l'Agentic RAG dans le guide des 12 architectures.