SIFT: Robust Meta-Faithfulness Verification of Chain-of-Thought Reasoning Under Distribution Shift
Organizations: Istanbul Technical University · Pabna University of Science and Technology · American International University-Bangladesh · Deakin University ·
Abstract
Chain-of-Thought (CoT) faithfulness detectors are widely used to audit reasoning models, yet a detector is itself a predictor whose verdicts are treated as stable properties. We ask whether a detector is faithful to itself under distribution shift. We formalize meta-faithfulness as an invariance principle: a valid detector must return identical verdicts on traces that differ only by transformations preserving ground-truth faithfulness. We prove three results: (i) no detector using only intervention-response profiles can separate faithful from epiphenomenal mechanisms with identical signatures; (ii) any detector relying on shift-sensitive features violates invariance at a rate independent of its in-distribution accuracy; (iii) an asymptotic certified selective-risk guarantee enables confident abstention. We operationalize the principle in FaithShift, a stress-test protocol spanning ten shift axes, and propose SIFT, a hidden-state trajectory detector trained with cross-environment invariance objectives and certified abstention. Across 14,996 traces, four domains, and eight models, three findings emerge. First, transfer collapse is real: all existing detectors show gaps AUROC. Second, the dominant bottleneck is sampling stochasticity, not shift: over 80% of detector instability stems from random seed variation, falsifying our preregistered prediction that shift-attributable violations exceed 0.25. Third, SIFT cuts invariance violations by 64% over the best single-seed baseline, but a four-seed ensemble of any detector narrows the margin to 0.01 (indistinguishable at matched coverage, ), and SIFT needs a 51% abstention rate. Cross-model transfer degrades from within-family to cross-family to open-weight-to-API, partly closed by multi-model training. We offer a framework for auditing auditors: the real barrier is detector variance, not distribution shift.
Figures & tables
| Detector | (a) Transfer | (d) Meta-Faithfulness Score | (e) Seed stability | |||||||
| In-dist | Transfer AUROC | Gap | IVR | AS | MFS | Coverage | Mean Std | |||
| cross-domain | cross-model | cross-lingual | ||||||||
| Biasing-features | 0.82 | 0.63 | 0.66 | 0.59 | 0.23 | 0.34 | 0.71 | 0.61 | 1.00 | 0.805 0.013 |
| Counterfactual | 0.85 | 0.61 | 0.64 | 0.57 | 0.28 | 0.31 | 0.74 | 0.64 | 1.00 | 0.835 0.013 |
| Hidden-state | 0.79 | 0.70 | 0.68 | 0.62 | 0.17 | 0.27 | 0.73 | 0.66 | 1.00 | 0.780 0.008 |
| Instance-level | 0.78 | 0.69 | 0.67 | 0.60 | 0.18 | 0.29 | 0.76 | 0.67 | 1.00 | 0.770 0.008 |
| Setting | Source | DeepSeek-R1 | Qwen3 | Llama-3 | Mistral | Phi-3 | Gemma | Claude-3 | GPT-4o |
| (a) Cross-model | DeepSeek-R1 (1.5B) | 0.75 | 0.58 | 0.56 | 0.59 | 0.54 | 0.57 | 0.53 | 0.52 |
| (a) Cross-model | Qwen3 (1.7B) | 0.59 | 0.76 | 0.60 | 0.62 | 0.57 | 0.59 | 0.55 | 0.54 |
| (a) Cross-model | Llama-3 (8B) | 0.57 | 0.59 | 0.78 | 0.66 | 0.62 | 0.64 | 0.58 | 0.56 |
| (a) Cross-model | Mistral (7B) | 0.58 | 0.61 | 0.65 | 0.76 | 0.63 | 0.65 | 0.59 | 0.57 |
| (a) Cross-model | Phi-3 (3.8B) | 0.55 | 0.57 | 0.61 | 0.62 | 0.74 | 0.60 | 0.55 | 0.53 |
| (a) Cross-model | Gemma (7B) | 0.56 | 0.58 | 0.63 | 0.64 | 0.59 | 0.75 | 0.56 | 0.54 |
| Setting | Quantity | 0.05 | 0.25 | 0.45 | 0.65 | 0.85 | 1.00 |
| (a) Certified risk | Coverage | 0.05 | 0.25 | 0.45 | 0.65 | 0.85 | 1.00 |
| (a) Certified risk | Selective Risk | 0.000 | 0.063 | 0.203 | 0.278 | 0.335 | 0.321 |
| (b) Bound check | Detector | Predicted Floor | Observed IVR | Slack | – | – | |
| (b) Bound check | Attribution | +0.024 | 0.019 | 0.282 | 14.8 | 0.019 | 0.282 |
| (b) Bound check | SIFT | +0.008 | 0.012 | 0.102 | 8.5 | 0.012 | 0.102 |
| Setting | Variant | In-dist | IVR | MFS | Cov / Gap |
| (a) Ablation | Full SIFT | 0.75 | 0.10 | 0.72 | 0.49 |
| (a) Ablation | w/o TCN | 0.73 | 0.14 | 0.65 | 0.44 |
| (a) Ablation | w/o Transformer | 0.72 | 0.16 | 0.60 | 0.40 |
| (a) Ablation | w/o IRM | 0.76 | 0.21 | 0.52 | 0.35 |
| (a) Ablation | w/o DANN | 0.74 | 0.18 | 0.56 | 0.38 |
| (a) Ablation | w/o Attention Stability | 0.74 | 0.12 | 0.68 | 0.46 |
Appendix figures & tables46 assets
Supplementary material from the paper’s appendix.
Appendix
| Detector | Repr. variance | IVR | Correlation |
| Attribution | 0.142 | 0.282 | 0.81 |
| Counterfactual | 0.128 | 0.280 | 0.79 |
| Hidden-state | 0.094 | 0.250 | 0.83 |
| Instance-level | 0.101 | 0.270 | 0.80 |
| SIFT w/o IRM | 0.088 | 0.210 | 0.77 |
| SIFT w/o DANN | 0.079 | 0.180 | 0.81 |
| Source | Attribution | SIFT |
| Attention dropout | 0.098 | 0.041 |
| Weight initialization | 0.082 | 0.028 |
| Data ordering | 0.061 | 0.019 |
| Attention temperature | 0.041 | 0.014 |
| Component | Parameter | Value |
| TCN | Kernel sizes | |
| TCN | Number of filters per kernel | 64 |
| TCN | Activation function | ReLU |
| Transformer | Number of layers | 4 |
| Transformer | Number of attention heads | 8 |
| Transformer | Hidden dimension | 128 |
| Method | IVR | AS | MFS | Gain |
| Attribution (single) | 0.282 | 0.35 | 0.47 | — |
| Attribution (ensemble) | 0.241 | 0.38 | 0.52 | +0.05 |
| Counterfactual (single) | 0.280 | 0.31 | 0.64 | — |
| Counterfactual (ensemble) | 0.238 | 0.34 | 0.68 | +0.04 |
| Hidden-state (single) | 0.250 | 0.27 | 0.66 | — |
| Hidden-state (ensemble) | 0.214 | 0.30 | 0.70 | +0.04 |
| Feature | Correlation with Flip | Partial Correlation | p-value |
| Trace length | 0.023 | 0.015 | 0.34 |
| Lexical overlap | 0.187 | 0.162 | 0.001 |
| Syntactic structure | 0.145 | 0.128 | 0.008 |
| Semantic content shift | 0.234 | 0.201 | 0.001 |
| Attention pattern change | 0.178 | 0.155 | 0.002 |
| Hidden state magnitude | 0.095 | 0.082 | 0.052 |
| Attribute | Abstained | Committed | -value |
| Trace length (tokens) | 412 (128) | 287 (94) | |
| Cross-lingual shift (%) | 38.2 | 12.4 | |
| Cross-model shift (%) | 41.7 | 15.1 | |
| Faithful label (%) | 52.3 | 61.8 | |
| Final-answer correct (%) | 48.1 | 67.3 |
| Regime | |||
| Content moderation | 10 | 2 | 0.62 |
| Scientific verification | 5 | 1 | 0.71 |
| Educational assessment | 3 | 1 | 0.78 |
| Real-time monitoring | 20 | 0.5 | 0.54 |
| Descriptor family | In-distribution | Cross-model |
| Inter-layer velocity | 0.71 | 0.62 |
| Step-to-step drift | 0.69 | 0.58 |
| Early-commitment | 0.74 | 0.67 |
| Attention stability | 0.68 | 0.54 |
| Full (all descriptors) | 0.78 | 0.65 |
| Method | Transfer AUROC | Gap |
| SIFT (baseline) | 0.65 | 0.13 |
| SIFT + alignment | 0.69 | 0.09 |
| SIFT + multi-model (4 models) | 0.65 | 0.13 |
| SIFT + alignment + multi-model | 0.71 | 0.07 |
| Detector | Inference Time (ms) | Memory (MB) | Parameters |
| Biasing | 12 | 5 | 1.2K |
| Counterfactual | 45 | 12 | 4.1K |
| Hidden-state | 28 | 8 | 2.3K |
| Instance | 67 | 18 | 8.2K |
| Attribution | 34 | 10 | 3.5K |
| SIFT | 156 | 45 | 28.4K |
| Detector | Seed floor | Shift attr. | Overlap | Corrected raw |
| Biasing-features | 0.093 | 0.217 | 0.0004 | 0.310 |
| Counterfactual | 0.084 | 0.196 | 0.0003 | 0.280 |
| Hidden-state | 0.075 | 0.175 | 0.0002 | 0.250 |
| Instance-level | 0.081 | 0.189 | 0.0003 | 0.270 |
| Attribution | 0.232 | 0.050 | 0.0003 | 0.282 |
| SIFT | 0.028 | 0.074 | 0.0002 | 0.102 |
| Source | Attribution | SIFT |
| Attention dropout | 0.098 | 0.041 |
| Weight initialization | 0.082 | 0.028 |
| Data ordering | 0.061 | 0.019 |
| Attention temperature | 0.041 | 0.014 |
| Cell | Architecture | Training | Ensemble | MFS |
| A | Instance | ERM | Single | 0.62 |
| B | Instance | ERM | 4-seed | 0.66 |
| C | SIFT | ERM | Single | 0.63 |
| D | SIFT | ERM | 4-seed | 0.67 |
| E | SIFT | IRM+DANN | Single | 0.66 |
| F | SIFT | IRM+DANN | 4-seed | 0.70 |
| Detector | Stability | AS | Balanced score |
| Biasing-features | 0.79 | 0.60 | 0.69 |
| Counterfactual | 0.80 | 0.62 | 0.70 |
| Hidden-state | 0.83 | 0.65 | 0.73 |
| Instance-level | 0.83 | 0.67 | 0.75 |
| Attribution | 0.72 | 0.35 | 0.50 |
| SIFT | 0.91 | 0.74 | 0.82 |
| Axis | Preservation rate | IVR (all pairs) | IVR (preserved only) |
| Paraphrase | 0.94 | 0.08 | 0.07 |
| Step reordering | 0.99 | 0.00 | 0.00 |
| Hint format | 0.96 | 0.09 | 0.08 |
| Language | 0.91 | 0.14 | 0.12 |
| Inference budget | 0.88 | 0.12 | 0.10 |
| Model family | 0.86 | 0.18 | 0.15 |
| Axis | Local sensitivity | Symmetry balance | Independence |
| Paraphrase | 0.06 | 0.03 | 0.09 |
| Step reordering | 0.02 | 0.01 | 0.04 |
| Hint format | 0.05 | 0.02 | 0.08 |
| Language | 0.09 | 0.04 | 0.14 |
| Inference budget | 0.07 | 0.05 | 0.11 |
| Model family | 0.11 | 0.06 | 0.17 |
| Item | Status |
| Random seeds | Fixed (4 seeds per detector; 20 for stability analysis) |
| Compute environment | NVIDIA A100 40GB, CUDA 12.1 |
| Data splits | 60/15/25, base-item stratified |
| Statistical procedures | Bootstrap (1,000 resamples), McNemar, BH correction |
| Hyperparameter search | Grid search, details in Table 7 |
| Factorial decomposition | Configurations A–H released |
| Method | Trajectory Extraction | Model Training | Total per Domain | Total (4 Domains) |
| Baseline Detectors | – | 45 min | 45 min | 3 hours |
| Baseline + 4-seed Ensemble | – | 180 min | 180 min | 12 hours |
| SIFT (trajectory only) | 180 min | – | 180 min | 12 hours |
| SIFT (full pipeline) | 180 min | 120 min | 300 min | 20 hours |
| Method | Trajectory Extraction | Detection | Total per Trace | Throughput (traces/sec) |
| Attribution Detector | – | 42 ms | 42 ms | 23.8 traces/sec |
| Hidden-State Detector | – | 58 ms | 58 ms | 17.2 traces/sec |
| Baseline + 4-seed Ensemble | – | 232 ms | 232 ms | 4.3 traces/sec |
| SIFT (single seed) | 180 ms | 45 ms | 225 ms | 4.4 traces/sec |
| SIFT + Certified Abstention | 180 ms | 85 ms | 265 ms | 3.8 traces/sec |
| Method | Training | Inference | MFS | Coverage | Recommendation |
| Single Baseline | 45 min | 50 ms | 0.47 | 90% | Speed-critical |
| 2-Seed Ensemble | 90 min | 116 ms | 0.66 | 90% | Balanced |
| 4-Seed Ensemble | 180 min | 232 ms | 0.71 | 90% | Accuracy + robust |
| SIFT (no abstention) | 300 min | 225 ms | 0.72 | 90% | Theoretical interest |
| SIFT (certified) | 300 min | 265 ms | 0.64 | 49% | Auditing |
| Architecture | MFS | IVR | Inference (ms) | Epochs to 95% | Parameters | Speed vs. TCN |
| Mean pooling | 0.68 | 0.085 | 15 | 45 | 100 | faster |
| TCN (main) | 0.72 | 0.050 | 45 | 75 | 12,480 | Baseline |
| Transformer | 0.73 | 0.048 | 185 | 120 | 24,576 | slower |
| Features | Dimensionality | MFS | IVR | Notes |
| Mean pooling | 768 | 0.68 | 0.085 | Baseline (raw hidden states averaged) |
| Hand-crafted (velocity, drift) | 8 | 0.65 | 0.102 | Velocity: ; drift: |
| Hand-crafted + early-commitment | 12 | 0.66 | 0.098 | + indicator: does model commit early? |
| TCN-learned | 64 | 0.72 | 0.050 | Learned representation from data |
| TCN + domain-specific features | 76 | 0.73 | 0.048 | TCN + hand-crafted domain features |
| Method | MFS | IVR | Inference | Requires Env. Label | Code Complexity |
| Single Baseline | 0.67 | 0.280 | 58 ms | No | Low |
| IRM (alone) | 0.68 | 0.120 | 45 ms | No | Medium |
| DANN (alone) | 0.69 | 0.095 | 50 ms | No | Medium |
| Group DRO | 0.70 | 0.075 | 45 ms | No | Medium |
| SIFT (IRM + DANN) | 0.72 | 0.050 | 45 ms | No | High |
| JIT (oracle) | 0.75 | 0.032 | 45 ms | Yes | Low |
| Domain | Task Type | Base Traces | Shift Axes | Total Traces |
| Summarization | Factuality | 500 | Paraphrase, coreference, entailment | 5,000 |
| Retrieval | Evidence justification | 500 | Reordering, truncation, synonym | 5,000 |
| Instruction | Constraint satisfaction | 500 | Reformulation, relaxation, negation | 5,000 |
| Domain | Detector | In-Distribution AUROC | Transfer AUROC | Gap | IVR |
| Summarization | Baseline | 0.71 | 0.58 | 0.13 | 0.142 |
| SIFT | 0.74 | 0.66 | 0.08 | 0.062 | |
| Retrieval | Baseline | 0.68 | 0.52 | 0.16 | 0.165 |
| SIFT | 0.71 | 0.61 | 0.10 | 0.074 | |
| Instruction | Baseline | 0.72 | 0.56 | 0.16 | 0.155 |
| SIFT | 0.75 | 0.63 | 0.12 | 0.068 |
| Domain | Task | Baseline In-Dist. | Baseline Transfer | SIFT Transfer | Gap Reduction |
| GSM8K | Arithmetic | 0.74 | 0.62 | 0.70 | 0.08 (50%) |
| MATH | Competition Math | 0.68 | 0.48 | 0.58 | 0.10 (56%) |
| CommonsenseQA | Commonsense | 0.71 | 0.58 | 0.67 | 0.09 (60%) |
| BBH | Multi-task | 0.65 | 0.50 | 0.61 | 0.11 (65%) |
| Aggregate | — | 0.70 | 0.54 | 0.64 | 0.10 (58%) |
| Domain | Paraphrase | Step Reorder | Hint Format | Translation | Overall IVR |
| GSM8K | 0.045 | 0.052 | 0.048 | 0.061 | 0.051 |
| MATH | 0.062 | 0.074 | 0.058 | 0.089 | 0.071 |
| CommonsenseQA | 0.041 | 0.038 | 0.055 | 0.052 | 0.046 |
| BBH | 0.068 | 0.085 | 0.064 | 0.098 | 0.079 |
| Scenario | Characteristics | Recommended Method | Justification |
| Speed-critical | Latency ms, throughput traces/sec | Single baseline detector (45 ms) or mean-pooling SIFT (15 ms) | Low inference overhead; accept MFS – |
| Accuracy-critical | High-stakes auditing, legal/medical domains | 4-seed ensemble (232 ms, MFS 0.71) or SIFT with abstention (265 ms, MFS 0.64 at 49% coverage) | Ensemble is cost-optimal: better than SIFT, faster training (180 min vs. 300 min) |
| Cross-model robust | Need to audit multiple model families (DeepSeek, Llama, Claude, GPT) | Multi-model SIFT or ensemble (trained on 3–4 reference models) | Improves transfer AUROC from 0.47 to 0.65; essential for production monitoring |
| Budget-constrained | Limited compute, single GPU available | Single-seed detector or 2-seed ensemble | 2-seed ensemble (90 min training, 116 ms inference) balances cost and accuracy (MFS ) |
| Unknown shifts | Expect distribution shifts but don’t know which axes | Ensemble-based approach (cheaper than SIFT, empirically better) | Ensembling is a robust hedge against unknown distribution shifts |
CoT Faithfulness
Chain-of-thought faithfulness measures whether a model’s stated reasoning causally reflects and supports the answer it gives.
See all 73 papers