TriageRAG: Failure-Aware Self-Training for Adapting Retrieval-Augmented Language Models to Specialized Domains
Abstract
Retrieval-augmented generation (RAG) lets large language models (LLMs) answer knowledge-intensive questions from retrieved evidence, but adapting a general-purpose RAG system to a specialized domain such as medicine is difficult when only an unlabeled corpus is available. Self-training approaches such as SimRAG address this by letting the LLM write its own question-answer pairs from domain passages and fine-tuning on the pairs that survive a round-trip consistency filter. We observe that these approaches treat every retained example identically: they never ask whether the student already knows the answer, already extracts it correctly from the retrieved context, or fails - and if so, whether the failure lies with the reader or with the retriever. To tackle this, we propose TriageRAG, a failure-aware self-training approach that probes the student on each self-generated question with and without retrieved context, triages it into one of four categories (known, solved, context-failure, retrieval-failure), and routes each category to the training signal that addresses it, including a parametric route that teaches the reader to answer when retrieval misses. Probing is cheap and repeated every round, so the training mixture follows the student, and the triage histogram doubles as a label-free diagnostic of where the domain gap lies. Experiments on 11 datasets spanning three domains with a Qwen3-4B backbone, and on CS-Bench with Qwen3-8B, demonstrate that TriageRAG outperforms a budget-matched SimRAG by 1.2-6.4 points and is the only method that recovers the closed-book level in every case where retrieval hurts the base model. A single ablation identifies the mechanism: round-trip filtering removes every training context that lacks the evidence, and a reader that never sees such contexts learns to over-trust noisy retrieval.
Figures & tables
| Datasets | PubMedQA | BioASQ | MedQA | MedMCQA | MMLU-Med | MedXpertQA | Avg. |
|---|---|---|---|---|---|---|---|
| # questions | 500 | 618 | 1,273 | 4,183 | 1,089 | 2,450 | — |
| Backbone: Qwen3-4B-Instruct | |||||||
| Backbone (closed-book) | 31.00 | 77.67 | 60.49 | 54.24 | 76.03 | 14.53 | 52.33 |
| Backbone + RAG | 68.20 | 92.07 | 61.35 | 56.94 | 76.49 | 14.82 | 61.65 |
| Stage-I + RAG | 82.00 | 92.56 | 61.12 | 59.22 | 75.02 | 13.84 | 63.96 |
| SimRAG ‡ | 82.60 | 91.26 | 59.86 | 59.62 | 74.93 | 13.76 | 63.67 |
| Method | Medical | CS | Science | ||||||
|---|---|---|---|---|---|---|---|---|---|
| PubMedQA | BioASQ | MedQA | MedMCQA | MMLU-Med | MedXpertQA | Avg. | CS Avg. | Sci. Avg. | |
| TriageRAG | 81.60 | 91.26 | 63.08 | 61.37 | 78.33 | 13.39 | 64.84 | 68.19 | 87.62 |
| w/o parametric route | 82.60 | 92.07 | 60.17 | 59.22 | 75.30 | 12.90 | 63.71 | 61.91 | 84.30 |
| w/o triage (= random selection) | 77.60 | 92.88 | 61.51 | 61.92 | 77.13 | 13.84 | 64.15 | 67.58 | 87.51 |
| w/o triage, w/ round-trip filter (= SimRAG) | 82.60 | 91.26 | 59.86 | 59.62 | 74.93 | 13.76 | 63.67 | 61.83 | 85.74 |
| w/ retriever tuning | 61.80 | 83.66 | 60.64 | 59.79 | 76.49 | 12.45 | 59.14 | 65.89 | 87.44 |
Appendix figures & tables7 assets
Supplementary material from the paper’s appendix.
Appendix
| Domain / backbone | Method | seed 0 | seed 1 | seed 2 | mean sd |
|---|---|---|---|---|---|
| CS-Bench, Qwen3-4B | SimRAG ‡ | 61.83 | 62.25 | 63.01 | 62.36 0.59 |
| Random selection | 67.58 | 65.47 | 67.58 | 66.88 1.22 | |
| TriageRAG w/o parametric route | 61.91 | 61.31 | 61.84 | 61.69 0.33 | |
| TriageRAG | 68.19 | 67.09 | 67.13 | 67.47 0.62 | |
| Medical, Qwen3-4B | SimRAG ‡ | 63.67 | 62.51 | 62.92 | 63.03 0.59 |
| Random selection | 64.15 | 65.04 | 63.78 | 64.32 0.65 |
| Pool | Size | Known | Solved | Ctx.F. | Ret.F. | Hit@5 | R@5 |
|---|---|---|---|---|---|---|---|
| Medical | 40,540 | 40.9 | 24.2 | 5.7 | 29.2 | 53.4 | 48.1 |
| span | 19,553 | 4.5 | 36.1 | 11.0 | 48.4 | ||
| MC | 11,775 | 75.9 | 8.8 | 0.1 | 15.2 | ||
| claim | 9,212 | 73.3 | 18.6 | 1.8 | 6.3 | ||
| Science | 32,686 | 56.6 | 30.3 | 6.0 | 7.0 | 84.2 | 77.9 |
| span | 18,622 | 31.5 | 47.7 | 9.9 | 11.0 |
| Index at test time | PubMedQA | BioASQ | MedQA |
|---|---|---|---|
| Base bge-base | 81.4 | 90.9 | 62.1 |
| Tuned on round-1 failures | 61.8 | 83.7 | 60.6 |
| Recall@5 on the pool | 0.48 (base) 0.34 (tuned) | ||
| known ( , , source passage retrieved at rank 1) 5% consolidation share | |
|---|---|
| Question / Answer | Where does the lymphatic system filter the lymph? A: lymph nodes |
| Source (Textbooks) | Physiology, Levy. In addition to returning fluid and protein to the vascular bed, the lymphatic system filters the lymph at the lymph nodes and removes foreign particles such as bacteria. |
| Top retrieved | (same passage) |
| solved ( , , source passage retrieved at rank 1) 15% consolidation share | |
| Question / Answer | What was the 10-year survival rate for relapsing polychondritis? A: 55% |
| Source (Textbooks) | Internal Medicine, Harrison. The course of relapsing polychondritis is highly variable. … In one study, the 5-year estimated survival rate was 74% and the 10-year survival rate was 55% . |
| Domain / backbone | Method | Round 1 | Round 2 | Round 3 |
|---|---|---|---|---|
| Medical / Qwen3-4B-Instruct | TriageRAG | 64.84 | 64.74 | 64.50 |
| TriageRAG w/ retriever tuning | 59.14 | 64.41 | 58.75 | |
| SimRAG ‡ iterated | 63.67 | 63.45 | 63.01 | |
| Science / Qwen3-4B-Instruct | TriageRAG | 87.62 | 87.99 | 87.50 |
| TriageRAG w/ retriever tuning | 87.44 | — | — | |
| SimRAG ‡ iterated | 85.74 | — | — |
Retrieval-Augmented Generation
Retrieval-augmented generation connects language models to external knowledge so answers can use current, domain-specific evidence.
See all 792 papers