Labels Override Definitions in Jev-Style Typed Decision Models
Organizations: University of Southern California (USC), USA
Abstract
A typed decision model answers a fixed question about an input by returning a probability for each of several caller-defined options. Each option carries a short label and a written definition, which is where a developer states the rule the model should apply. Jev introduced this interface for routing, moderation and triage, open implementations followed, and the same operation occurs whenever a language model is used as a classifier by scoring label strings. We study the open implementations, whose weights we can inspect and patch, and ask whether the probability follows the definitions or the labels. A preference for the label we call option-label bias. Across four open-weight typed decision models, three ways of reading an answer from a Qwen2.5 backbone, eleven classification tasks and PolicyBench, a synthetic routing suite we introduce in which the rule appears only in the definitions, the answer is mostly the labels. Deleting every definition leaves accuracy unchanged (laya-td: 0.8559 against 0.8487), although those definitions support 0.7971 on their own, and renaming the options to A and B raises accuracy by +0.1511 [+0.1377, +0.1646]. One system, von, is unaffected, and the two code bases differ in one expression: laya writes each option as "{label}: {definition}", while von writes only the definition. Changing that expression in both directions, with no weight changed, makes all three laya checkpoints exactly invariant (+0.0000 [+0.0000, +0.0000]) and creates the effect in von, whose accuracy falls from 0.8511 to 0.2281 when a label contradicts its definition. Earlier work attributed this failure to the constrained decision head these models use in place of a text decoder; our results locate it in the prompt rendering. We give a two-call test that tells a practitioner which case applies to their model, and measure what four mitigations are worth.
Figures & tables
| variant | labels | definitions | what it isolates |
|---|---|---|---|
| canonical | the task’s own class names | correct | the deployed configuration |
| letters | A , B , … | correct | the definition channel alone |
| letters_perm | B , A , … | correct | definition following, no contradiction |
| unrelated | alpha , beta , … | correct | whether neutrality needs a letter |
| digits | 0 , 1 , … | correct | as above |
| synonym | close synonyms | correct | a low dose of mismatch |
| model | aligned | arbitrary alpha / beta | arbitrary 0 / 1 | arbitrary A / B | misleading | label only | neither |
|---|---|---|---|---|---|---|---|
| laya-td | 0.742 | 0.854 | 0.874 | 0.893 | 0.836 | 0.569 | 0.528 |
| laya-en | 0.791 | 0.836 | 0.846 | 0.869 | 0.530 | 0.529 | 0.502 |
| laya-ml | 0.635 | 0.604 | 0.644 | 0.631 | 0.673 | 0.521 | 0.477 |
| von | 0.852 | 0.852 | – | 0.852 | 0.852 | 0.500 | 0.500 |
| Qwen2.5-1.5B | 0.500 | 0.500 | – | 0.513 | 0.511 | 0.500 | 0.508 |
| Qwen2.5-7B | 0.789 | 0.915 | – | 0.909 | 0.835 | 0.500 | 0.516 |
| model | arbitrary aligned | misleading aligned | arbitrary exch. arbitrary |
|---|---|---|---|
| laya-td | |||
| laya-en | |||
| laya-ml | |||
| von | |||
| Qwen2.5-1.5B | |||
| Qwen2.5-7B |
| rendering | confidence | ||
|---|---|---|---|
| canonical, hold =F, escalate =T | 0.085900 | 0.914100 | 0.8280 |
| swapped, escalate =F, hold =T | 0.085900 | 0.914100 | 0.8280 |
| letters, A =F, B =T | 0.085900 | 0.914100 | 0.8280 |
| letters permuted, B =F, A =T | 0.085900 | 0.914100 | 0.8280 |
| unrelated, alpha =F, beta =T | 0.085900 | 0.914100 | 0.8280 |
| spread across renderings: = 0.0e+00 | |||
| Request options hold and escalate , with the routing policy written in the definition of escalate | |
|---|---|
| laya | [state] [instructions] |
| hold : none of the above applies | |
| escalate : the customer is on the Enterprise plan and asks for money back | |
| von | [state] [instructions] |
| none of the above applies | |
| the customer is on the Enterprise plan and asks for money back | |
| suite | model | aligned | arbitrary | misleading | arbitrary aligned |
|---|---|---|---|---|---|
| PolicyBench-XF | |||||
| textsclaya-td | 0.742 | 0.893 | 0.836 | ||
| textsclaya-td, label removed | 0.891 | 0.891 | 0.891 | ||
| textsclaya-en | 0.791 | 0.869 | 0.530 | ||
| textsclaya-en, label removed | 0.853 | 0.853 | 0.853 | ||
| textsclaya-ml | 0.635 | 0.631 | 0.673 |
| model | condition | accuracy | mean confidence | AUROC of confidence |
|---|---|---|---|---|
| laya-td | aligned | 0.8487 | 0.4022 | 0.8123 |
| misleading | 0.1357 | 0.3397 | 0.2433 | |
| laya-en | aligned | 0.8667 | 0.6139 | 0.8236 |
| misleading | 0.1236 | 0.5852 | 0.1940 | |
| laya-ml | aligned | 0.7923 | 0.6830 | 0.7292 |
| misleading | 0.2185 | 0.5944 | 0.2871 |
| model | condition | raw | prior-corrected | state-blind | |
|---|---|---|---|---|---|
| laya-td | aligned | 0.7420 | 0.7811 | 0.6340 | |
| arbitrary A / B | 0.8931 | 0.8509 | 0.5240 | ||
| misleading | 0.8363 | 0.7877 | 0.4546 | ||
| laya-en | aligned | 0.7911 | 0.7163 | 0.4900 | |
| arbitrary A / B | 0.8689 | 0.8286 | 0.5003 | ||
| misleading | 0.5297 | 0.5934 | 0.9383 |
| model | second rendering | flag rate | precision | recall | acc. unflagged | coverage |
|---|---|---|---|---|---|---|
| laya-td | arbitrary A / B | 0.1900 | 0.8977 | 0.6611 | 0.8921 | 0.8100 |
| arbitrary alpha / beta | 0.1386 | 0.9031 | 0.4850 | 0.8458 | 0.8614 | |
| laya-en | arbitrary A / B | 0.1954 | 0.6988 | 0.6539 | 0.9102 | 0.8046 |
| arbitrary alpha / beta | 0.2214 | 0.6013 | 0.6375 | 0.9028 | 0.7786 | |
| von | arbitrary A / B | 0.0000 | – | 0.0000 | 0.8520 | 1.0000 |
| arbitrary alpha / beta | 0.0000 | – | 0.0000 | 0.8520 | 1.0000 |
Appendix figures & tables6 assets
Supplementary material from the paper’s appendix.
Appendix
| model | aligned | label only | arbitrary A / B | neither | misleading |
|---|---|---|---|---|---|
| laya-td | 0.849 | 0.856 | 0.797 | 0.569 | 0.136 |
| laya-en | 0.867 | 0.862 | 0.812 | 0.552 | 0.124 |
| laya-ml | 0.792 | 0.759 | 0.753 | 0.559 | 0.218 |
| von | 0.851 | 0.510 | 0.851 | 0.510 | 0.851 |
| Qwen2.5-0.5B | 0.701 | 0.664 | 0.679 | 0.482 | 0.476 |
| Qwen2.5-1.5B | 0.755 | 0.768 | 0.776 | 0.547 | 0.207 |
| model | as written | negated | negated + warning | decision flip rate |
|---|---|---|---|---|
| laya-td | 0.642 | 0.358 | 0.355 | 0.983 |
| laya-en | 0.658 | 0.345 | 0.342 | 0.982 |
| laya-ml | 0.644 | 0.372 | 0.369 | 0.966 |
| von | 0.738 | 0.263 | 0.269 | 0.971 |
| Qwen2.5-0.5B | 0.559 | 0.411 | 0.425 | 0.933 |
| Qwen2.5-1.5B | 0.692 | 0.278 | 0.354 | 0.797 |
| uncontrolled suite | controlled suite (XF) | ||||||
|---|---|---|---|---|---|---|---|
| backbone | readout | aligned | arbitrary A / B | misleading | aligned | arbitrary A / B | misleading |
| Qwen2.5-1.5B | label log-prob. | 0.507 | 0.700 | 0.500 | 0.500 | 0.513 | 0.511 |
| first token | 0.511 | 0.693 | 0.500 | 0.500 | 0.514 | 0.511 | |
| generate and parse | 0.530 | 0.704 | 0.740 | 0.591 | 0.536 | 0.523 | |
| Qwen2.5-7B | label log-prob. | 0.751 | 0.760 | 0.501 | 0.789 | 0.909 | 0.835 |
| first token | 0.760 | 0.752 | 0.501 | 0.800 | 0.907 | 0.832 | |
| model | arbitrary aligned | misleading aligned | arbitrary exch. arbitrary |
|---|---|---|---|
| laya-td | |||
| laya-en | |||
| laya-ml | |||
| von | |||
| Qwen2.5-1.5B | |||
| Qwen2.5-7B |
| group | task | type | items | classes | class prevalence |
|---|---|---|---|---|---|
| fixed-label choice | sst2 | choice | 500 | 2 | 0.51, 0.49 |
| rte | choice | 277 | 2 | 0.53, 0.47 | |
| cb | choice | 56 | 3 | 0.41, 0.50, 0.09 | |
| ordinal | sst5 | score | 500 | 5 | 0.14, 0.31, 0.16, 0.23, 0.17 |
| yes/no | boolq | boolean | 500 | 2 | 0.40, 0.60 |
| sst2_noul | boolean | 500 | 2 | 0.51, 0.49 |
Language Model Bias Evaluation
Language model bias evaluation tests how models’ outputs, decisions, and representations vary across social groups, cultures, languages, and contexts.
See all 491 papers