Certainty Is Not Just Correctness: Rethinking Token-Level Certainty in LLM Reasoning
Organizations: School of Computer Science, Shanghai Jiao Tong University · Qwen Team, Alibaba Group
Abstract
Token-level certainty is widely used as a proxy for correctness in LLM training and inference. However, the performance of certainty-based methods depends both on the information in certainty scores and on how those scores are used. We therefore directly assess certainty's predictive ability through controlled empirical evaluations across models and tasks. We distinguish two prediction targets: identifying questions a model is more likely to answer correctly and distinguishing correct from incorrect responses to the same question. In our experiments, certainty is generally better at identifying questions a model is likely to answer correctly than at distinguishing correct from incorrect responses to the same question. Certainty also varies systematically across token types and positions within words, reflecting local properties of words and text form. Information about question difficulty appears early in generation, while the weaker information about answer correctness is more concentrated near the end. These findings show that the information certainty provides for decisions depends on the prediction target, the model, the certainty metric, and which token positions in the response are included in aggregation. We further demonstrate the practical value of these findings for test-time compute. We allocate the number of responses using certainty early in generation and weight answer votes using certainty near the end of each response. Compared with a fixed-sampling majority-voting baseline, this approach increases overall accuracy from 78.71% to 79.54% while reducing generated-token cost by 82.4%.
Figures & tables
| Fixed Budget | Early allocation | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Accuracy (%) | Cost | Accuracy (%) | Cost | |||||||
| Model | Majority | Full | Suffix 1k | Suffix 500 | Majority | Full | Suffix 1k | Suffix 500 | ||
| Qwen3-8B | 75.43 | 76.15 | 76.36 | 76.45 | 1.000 | 74.96 | 75.73 | 76.21 | 76.33 | 0.142 |
| Qwen3-32B | 79.63 | 81.11 | 80.78 | 81.31 | 1.000 | 80.68 | 81.38 | 81.37 | 81.75 | 0.145 |
| Gemma4-E4B | 62.11 | 63.72 | 63.64 | 64.38 | 1.000 | 61.22 | 62.92 | 63.10 | 63.80 | 0.186 |
| Gemma4-26B | 91.39 | 91.51 | 91.37 | 91.49 | 1.000 | 90.87 | 91.13 | 90.71 | 90.86 | 0.192 |
Appendix figures & tables25 assets
Supplementary material from the paper’s appendix.
Appendix
| Model | within-question AUROC (W) | cross-question C-Index (C) | C W 95% CI | cross-question within-question? |
| A. Logit gap ( ) | ||||
| Qwen3-8B | 0.674 | 0.764 | +0.0899 [0.0396, 0.1424] | Yes |
| Qwen3-32B | 0.647 | 0.758 | +0.1109 [0.0549, 0.1631] | Yes |
| Gemma4-4B | 0.656 | 0.776 | +0.1202 [0.0565, 0.1860] | Yes |
| Gemma4-26B | 0.568 | 0.732 | +0.1645 [0.0603, 0.2741] | Yes |
| GPT-OSS-20B | 0.529 | 0.668 | +0.1385 [0.0686, 0.2041] | Yes |
| Dataset | within-question AUROC (W) | cross-question C-Index (C) | C W 95% CI | cross-question within-question? |
| A. Logit gap ( ) | ||||
| AIME 2024 | 0.624 | 0.759 | +0.1348 [0.0548, 0.2138] | Yes |
| AIME 2025 | 0.637 | 0.783 | +0.1458 [0.0500, 0.2373] | Yes |
| GPQA-Diamond | 0.583 | 0.677 | +0.0938 [0.0550, 0.1309] | Yes |
| Overall | 0.615 | 0.740 | +0.1248 [0.0829, 0.1677] | Yes |
| B. Self-certainty | ||||
| Model | Same-question concordance ( ) | Different-question concordance ( ) | Pooled AUROC | Difference [95% CI] | Different Same? Point estimate |
| A. Logit gap ( ) | |||||
| Qwen3-8B | 0.633 | 0.869 | 0.866 | +0.2360 [0.1674, 0.3033] | Yes |
| Qwen3-32B | 0.642 | 0.848 | 0.846 | +0.2061 [0.1406, 0.2757] | Yes |
| Gemma4-4B | 0.619 | 0.839 | 0.836 | +0.2195 [0.1319, 0.3088] | Yes |
| Gemma4-26B | 0.498 | 0.766 | 0.763 | +0.2682 [0.1169, 0.3454] | Yes |
| GPT-OSS-20B | 0.526 | 0.686 | 0.684 | +0.1601 [0.0887, 0.2390] | Yes |
| Dataset | Same-question concordance ( ) | Different-question concordance ( ) | Pooled AUROC | Difference [95% CI] | Different Same? Point estimate |
| A. Logit gap ( ) | |||||
| AIME 2024 | 0.598 | 0.854 | 0.852 | +0.2563 [0.1435, 0.3337] | Yes |
| AIME 2025 | 0.587 | 0.837 | 0.833 | +0.2508 [0.1208, 0.3512] | Yes |
| GPQA-Diamond | 0.565 | 0.712 | 0.712 | +0.1468 [0.0925, 0.1956] | Yes |
| Overall | 0.583 | 0.801 | 0.799 | +0.2180 [0.1584, 0.2638] | Yes |
| B. Self-certainty | |||||
| Model | within-question AUROC (W) | cross-question C-Index (C) | C W 95% CI | cross-question within-question? |
| A. Logit gap ( ) | ||||
| Qwen3-8B | 0.674 | 0.730 | +0.0557 [−0.0106, 0.1220] | Yes |
| Qwen3-32B | 0.647 | 0.734 | +0.0866 [0.0279, 0.1422] | Yes |
| Gemma4-4B | 0.656 | 0.745 | +0.0896 [0.0045, 0.1729] | Yes |
| Gemma4-26B | 0.568 | 0.498 | −0.0697 [−0.2793, 0.1676] | No |
| GPT-OSS-20B | 0.529 | 0.621 | +0.0921 [0.0165, 0.1648] | Yes |
| Dataset | within-question AUROC (W) | cross-question C-Index (C) | C W 95% CI | cross-question within-question? |
| A. Logit gap ( ) | ||||
| AIME 2024 | 0.624 | 0.614 | −0.0106 [−0.1451, 0.1278] | No |
| AIME 2025 | 0.637 | 0.765 | +0.1279 [0.0033, 0.2353] | Yes |
| GPQA-Diamond | 0.583 | 0.618 | +0.0353 [−0.0017, 0.0690] | Yes |
| Overall | 0.615 | 0.666 | +0.0509 [−0.0066, 0.1115] | Yes |
| B. Self-certainty | ||||
| Index | Per-model average (W/C) | Overall | ||||
|---|---|---|---|---|---|---|
| Qwen3-8B | Qwen3-32B | Gemma4-4B | Gemma4-26B | GPT-OSS-20B | W / C | |
| 2 | 0.635 / 0.745 | 0.642 / 0.721 | 0.699 / 0.751 | 0.590 / 0.790 | 0.506 / 0.685 | 0.614 / 0.738 |
| 6 | 0.659 / 0.775 | 0.664 / 0.755 | 0.701 / 0.747 | 0.595 / 0.789 | 0.502 / 0.697 | 0.624 / 0.753 |
| 10 | 0.661 / 0.786 | 0.669 / 0.760 | 0.698 / 0.749 | 0.595 / 0.789 | 0.500 / 0.703 | 0.625 / 0.757 |
| 14 | 0.660 / 0.791 | 0.669 / 0.766 | 0.699 / 0.752 | 0.594 / 0.789 | 0.500 / 0.703 | 0.625 / 0.760 |
| 18 | 0.662 / 0.791 | 0.671 / 0.768 | 0.699 / 0.753 | 0.594 / 0.788 | 0.500 / 0.702 | 0.625 / 0.761 |
| Group | Occurrences | Traces | Model–questions | Settings |
|---|---|---|---|---|
| Semantic | 2,758,980,303 | 660,480 | 1,290 | 15/15 |
| Structural | 1,535,677,651 | 660,480 | 1,290 | 15/15 |
| Symbolic | 1,311,805,321 | 660,480 | 1,290 | 15/15 |
| Digit | 994,217,932 | 652,510 | 1,288 | 15/15 |
| Others | 25,618,508 | 328,951 | 873 | 11/15 |
| 2-piece words | 136,824,127 | 655,934 | 1,290 | 15/15 |
| Model | cross-question C-Index | within-question AUROC | ||
|---|---|---|---|---|
| Original | Equal | Original | Equal | |
| Qwen3-8B | 0.7673 | 0.8070 | 0.6739 | 0.6842 |
| Qwen3-32B | 0.7720 | 0.7926 | 0.6467 | 0.6552 |
| Gemma 4-E4B | 0.7717 | 0.7962 | 0.6556 | 0.6481 |
| Gemma4-26B | 0.7236 | 0.7240 | 0.5675 | 0.5907 |
| GPT-OSS-20B | 0.6546 | 0.6819 | 0.5307 | 0.5498 |
| Model | Token category | ||||
|---|---|---|---|---|---|
| Semantic | Structural | Symbolic | Digit | Others | |
| A. Logit gap ( ) Color scale: 8.159 29.115 | |||||
| Qwen3-8B | 16.794 | 21.585 | 22.441 | 27.802 | 25.962 |
| Qwen3-32B | 17.439 | 22.178 | 22.772 | 26.863 | 24.600 |
| Gemma 4-E4B | 12.946 | 17.217 | 18.775 | 21.679 | NA |
| Gemma4-26B | 16.147 | 18.811 | 19.616 | 21.501 | NA |
| Model | 2-piece words | 3-piece words | 4-piece words | ||||||
|---|---|---|---|---|---|---|---|---|---|
| Pos. 1 | Pos. 2 | Pos. 1 | Pos. 2 | Pos. 3 | Pos. 1 | Pos. 2 | Pos. 3 | Pos. 4 | |
| A. Logit gap ( ) Color scale: 8.159 29.115 | |||||||||
| Qwen3-8B | 17.231 | 25.294 | 16.626 | 24.103 | 26.091 | 17.233 | 25.640 | 25.841 | 26.407 |
| Qwen3-32B | 17.471 | 23.601 | 16.301 | 22.008 | 23.497 | 16.878 | 22.479 | 22.248 | 22.988 |
| Gemma 4-E4B | 12.247 | 18.966 | 11.141 | 18.288 | 20.339 | 10.886 | 17.691 | 19.377 | 19.690 |
| Gemma4-26B | 17.397 | 21.277 | 17.512 | 20.619 | 22.103 | 17.116 | 19.651 | 20.999 | 21.404 |
| Model | within-question | cross-question | ||||
|---|---|---|---|---|---|---|
| AUROC | C-Index | |||||
| All | First-piece | Exclude Digit and Others | All | First-piece | Exclude Digit and Others | |
| A. Logit gap ( ) | ||||||
| Qwen3-8B | 0.674 | +0.0024 [−0.0030,0.0086] | +0.0074 [−0.0005,0.0172] | 0.764 | +0.0175 [0.0010,0.0400] | +0.0294 [0.0102,0.0539] |
| Qwen3-32B | 0.647 | −0.0020 [−0.0078,0.0035] | −0.0033 [−0.0133,0.0056] | 0.758 | +0.0024 [−0.0161,0.0206] | −0.0023 [−0.0319,0.0248] |
| Gemma 4-E4B | 0.656 | +0.0015 [−0.0028,0.0063] | +0.0003 [−0.0095,0.0102] | 0.776 | +0.0034 [−0.0096,0.0181] | +0.0123 [−0.0022,0.0286] |
| Dataset | within-question | cross-question | ||||
|---|---|---|---|---|---|---|
| AUROC | C-Index | |||||
| All | First-piece | Exclude Digit and Others | All | First-piece | Exclude Digit and Others | |
| A. Logit gap ( ) | ||||||
| AIME 2024 | 0.624 | +0.0075 [0.0015,0.0139] | +0.0247 [0.0076,0.0426] | 0.759 | +0.0044 [−0.0106,0.0228] | +0.0161 [−0.0121,0.0461] |
| AIME 2025 | 0.637 | +0.0052 [−0.0006,0.0116] | +0.0006 [−0.0096,0.0109] | 0.783 | +0.0058 [−0.0104,0.0252] | +0.0057 [−0.0147,0.0275] |
| GPQA-Diamond | 0.583 | −0.0034 [−0.0072,0.0002] | −0.0004 [−0.0040,0.0037] | 0.677 | +0.0034 [−0.0029,0.0101] | +0.0092 [0.0017,0.0166] |
| Model | cross-question C-Index | within-question AUROC | ||||
|---|---|---|---|---|---|---|
| Prefix (1k) | Suffix (1k) | Full Trace | Prefix (1k) | Suffix (1k) | Full Trace | |
| Qwen3-8B | 0.709 | 0.774 | 0.764 | 0.505 | 0.683 | 0.674 |
| Qwen3-32B | 0.728 | 0.769 | 0.758 | 0.502 | 0.652 | 0.647 |
| Gemma4-4B | 0.721 | 0.748 | 0.776 | 0.489 | 0.675 | 0.656 |
| Gemma4-26B | 0.753 | 0.701 | 0.732 | 0.514 | 0.533 | 0.568 |
| GPT-OSS-20B | 0.701 | 0.664 | 0.668 | 0.491 | 0.584 | 0.529 |
| (a) 100–500 generated tokens | |||||
|---|---|---|---|---|---|
| Readout | 100 | 200 | 300 | 400 | 500 |
| cross-question: prefix C-Index | [-1pt] | [-1pt] | [-1pt] | [-1pt] | [-1pt] |
| within-question: suffix AUROC | [-1pt] | [-1pt] | [-1pt] | [-1pt] | [-1pt] |
| (a) 0.1%–5% of the trace | |||||
|---|---|---|---|---|---|
| Readout | 0.1% | 0.5% | 1% | 2% | 5% |
| cross-question: prefix C-Index | [-1pt] | [-1pt] | [-1pt] | [-1pt] | [-1pt] |
| within-question: suffix AUROC | [-1pt] | [-1pt] | [-1pt] | [-1pt] | [-1pt] |
| Control dimension | Aggregation region | within-question AUROC | cross-question C-Index |
|---|---|---|---|
| Answer-span content | Suffix (1k) | 0.6260 | 0.7310 |
| Suffix (1k), answers removed | 0.6279 | 0.7334 | |
| Summary extent | Full summary | 0.6100 | 0.7414 |
| Suffix (1k) | 0.6260 | 0.7310 | |
| Within-summary position | Summary Q1 | 0.5371 | 0.6950 |
| Summary Q2 | 0.5353 | 0.7021 |
| (a) cross-question C-Index | ||||
|---|---|---|---|---|
| Metric | Full trace | Prefix (1k) | Prefix (1k) full trace | Combinations with prefix full trace |
| Logit gap | 0.740 | 0.723 | 8/15 | |
| Self-certainty | 0.733 | 0.717 | 7/15 | |
| Negative entropy | 0.664 | 0.708 | 12/15 | |
| Maximum log probability | 0.659 | 0.709 | 12/15 | |
| (a) Fixed-budget sampling: 256 traces | ||||||
| Accuracy (%) | Relative token cost | |||||
| Model | Dataset | Majority voting | Full trace | Final 1,000 tokens | Final 500 tokens | |
| Qwen3-8B | AIME 2024 | 80.00 | 83.02 | 82.94 | 82.76 | 1.000 |
| AIME 2025 | 79.77 | 79.35 | 79.61 | 79.79 | 1.000 | |
| GPQA-Diamond | 66.52 | 66.07 | 66.54 | 66.81 | 1.000 | |
| Qwen3-32B | AIME 2024 | 86.02 | 90.55 | 88.80 | 90.60 | 1.000 |
| Model | Number of questions | Mean trace count | Median trace count | Sampling runs at the trace limit (%) |
|---|---|---|---|---|
| Qwen3-8B | 258 | 41.14 | 32 | 1.94 |
| Qwen3-32B | 258 | 41.49 | 32 | 1.97 |
| Gemma 4-E4B | 258 | 71.50 | 32 | 12.82 |
| Gemma4-26B | 258 | 70.70 | 32 | 12.92 |
| GPT-OSS-20B | 258 | 43.24 | 32 | 2.71 |
| Method | AIME 2024 | AIME 2025 | GPQA- Diamond | Overall | Difference (percentage points) |
|---|---|---|---|---|---|
| Self-Consistency | 83.41 | 81.40 | 71.32 | 78.71 | +0.00 |
| Self-Certainty Best-of- | 80.94 | 71.53 | 69.07 | 73.85 | -4.86 |
| Self-Certainty: rank-weighted voting | 85.78 | 81.58 | 71.53 | 79.63 | +0.92 |
| Reasoning-Pruning Consistency | 84.47 | 80.53 | 70.72 | 78.57 | -0.13 |
| DeepConf: bottom-group mean; retain 10% | 83.77 | 78.10 | 70.66 | 77.51 | -1.20 |
| DeepConf: bottom-group mean; retain 90% | 84.16 | 81.44 | 71.35 | 78.98 | +0.27 |
| Method | Sampling budget | Accuracy (%) | Relative token cost | Mean trace count |
| Self-Consistency | 32 traces (fixed) | 78.27 | 0.125 | 32.0 |
| Self-Consistency | 128 traces (fixed) | 78.63 | 0.500 | 128.0 |
| Self-Consistency | 256 traces (fixed) | 78.71 | 1.000 | 256.0 |
| Adaptive-Consistency | At most 256 traces | 78.65 | 0.363 | 26.1 |
| Early-Stopping Self-Consistency | Dataset-specific maximum | 78.66 | 0.419 | 69.2 |
| DeepConf-low | At most 256 traces | 76.89 | 0.176 | 57.8 |
| Parameter | Setting |
|---|---|
| Temperature | |
| Top- | |
| Maximum generation length | tokens for Qwen models; tokens for GPT-OSS and Gemma models |
| Batch size | traces per vLLM generation call; vLLM maximum concurrent sequences set to |
| Number of samples | stored responses per model–question pair for the main TACS simulations |
| Random seed | Offline resampling uses seed ; trace generation does not pass an explicit vLLM sampling seed |
Confidence Estimation in Language Models
Confidence estimation in language models measures whether a model’s uncertainty signals predict answer correctness and support reliable decisions.
See all 249 papers