Byzantine-Robust Federated RAG via Aligned Calibration and Fixed-Membership Conformal Prediction
Organizations: H. Milton Stewart School of Industrial and Systems Engineering, Georgia Institute of Technology, Atlanta, GA 30332, U.S.A. · AT&T Chief Data Office
Abstract
Retrieval-augmented generation (RAG) lets language models answer questions more accurately by consulting relevant documents. Many valuable collections, such as medical records, cannot be pooled because of privacy rules. Federated RAG leaves each collection with its owner, or node, which scores candidate answers from its own documents; a central hub combines the scores. Some nodes, called Byzantine, may be compromised, faulty, or misled by instructions hidden in documents, and report arbitrary scores. Conformal prediction returns a set containing the correct answer with a chosen probability, using a cutoff set in a calibration step on questions with known answers. An unknown group of nodes, no larger than a declared bound, may misreport both in this step and at query time. Existing methods assume every node is honest or protect only the calibration step. We observe that the honest nodes are the same in both steps. The hub therefore has all nodes score the same calibration questions, and keeps a candidate only if some plausible group of honest nodes, using its own scores in both steps, would keep it. We prove that the resulting sets contain the correct answer with the chosen probability in finite samples, whatever the Byzantine nodes report. No method using the same information can return smaller sets without risking the loss of an answer the honest nodes support. If nodes fail at random, the guarantee weakens only by the probability that more nodes fail than declared. In simulations, on real question-answering tasks including medical exams, and with language models as nodes, some hijacked, our sets reached the target whenever no more nodes misbehaved than declared, while plain averaging could miss it. They were also clearly smaller than those of simpler methods with the same protection, most of all when the declared bound was generous, so a cautious bound costs little.
Figures & tables
Appendix figures & tables21 assets
Supplementary material from the paper’s appendix.
Appendix
| Rule | Cal. | Query batch | Combined | Cache | Query peak | |
|---|---|---|---|---|---|---|
| ms | ms | ms | KiB | MiB | ||
| 2 | Fixed-set | 2.96–3.19 | 6.27–6.47 | 10.04–10.92 | 21.16 | 6.33 |
| 2 | Joint-threshold | 3.22–3.28 | 0.68–0.76 | 4.13–4.14 | 0.33 | 0.41 |
| 2 | Deletion | 0.35–0.40 | 0.57–0.60 | 0.92–1.00 | 0.33 | 0.41 |
| 3 | Fixed-set | 13.44–14.42 | 21.13–22.54 | 35.18–38.15 | 104.28 | 30.55 |
| 3 | Joint-threshold | 13.82–14.58 | 0.77–0.82 | 15.54–15.70 | 0.33 | 0.41 |
| Attack | Calibration | Query | Role in the comparison |
|---|---|---|---|
| Stable maximum | Measures gains from fixed membership across phases | ||
| High–low | Maximizes proposed-set inclusion for a fixed honest transcript | ||
| Low–high | At , recovers the padded honest decoded comparison |
| Symbol | Meaning | Symbol | Meaning |
| , | number of nodes; | decoded calibration reports on the correct answer | |
| , | Byzantine and honest node sets | decoded query reports for candidate | |
| , | realized and declared corruption | feasible honest subsets, | |
| number of honest nodes | mean report of on example | ||
| , | answer space and its size | th smallest of | |
| , | node score; honest-mean score | largest over |
| Factor | Values |
|---|---|
| Nodes | |
| Declared budget | stochastic grid at ; operational recombinations at ; offline sensitivity at ; analytic (padding and width, Appendix H ) phase diagram at |
| Actual Byzantine count | (report the induced ) |
| Symmetric trim | |
| Calibration size | |
| Candidate count |
| Task | Pilot | Held-out | Calibration | Evaluation | |
|---|---|---|---|---|---|
| OpenBookQA | 500 | 1,000 | 333 | 667 | 301 |
| MedQA-US | 100 | 1,173 | 391 | 782 | 353 |
| MedMCQA | 100 | 4,083 | 499 | 3,584 | 450 |
| MMLU-Med | 100 | 989 | 329 | 660 | 297 |
| Condition; ID; | Fixed-set | Joint | Deletion | Guarded sym. | p-merger | Oracle |
|---|---|---|---|---|---|---|
| Clean 103; | 93.77 1.036 | 95.36 1.088 | 96.25 1.128 | 99.97 2.530 | 98.74 1.404 | 90.02 0.953 |
| Stable max 094; | 94.11 1.049 | 97.84 1.243 | 98.31 1.298 | 99.98 2.648 | 99.03 1.487 | 90.04 0.955 |
| Low–high 099; | 90.54 0.965 | 90.54 0.965 | 90.54 0.965 | 99.82 1.946 | 97.05 1.222 | 90.04 0.955 |
| High–low 100; | 99.73 1.836 | 99.84 1.995 | 99.89 2.126 | 100.00 3.214 | 99.03 1.487 | 90.04 0.955 |
| Four-bit high–low 102; | 100.00 3.793 | 100.00 3.868 | 100.00 3.934 | 100.00 4.000 | 99.72 1.884 | 90.01 0.956 |
| Low–high violation 101; | 77.13 0.784 | 77.13 0.784 | 77.13 0.784 | 99.09 1.465 | 94.57 1.110 | 90.01 0.956 |
| Condition; ID | Original family | Mean difference | Lower | Upper |
|---|---|---|---|---|
| Stable max; 094 | operational attacks | -0.4381 | -0.4467 | -0.4295 |
| Low–high; 099 | operational attacks | -0.2572 | -0.2612 | -0.2531 |
| High–low; 100 | operational attacks | +0.3491 | +0.3267 | +0.3716 |
| Four-bit high–low; 102 | four-bit stress | +1.9089 | +1.8940 | +1.9238 |
| World | Calibration summary | CDF error | Threshold error | Coverage (%) |
| 0 | Aligned | 0.00855 | 0.00000 | 75.064 |
| 0 | Local marginal | 0.00627 | +0.00013 | 75.080 |
| 1 | Aligned | 0.00858 | -0.00002 | 75.063 |
| 1 | Local marginal | 0.24985 | +0.09357 | 99.682 |
| Narrow-support padding | Observed coverage (%) | Exact population (%) | ||
| 0.0 | 0.000 | 0.0 | ||
| ID | FS cov. (%) | FS size | Joint size | Del. size | Sym. size | size | ||
|---|---|---|---|---|---|---|---|---|
| 021 | 3 | 1/1 | 100.00 | 4.000 | 4.000 | 4.000 | 4.000 | 4.000 |
| 022 | 3 | 2/2 | 100.00 | 3.768 | 3.788 | 3.823 | 4.000 | 3.242 |
| 023 | 3 | 3/3 | 99.84 | 2.010 | 2.473 | 2.664 | 4.000 | 2.149 |
| 000 | 3 | 4/4 | 98.71 | 1.377 | 1.785 | 1.932 | 4.000 | 1.796 |
| 024 | 3 | 6/6 | 96.25 | 1.136 | 1.452 | 1.561 | 3.978 | 1.628 |
| 025 | 3 | 8/8 | 95.26 | 1.090 | 1.385 | 1.485 | 3.957 | 1.588 |
| Attack; ID | Fixed-set | Joint | Deletion | Sym. | -merger | FS cov. | ||
|---|---|---|---|---|---|---|---|---|
| Clean; 103 | 0 | 2 | 1.036 | 1.088 | 1.128 | 2.530 | 1.404 | 93.77 |
| Clean; 104 | 0 | 4 | 1.106 | 1.234 | 1.340 | 4.000 | 1.569 | 95.75 |
| Clean; 107 | 0 | 6 | 1.189 | 1.431 | 1.646 | 4.000 | 1.845 | 97.13 |
| Stable max; 094 | 2 | 2 | 1.049 | 1.243 | 1.298 | 2.648 | 1.487 | 94.11 |
| Stable max; 105 | 2 | 4 | 1.134 | 1.553 | 1.710 | 4.000 | 1.737 | 96.19 |
| Stable max; 108 | 2 | 6 | 1.238 | 1.996 | 2.278 | 4.000 | 2.320 | 97.61 |
| Registered block | Eligible cells | FS excess (pp) | Sym. excess (pp) | excess (pp) |
|---|---|---|---|---|
| Node count | 3/3/3 | 7.20–9.75 | 9.40–10.00 | 9.46–10.00 |
| Actual corruption | 3/3/3 | 8.22–8.95 | 10.00–10.00 | 9.50–9.73 |
| Symmetric trim | 4/2/4 | 8.69–8.72 | 10.00–10.00 | 9.65–9.66 |
| Calibration size | 5/5/5 | 8.68–8.86 | 10.00–10.00 | 9.65–9.87 |
| Candidate count | 3/3/3 | 8.70–8.72 | 10.00–10.00 | 9.65–9.66 |
| Nominal | 2/2/2 | 4.54–16.36 | 5.00–20.00 | 4.92–18.75 |
| Condition; source ID | All-node mean | Median | Winsorized | Unguarded trim | Local marginal | MoM | Krum |
|---|---|---|---|---|---|---|---|
| Stable max 094 | 90.05 0.956 | 90.10 0.968 | 90.00 0.956 | 90.01 0.957 | 95.80 1.110 | 90.03 0.975 | 90.17 1.012 |
| Low–high 099 | 57.67 0.579 | 81.61 0.841 | 75.30 0.764 | 77.76 0.791 | 92.68 1.011 | 67.57 0.685 | 90.16 1.012 |
| High–low 100 | 99.05 1.440 | 95.32 1.112 | 97.00 1.177 | 96.43 1.143 | 98.78 1.385 | 98.06 1.383 | 90.18 1.013 |
| Four-bit high–low 102 | 99.88 2.094 | 97.74 1.288 | 98.63 1.372 | 98.17 1.299 | 99.06 1.487 | 99.20 1.798 | 93.50 1.113 |
| Task | Part. | Fixed cov. | Oracle | Fixed | Joint | Del. | Saved | Cut | Merger | Rob-FCP † |
|---|---|---|---|---|---|---|---|---|---|---|
| OpenBookQA | H | 3.525 | 3.654 | 3.673 | 3.721 | 0.066 | 33.9% | 4.000 | 91.54/3.591 | |
| OpenBookQA | T | 3.540 | 3.674 | 3.691 | 3.746 | 0.071 | 34.7% | 4.000 | 91.70/3.612 | |
| MedQA-US | H | 3.557 | 3.659 | 3.690 | 3.736 | 0.077 | 43.3% | 3.929 | 90.96/3.604 | |
| MedQA-US | T | 3.567 | 3.667 | 3.696 | 3.737 | 0.070 | 41.4% | 3.931 | 91.33/3.619 | |
| MedMCQA | H | 3.540 | 3.647 | 3.674 | 3.721 | 0.073 | 40.5% | 3.964 | 91.04/3.589 | |
| MedMCQA | T | 3.544 | 3.654 | 3.678 | 3.727 | 0.073 | 39.9% | 3.970 | 91.04/3.594 |
| Task | Part. | Threat | Oracle | Fixed | Joint | Deletion | Sym. | Merger |
|---|---|---|---|---|---|---|---|---|
| OpenBookQA | H | Clean | 90.10/3.526 | 92.50/3.638 | 92.70/3.647 | 93.56/3.691 | 100.00/4.000 | 100.00/4.000 |
| OpenBookQA | H | Max, 1 | 90.06/3.525 | 92.62/3.647 | 92.93/3.661 | 93.88/3.706 | 100.00/4.000 | 100.00/4.000 |
| OpenBookQA | H | Max, 2 | 90.07/3.525 | 92.76/3.654 | 93.17/3.673 | 94.11/3.721 | 100.00/4.000 | 100.00/4.000 |
| OpenBookQA | H | Cal. max | 90.07/3.525 | 93.35/3.680 | 93.52/3.690 | 94.42/3.735 | 100.00/4.000 | 100.00/4.000 |
| OpenBookQA | H | Query max | 90.07/3.525 | 91.93/3.614 | 92.30/3.630 | 93.22/3.675 | 100.00/4.000 | 100.00/4.000 |
| OpenBookQA | H | High–low | 90.07/3.525 | 100.00/4.000 | 100.00/4.000 | 100.00/4.000 | 100.00/4.000 | 100.00/4.000 |
| Task | Part. | Metric | Fixed oracle | Sym. del. | Merger del. |
|---|---|---|---|---|---|
| OpenBookQA | H | Size | 0.129 [0.123, 0.136] | 0.279 [0.257, 0.301] | 0.279 [0.257, 0.301] |
| OpenBookQA | H | Full (pp) | 8.180 [7.762, 8.598] | 19.135 [17.778, 20.492] | 19.135 [17.778, 20.492] |
| OpenBookQA | T | Size | 0.134 [0.127, 0.141] | 0.254 [0.230, 0.278] | 0.254 [0.230, 0.278] |
| OpenBookQA | T | Full (pp) | 8.168 [7.709, 8.627] | 17.577 [16.031, 19.123] | 17.577 [16.031, 19.123] |
| MedQA-US | H | Size | 0.101 [0.096, 0.106] | 0.264 [0.250, 0.278] | 0.193 [0.180, 0.205] |
| MedQA-US | H | Full (pp) | 7.231 [6.863, 7.600] | 23.331 [22.220, 24.442] | 16.446 [15.447, 17.445] |
| Task | Partition | Common ranker | No RAG | Union RAG |
|---|---|---|---|---|
| OpenBookQA | Hash | |||
| OpenBookQA | Topic/source | |||
| MedQA-US | Hash | |||
| MedQA-US | Topic/source | |||
| MedMCQA | Hash | |||
| MedMCQA | Topic/source |
| Task | Partition | Fixed | Joint | Deletion | Symmetric | Merger |
|---|---|---|---|---|---|---|
| OpenBookQA | Hash | 68.74 | 68.74 | 68.74 | 100.00 | 100.00 |
| OpenBookQA | Topic/source | 69.38 | 69.38 | 69.38 | 100.00 | 100.00 |
| MedQA-US | Hash | 72.65 | 72.65 | 72.65 | 100.00 | 98.06 |
| MedQA-US | Topic/source | 72.51 | 72.51 | 72.51 | 100.00 | 97.76 |
| MedMCQA | Hash | 72.90 | 72.90 | 72.90 | 100.00 | 98.52 |
| MedMCQA | Topic/source | 72.08 | 72.08 | 72.08 | 100.00 | 98.46 |
| Method | Threat | Coverage range | Size range | Full-set range |
|---|---|---|---|---|
| All-node mean | Clean | 89.74–90.15 | 3.509–3.565 | 62.11–70.00 |
| All-node mean | Max, 2 | 89.70–90.10 | 3.508–3.568 | 62.02–69.94 |
| All-node mean | High–low | 100.00–100.00 | 4.000–4.000 | 100.00–100.00 |
| All-node mean | Low–high | 54.57–60.94 | 2.126–2.329 | 5.83–8.34 |
| Median | Clean | 90.08–90.72 | 3.523–3.602 | 63.45–72.38 |
| Median | Max, 2 | 90.04–90.79 | 3.520–3.603 | 63.22–72.50 |
| Rule | ||||
|---|---|---|---|---|
| Misled at: both phases | ||||
| 0.0777 | 0.0090 | 0.0007 | ||
| Guaranteed floor | 0.8312 | 0.8931 | 0.9006 | 0.9012 |
| Honest-mean oracle | 0.9010 | 0.9010 | 0.9010 | 0.9010 |
| All-node mean | 0.9009 | 0.9009 | 0.9009 | 0.9009 |
| Fixed-set | 0.9247 | 0.9316 | 0.9379 | 0.9444 |
| Rule | ||||
|---|---|---|---|---|
| Mean set size , misled at: both phases | ||||
| Honest-mean oracle | 1.718 | 1.718 | 1.718 | 1.718 |
| All-node mean | 1.653 | 1.653 | 1.653 | 1.653 |
| Fixed-set | 1.869 | 1.935 | 2.000 | 2.067 |
| Joint-threshold | 1.959 | 2.056 | 2.145 | 2.230 |
| Deletion | 2.167 | 2.342 | 2.505 | 2.642 |
| Misled at | Rule | Coverage | Cov. ( ) | Size | Nodes in ref. | Lost integrity ( ) |
| By regime, declared | ||||||
| Both phases | Fixed-set | 0.9247 | 0.9243 | 1.869 | 16 | 0 / 464 |
| V1, trust pruning | 0.9041 | 0.9039 | 1.736 | 14 | 308 / 464 | |
| V2, audited budget | 0.9316 | 0.9303 | 1.940 | 16 | 0 / 464 | |
| Calibration only | Fixed-set | 0.9105 | 0.9115 | 1.787 | 16 | 0 / 464 |
| V1, trust pruning | 0.9030 | 0.9039 | 1.733 | 14 | 308 / 464 | |