Hesitation Has a Geometry: Entropy-Trained Hyperbolic Probes for Sparse Activation Steering
Organizations: Department of Data Science New Jersey Institute of Technology Newark, NJ, USA · Department of Statistics and Data Science University of California, Los Angeles Los Angeles, CA, USA · Department of Biomedical Informatics Stony Brook University Stony Brook, NY, USA
Abstract
When a large language model solves a mathematical problem, its reasoning is largely hierarchical, and the solution often branches at a few tokens where the next-token entropy is high. Such tree-like structure embeds in hyperbolic space with far lower distortion than in Euclidean space. Activation steering, however, usually edits the hidden states of a pretrained model by adding one fixed Euclidean vector at every token, even though most tokens of a solution are already determined by the context. We propose Hyperbolic Entropy Steering (HEST), which embeds the hidden states in the Poincaré ball with a lightweight probe whose only label is the model's own next-token entropy. Where this entropy exceeds a threshold, HEST moves the embedded state along the geodesic of steepest descent of a readout of the probe and maps the change back to the hidden state. For the Busemann readout of a learned ideal point, we prove that a step of fixed length lowers it by the same amount at every state. On three instruction-tuned models from the Qwen2.5-Math and Llama-3.1 families, HEST with the Busemann readout improves greedy accuracy on MATH-500 and GSM8K in five of six settings, by up to 1.8 points, whereas a contrastive steering vector added at every token lowers accuracy. With a Euclidean probe trained in the same way, this gain disappears on Qwen2.5-Math-1.5B-Instruct. The gains are largest on problems where the model hesitates often, and accuracy on the remaining problems is almost unchanged.
Figures & tables
| HEST , Busemann ( ) | HEST , radius ( ) | |||||
| MATH-500 | GSM8K | OlympiadBench | MATH-500 | GSM8K | OlympiadBench | |
| 0.1 | 74.80 (+0.60) | 84.53 ( 0.30) | 41.39 (0.00) | 74.20 (0.00) | 84.53 ( 0.30) | 41.04 ( 0.35) |
| 0.25 | 75.00 (+0.80) | 84.84 (0.00) | 41.39 (0.00) | 75.20 (+1.00) | 84.53 ( 0.30) | 40.87 ( 0.52) |
| 0.5 | 76.00 (+1.80) | 85.37 (+0.53) | 40.00 ( 1.39) | 74.40 (+0.20) | 84.38 ( 0.45) | 42.26 (+0.87) |
| 1 | 75.40 (+1.20) | 85.29 (+0.45) | 41.22 ( 0.17) | 73.40 ( 0.80) | 84.15 ( 0.68) | 42.61 (+1.22) |
| HEST | |||||||
|---|---|---|---|---|---|---|---|
| Model | Dataset | Greedy | Busemann | radius | CAA | Steered (%) | |
| Qwen2.5-Math-1.5B | MATH-500 | 1.0 | 74.20 | 76.00 (+1.80) | 75.20 (+1.00) | 70.00 ( 4.20) | 1.1 |
| GSM8K | 1.0 | 84.84 | 85.37 (+0.53) | 84.53 ( 0.30) | 84.23 ( 0.61) | 1.6 | |
| Llama-3.1-8B | MATH-500 | 2.0 | 50.80 | 52.00 (+1.20) | 51.00 (+0.20) | 38.20 ( 12.60) | 0.8 |
| GSM8K | 1.4 | 84.61 | 84.31 ( 0.30) | 84.53 ( 0.08) | 80.06 ( 4.55) | 3.0 | |
| Qwen2.5-Math-7B | MATH-500 | 1.0 | 84.00 | 84.80 (+0.80) | 84.20 (+0.20) | 82.60 ( 1.40) | 1.0 |
| (a) Positions | Steered | Step | Accuracy |
|---|---|---|---|
| Hesitation points ( HEST ) | ( ) | ||
| Every token | ( ) | ||
| Step boundaries | ( ) | ||
| CAA, every token | ( ) |
Appendix figures & tables15 assets
Supplementary material from the paper’s appendix.
Appendix
| Method | Direction | Positions | Training signal | Geometry | Evaluation | Math |
| CAA ( Rimsky et al., 2024 ) | fixed, difference of means | all tokens after the prompt | contrastive pairs | Euclidean | behavioral questions, open-ended generation, MMLU, TruthfulQA | – |
| ITI ( Li et al., 2023 ) | fixed, top attention heads | every generated token | labeled truthful and untruthful answers | Euclidean | TruthfulQA, NQ, TriviaQA, MMLU | – |
| CLAS ( Hsu et al., 2026 ) | per-layer direction, coefficient linear in the activation | all tokens | probe direction, prompt and completion pairs | Euclidean | tasks including GSM8K | GSM8K, to elicit step-by-step solutions |
| ReFT ( Wu et al., 2024 ) | learned low-rank edit of a subspace | fixed prefix and suffix positions of the prompt | task supervision, frozen model | Euclidean | commonsense and arithmetic reasoning, instruction following, GLUE | GSM8K and three others, after task finetuning |
| HyperSteer ( Sun et al., 2025 ) | generated by a hypernetwork from the steering prompt and the input | all tokens | AxBench steering prompts, language-modeling loss | Euclidean | AxBench concepts | – |
| AcT ( Rodriguez et al., 2025 ) | coordinate-wise affine maps from optimal transport | all tokens | source and target sentence sets | Euclidean | toxicity, concept induction, TruthfulQA, text-to-image models | – |
| Busemann | radius | |||||||
|---|---|---|---|---|---|---|---|---|
| Model | Probe data | States | Pair acc. | Pair acc. | ||||
| Qwen2.5-Math-1.5B | MATH | 50,717 | 0.880 | 0.554 | 0.74 | 0.842 | 0.472 | 0.53 |
| Qwen2.5-Math-1.5B | GSM8K | 27,212 | 0.855 | 0.501 | 0.71 | 0.829 | 0.429 | 0.40 |
| Qwen2.5-Math-1.5B | OlympiadBench | 87,813 | 0.900 | 0.547 | 0.78 | 0.876 | 0.478 | 0.38 |
| Llama-3.1-8B | MATH | 41,873 | 0.903 | 0.747 | 0.85 | 0.894 | 0.711 | 0.72 |
| Llama-3.1-8B | GSM8K | 15,821 | 0.871 | 0.706 | 0.91 | 0.868 | 0.698 | 0.73 |
| Tokens (%) | Per solution | Profile (%) | ||
| Llama-3.1-8B, MATH-500 | ||||
| 1.0 | 6.45 | 48.3 | 7/24/69 | 130 |
| 1.4 | 3.31 | 24.8 | 33/29/39 | 79 |
| 1.5 | 2.79 | 20.9 | 40/26/34 | 64 |
| 1.6 | 2.34 | 17.5 | 47/25/28 | 50 |
| 1.7 | 1.95 | 14.6 | 53/25/22 | 38 |
| MATH-500 | GSM8K | OlympiadBench | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Readout | F/B | Cap | F/B | Cap | F/B | Cap | ||||
| Busemann | 0.1 | +0.60 | 7/4 | 6 | 0.30 | 11/15 | 15 | 0.00 | 11/11 | 12 |
| Busemann | 0.25 | +0.80 | 9/5 | 6 | 0.00 | 19/19 | 12 | 0.00 | 17/17 | 12 |
| Busemann | 0.5 | +1.80 | 16/7 | 6 | +0.53 | 23/16 | 14 | 1.39 | 15/23 | 13 |
| Busemann | 1 | +1.20 | 17/11 | 6 | +0.45 | 31/25 | 8 | 0.17 | 29/30 | 18 |
| radius | 0.1 | 0.00 | 6/6 | 2 | 0.30 | 9/13 | 16 | 0.35 | 8/10 | 13 |
| HEST , Busemann | HEST , radius | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Model | Dataset | Greedy | Accuracy | F/B | Cap | Accuracy | F/B | Cap | ||
| Qwen2.5-Math-1.5B | MATH-500 | 19 | 1.0 | 74.20 | 76.00 (+1.80) | 16/7 | 6 | 75.20 (+1.00) | 12/7 | 7 |
| GSM8K | 19 | 1.0 | 84.84 | 85.37 (+0.53) | 23/16 | 14 | 84.53 ( 0.30) | 12/16 | 14 | |
| Llama-3.1-8B | MATH-500 | 13 | 2.0 | 50.80 | 52.00 (+1.20) | 17/11 | 78 | 51.00 (+0.20) | 12/11 | 64 |
| GSM8K | 13 | 1.4 | 84.61 | 84.31 ( 0.30) | 18/22 | 2 | 84.53 ( 0.08) | 19/20 | 5 | |
| Qwen2.5-Math-7B | MATH-500 | 19 | 1.0 | 84.00 | 84.80 (+0.80) | 8/4 | 13 | 84.20 (+0.20) | 5/4 | 14 |
| Model | Dataset | Greedy | CAA | F/B | Cap | Length | Changed (%) | With fallback |
|---|---|---|---|---|---|---|---|---|
| Qwen2.5-Math-1.5B | MATH-500 | 74.20 | 70.00 ( 4.20) | 26/47 | 36 | 1.26 | 100 | 72.40 ( 1.80) |
| Qwen2.5-Math-1.5B | GSM8K | 84.84 | 84.23 ( 0.61) | 58/66 | 8 | 0.91 | 99 | 84.38 ( 0.45) |
| Llama-3.1-8B | MATH-500 | 50.80 | 38.20 ( 12.60) | 31/94 | 131 | 1.33 | 100 | 44.20 ( 6.60) |
| Llama-3.1-8B | GSM8K | 84.61 | 80.06 ( 4.55) | 56/116 | 7 | 0.87 | 100 | 80.21 ( 4.40) |
| Qwen2.5-Math-7B | MATH-500 | 84.00 | 82.60 ( 1.40) | 19/26 | 10 | 0.99 | 97 | 83.20 ( 0.80) |
| Qwen2.5-Math-7B | GSM8K | 95.38 | 95.00 ( 0.38) | 15/20 | 6 | 0.95 | 98 | 95.00 ( 0.38) |
| 0–10 | 11–24 | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Model | Data | Setting | % | % | % | ||||||||||||
| Qwen2.5-Math-1.5B | MATH-500 | Busemann 0.5 | +0.55 | 73 | 0.89 | 0.10 | 0.01 | +5.32 | 19 | 0.41 | 0.15 | 0.08 | +4.65 | 9 | 0.19 | 0.11 | 0.25 |
| Qwen2.5-Math-1.5B | MATH-500 | Busemann 0.25 | 0.55 | 73 | 0.89 | 0.00 | 0.01 | +2.13 | 19 | 0.41 | 0.07 | 0.05 | +9.30 | 9 | 0.19 | 0.14 | 0.13 |
| Qwen2.5-Math-1.5B | MATH-500 | radius 0.25 | 1.10 | 73 | 0.89 | 0.00 | 0.01 | +3.19 | 19 | 0.41 | 0.09 | 0.05 | +13.95 | 9 | 0.19 | 0.20 | 0.13 |
| Qwen2.5-Math-1.5B | GSM8K | Busemann 0.5 | +0.10 | 76 | 0.91 | 0.05 | 0.00 | +1.16 | 20 | 0.72 | 0.16 | 0.05 | +4.69 | 5 | 0.44 | 0.17 | 0.11 |
| Qwen2.5-Math-1.5B | GSM8K | Busemann 0.25 | 0.40 | 76 | 0.91 | 0.04 | 0.01 | +0.78 | 20 | 0.72 | 0.12 | 0.04 | +3.13 | 5 | 0.44 | 0.17 | 0.14 |
| – | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Model | Data | Setting | |||||||||||||||
| Qwen2.5-Math-1.5B | MATH-500 | Busemann 0.5 | +1.58 | 380 | 0.84 | 0.15 | 0.01 | +2.50 | 120 | 0.44 | 0.10 | 0.08 | – | ||||
| Qwen2.5-Math-1.5B | MATH-500 | Busemann 0.25 | 0.00 | 380 | 0.84 | 0.03 | 0.01 | +3.33 | 120 | 0.44 | 0.10 | 0.06 | – | ||||
| Qwen2.5-Math-1.5B | MATH-500 | radius 0.25 | 0.26 | 380 | 0.84 | 0.06 | 0.02 | +5.00 | 120 | 0.44 | 0.12 | 0.04 | – | ||||
| Qwen2.5-Math-1.5B | GSM8K | Busemann 0.5 | +0.26 | 764 | 0.92 | 0.05 | 0.00 | +1.31 | 535 | 0.76 | 0.15 | 0.03 | 10.00 | 20 | 0.55 | 0.11 | 0.27 |
| Qwen2.5-Math-1.5B | GSM8K | Busemann 0.25 | 0.13 | 764 | 0.92 | 0.03 | 0.00 | +0.19 | 535 | 0.76 | 0.12 | 0.03 | 0.00 | 20 | 0.55 | 0.22 | 0.18 |
| Per problem (%) | Pooled (%) | Steered per | No steered | Capped | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Model | Dataset | Median | Mean | 90th pct. | All | Excl. capped | solution | token (%) | Steered (%) | |
| Qwen2.5-Math-1.5B | MATH-500 | 1.07 | 1.58 | 3.57 | 1.55 | 1.61 | 8.9 | 3.4 | 6 | 3 |
| Qwen2.5-Math-1.5B | GSM8K | 1.64 | 2.37 | 5.31 | 2.34 | 2.45 | 7.8 | 5.7 | 14 | 6 |
| Qwen2.5-Math-1.5B | OlympiadBench | 2.05 | 2.87 | 6.27 | 2.46 | 2.60 | 20.4 | 0.9 | 13 | 3 |
| Llama-3.1-8B | MATH-500 | 0.80 | 1.32 | 3.20 | 1.01 | 1.42 | 8.3 | 17.4 | 78 | 41 |
| Llama-3.1-8B | GSM8K | 3.00 | 3.80 | 7.49 | 4.18 | 4.22 | 7.7 | 2.9 | 2 | 1 |
| Readout | Pairwise cos. | PC 1 | PCs 1–5 | PCs for 50% | Size | Cos. to mean |
|---|---|---|---|---|---|---|
| Busemann, | ||||||
| radius, |
| Variant | Accuracy | F/B | Cap | No fallback | Steered | Edits | Step | Length | |
| Positions MATH-500 | Hesitation points ( HEST ) | 76.00 (+1.80) | 16/7 | 6 | 76.00 | 1.1 / 1.6 | 5 | 0.064 | 472 |
| Every token | 74.00 ( 0.20) | 20/21 | 7 | 73.80 | 100 / 100 | 488 | 0.067 | 488 | |
| Step boundaries | 73.80 ( 0.40) | 5/7 | 6 | 73.80 | 1.4 / 1.4 | 6 | 0.072 | 480 | |
| Direction MATH-500 | Fixed | 76.00 (+1.80) | 13/4 | 6 | 76.00 | 1.1 / 1.6 | 5 | 0.060 | 458 |
| Reverse | 74.60 (+0.40) | 9/7 | 7 | 74.20 | 1.1 / 1.5 | 5 | 0.068 | 468 | |
| Direction GSM8K | Probe ( HEST ) | 85.37 (+0.53) | 23/16 | 14 | 85.37 | 1.6 / 2.3 | 5 | – | 290 |
| Fixed | Broken | |||
|---|---|---|---|---|
| Direction | MATH-500 | GSM8K | MATH-500 | GSM8K |
| Probe ( HEST ) | 0.154 | 0.204 | 0.042 | 0.038 |
| Fixed | 0.127 | 0.155 | 0.022 | 0.043 |
| Reverse | 0.088 | 0.130 | 0.044 | 0.037 |
| Readout | Geometry | Pair acc. | Step | Accuracy | F/B | Changed | Fix rate | Break rate | Paired | |||
| MATH-500 , greedy accuracy | ||||||||||||
| Busemann | Hyperbolic ( HEST ) | 0.74 | 0.880 | 0.554 | 0.5 | 0.060 | 76.00 (+1.80) | 16/7 | 270 | 0.154 | 0.042 | – |
| Euclidean | 0 | 0.895 | 0.589 | 0.613 | 0.060 | 73.40 ( 0.80) | 10/14 | 245 | 0.106 | 0.093 | 23/10 | |
| radius | Hyperbolic ( HEST ) | 0.53 | 0.842 | 0.472 | 0.25 | 0.017 | 75.20 (+1.00) | 12/7 | 181 | 0.156 | 0.067 | – |
| Euclidean | 0 | 0.849 | 0.493 | 0.252 | 0.017 | 74.40 (+0.20) | 6/5 | 185 | 0.077 | 0.047 | 12/8 | |
| GSM8K , greedy accuracy | ||||||||||||
Language Model Steering
Language model steering controls a model’s behavior at inference time by intervening in its representations, components, or decoding process.
See all 283 papers