Fragility Is Not Reducible to Hardness: Conditional Causal Difficulty for LLMs
Organizations: Upwork Inc.
Abstract
Large language models show large and seemingly arbitrary performance drops when a task is rewritten in ways that leave its requirements untouched. We recast task difficulty as a causal quantity: the treatment effect of meaning-preserving perturbations on a model. A meaning-preserving rewrite can only be observed to hurt a task the model can already solve, so we place the estimand on the principal stratum where the degradation occurs: the conditional causal difficulty (CCD), the probability that a randomly drawn twin breaks a solvable task. Because harder tasks tend to be more phrasing-sensitive, complexity enters as an effect modifier rather than a confounder, and we residualize it out to obtain complexity-residualized difficulty (CRD); zero for a task exactly as fragile as its complexity predicts, positive for anomalously fragile ones. Current benchmarks do not supply the data CCD requires, so we introduce GlassGSM and GlassMATH, augmenting GSM8K and MATH with twins built from perturbation families, raising fragility on GlassGSM by over GSM-IC-style distractors on the same problems () while keeping the answer key unchanged. Our predictor Frail learns the per-perturbation break probability and reaches of the suite reliability ceiling on GlassGSM and on GlassMATH, against / for a surface-feature baseline and / for supervised baselines such as VAP3, and, at a curation budget on GlassGSM, doubles random recall of fragile items, matching an oracle ranking. Additionally, cross-fitted residualization leaves CRD uncorrelated with the declared proxy in practice. Code is available at https://github.com/upwork/Conditional_Causal_Difficulty_for_LLMs
Figures & tables
| Dataset | Problems | Twins | Fragile | Zero | R1 | R2 | R3 |
| GSM-IC (on GSM8K test) | 1,319 | 20 | 3.7% | 90.1% | ✓ | ✓ | |
| GSM-Plus (MPPO) ( Li et al., 2024 ) | 1,319 | 2 | 10.5% | 86.2% | ✓ | ✓ | |
| GSM-Symbolic p1 | 100 | 10 | 25.0% | 56.0% | ✓ | n/a | |
| GSM-DC ( Yang et al., 2025 ) | 6,222 | 1 | 16.4% | 64.0% | ✓ | ✓ | |
| GlassGSM (ours) | 1,319 | avg. 13.9 | 44.9% | 48.6% | ✓ | ✓ | ✓ |
| MATH (original) ( Hendrycks et al., 2021 ) | 5,000 | — | n/a | n/a | n/a | n/a |
| Suite | Method | |||
|---|---|---|---|---|
| GlassGSM | Frail- | 0.613 0.023 | 0.611 0.020 | 0.289 0.021 |
| VAP3 | 0.444 0.049 | 0.441 0.046 | 0.245 0.031 | |
| BERTPE | 0.420 0.051 | 0.420 0.049 | 0.255 0.035 | |
| TF-IDF+SVD features, job-level regr. | 0.320 0.044 | 0.320 0.049 | 0.184 0.019 | |
| Surface features (GBT) | 0.171 0.023 | 0.164 0.026 | 0.146 0.056 | |
| Declared complexity score only | 0.207 0.060 | 0.192 0.058 | 0.181 0.049 |
| Suite / generator | MAE | target | pred. | pred. | |
|---|---|---|---|---|---|
| GlassGSM, gpt-4o-mini twins | 0.129 | 0.044 | 0.043 | 0.061 | 0.068 |
| GlassMATH, gpt-4o-mini twins | 0.129 | 0.030 | 0.023 | 0.022 | |
| GlassGSM, Qwen3.7-plus twins | 0.074 | 0.092 | 0.058 | 0.055 | 0.069 |
| GlassMATH, Qwen3.7-plus twins | 0.117 | 0.067 | 0.018 | 0.016 | 0.012 |
| GlassGSM, DeepSeek-v4-pro twins | 0.058 | 0.087 | 0.025 | 0.060 | 0.056 |
| GlassGSM | |||
|---|---|---|---|
| train eval | gpt-4o-mini | Qwen3.7-plus | DeepSeek-v4-pro |
| gpt-4o-mini | 0.431 | 0.355 | 0.411 |
| Qwen3.7-plus | 0.297 | 0.299 | 0.401 |
| DeepSeek-v4-pro | 0.237 | 0.306 | 0.389 |
| GlassMATH | |||
| train eval | gpt-4o-mini | Qwen3.7-plus | DeepSeek-v4-pro |
Appendix figures & tables7 assets
Supplementary material from the paper’s appendix.
Appendix
| Method | MAE | NDCG@10 | AUROC | ||
|---|---|---|---|---|---|
| Surface length | 0.100 | 0.021 | 0.804 | 0.594 | 0.052 |
| Score-predictor | 0.496 | 0.014 | 0.829 | 0.727 | 0.052 |
| Frozen twin-distance | 0.112 | 0.023 | 0.686 | 0.446 | 0.182 |
| Frail- ex-ante (ours) | 0.420 | 0.015 | 0.799 | 0.712 | 0.067 |
| Frail- contrast (ours) | 0.617 | 0.012 | 0.863 | 0.828 | 0.028 |
| Suite | Representation | |||
|---|---|---|---|---|
| GlassGSM | TF-IDF+SVD | 0.398 0.042 | 0.395 0.037 | 0.039 0.070 |
| Frozen sentence encoder | 0.381 0.026 | 0.381 0.032 | 0.126 0.112 | |
| Frozen OpenAI embedding | 0.326 0.040 | 0.324 0.039 | 0.158 0.046 | |
| GlassMATH | TF-IDF+SVD | 0.435 0.021 | 0.425 0.021 | 0.334 0.095 |
| Frozen sentence encoder | 0.386 0.013 | 0.394 0.014 | 0.314 0.037 | |
| Frozen OpenAI embedding | 0.431 0.016 | 0.417 0.015 | 0.369 0.022 |
| Lever | GlassGSM | GlassMATH |
|---|---|---|
| Main model (fine-tuned encoder) | 0.613 | 0.557 |
| Stronger backbone (RoBERTa-large) | 0.543 | 0.548 |
| Lower LR / higher patience | 0.567 | 0.552 |
| Larger job batch | 0.606 | — |
| Ensemble (mean-rank / mean-z) | 0.559 / 0.537 | 0.549 / 0.551 |
| Pooled training data (per-origin) § | 0.536 | 0.548 |
| Method | MAE | NDCG@10 | AUROC | ||
|---|---|---|---|---|---|
| Surface length | 0.162 0.030 | 0.245 0.009 | 0.453 0.065 | 0.727 0.041 | 0.086 0.040 |
| Correlational score-predictor | 0.028 0.036 | 0.254 0.010 | 0.030 0.036 | 0.544 0.045 | 0.037 0.019 |
| Frozen twin-distance | 0.101 0.054 | 0.238 0.012 | 0.107 0.075 | 0.366 0.044 | 0.065 0.051 |
| BERTPE | 0.073 0.043 | 0.192 0.010 | 0.175 0.140 | 0.611 0.052 | 0.044 0.029 |
| VAP3 | 0.092 0.089 | 0.189 0.034 | 0.186 0.168 | 0.621 0.095 | 0.059 0.042 |
| Embedding Specificity-IEF (PromptSET) | 0.022 0.005 | 6.102 3.501 | 0.011 0.134 | 0.508 0.002 | 0.030 0.005 |
| Suite | Re-runs/item | Floor | Modal answer ref. |
|---|---|---|---|
| GlassGSM | 4 | ( ) | |
| GlassMATH | 3 | ( ) |
| Ranking | Recall@5% | Recall@10% | Recall@20% | Recall@50% |
|---|---|---|---|---|
| Random (expected) | 0.05 | 0.10 | 0.20 | 0.50 |
| Surface features (GBT) | 0.066 0.005 | 0.135 0.012 | 0.251 0.026 | 0.555 0.044 |
| Declared complexity | 0.064 0.007 | 0.122 0.006 | 0.244 0.007 | 0.567 0.018 |
| Frail- (ours) | 0.099 0.002 | 0.189 0.005 | 0.359 0.015 | 0.725 0.020 |
| (ours) | 0.099 0.002 | 0.186 0.006 | 0.352 0.021 | 0.676 0.020 |
| Oracle ( ) | 0.100 0.001 | 0.195 0.002 | 0.396 0.004 | 0.981 0.011 |
| GlassMATH | GlassGSM | |
| Pairs before audit | 107,573 | 39,211 |
| Kept (audited pool) | 94,750 | 34,353 |
| Dropped | 12,823 | 4,858 |
| gold-answer collision | 12,059 | 4,738 |
| entity collision | 608 | 35 |
| LLM contradiction | 166 | 95 |
Language Model Robustness
Language model robustness studies how reliably language models preserve correct, safe behavior under input changes, distribution shifts, and adversarial pressure.
See all 506 papers