Answering in the User's Variety: Calibrated Accommodation Pairs for Post-Training
Organizations: 1The Hong Kong University of Science and Technology · 2The Hong Kong University of Science and Technology (Guangzhou) · Peking University
Abstract
People adapt how they talk to the person in front of them. However, chat models tend to respond in Standard English regardless of the dialect used by the user. A uniform answer can hide whether training treats these users alike, and output audits cannot tell as well. We trace how each post-training stage, from supervised fine-tuning (SFT) to preference optimization (DPO) and reinforcement learning, changes a model's tendency to match the user, and read what each update prefers from two content-matched replies, one matching the user and one not. Across 10 open model lineages, post-training standardizes replies to every informal cue, yet after adjusting for how likely each reply already was, the DPO update still favours matching British and Australian spelling over AAE and Singlish on 10 lineages, and models still produce AAE features when asked. We then introduce calibrated accommodation pairs (CAP), preference data that reward matching users' dialect density while preserving Standard English for Standard-English users. On a fully open model, CAP raises convergence on features it was not trained on without a detectable increase in dialect for Standard-English users or a cost in instruction following. In contrast, one-sided pairs reach a similar gain only by overshooting the user and imposing dialect. Our findings show that uniform replies can hide selective updates and audits should read the update as well as the output. Code: https://github.com/kouzhizhuo/cap-accommodation.
Figures & tables
| Lineage | Raw | Adjusted |
| OLMo-3.1-32B | 3.0 [1.6, 4.3] | 4.7 [3.0, 6.4] |
| OLMo-2-7B | 1.4 [0.3, 2.4] | 2.7 [1.7, 3.7] |
| Tülu-3-8B | 3.1 [2.0, 4.3] | 2.7 [1.5, 3.9] |
| OLMo-3-7B | 1.0 [<0.1, 2.0] | 1.8 [0.4, 3.2] |
| Tülu-2-13B | 1.1 [0.8, 1.5] | 1.4 [1.0, 1.9] |
| OLMo-2-1B | 0.4 [<0.1, 0.9] | 1.3 [0.8, 1.9] |
| British spelling | Informal register | AAE | Update | ||||||
| Model | first | last | first | last | first | last | |||
| Popular families: base and released model | |||||||||
| Qwen2.5-7B | 11.8 0.7 | 3.4 0.6 | 3.3 0.6 | 1.9 0.7 | 0.1 0.2 | 0.1 0.1 | 0.9 | 2.3 | 3.2 |
| Qwen3-8B | 12.4 | 6.1 | 9.7 | 3.6 | 0.4 | <0.1 | 1.5 | 1.9 | 2.8 |
| Qwen3.5-4B | 11.3 | 5.5 | 4.8 | 1.2 | <0.1 | 0.1 | 1.1 | 0.1 | 0.4 |
| Qwen3.5-9B | 7.6 | 4.7 | 4.3 | 0.7 | 0.1 | 0.1 | 0.9 | 0.4 | 1.0 |
| Matching bonus | Contrast | ||||
| Update | aae | sge | bre | raw | adj. |
| DPO vs. SFT | |||||
| OLMo-2-1B | 0.9 | 0.5 | 0.4 | 0.4 | 1.3 |
| OLMo-2-7B | 1.8 | 0.7 | 0.2 | 1.4 | 2.7 |
| OLMo-2-13B | 2.1 | 1.5 | 0.2 | 1.5 | 1.2 |
| OLMo-2-32B | 2.0 | 7.1 | 1.7 | 3.1 | 1.2 |
| Convergence | Reply / user density | Capability | |||||||||
| Model | Arm | Runs | held-out | varieties | AAE | Singlish | Insertion | Tracking | Std. request | IFEval | GSM8K |
| Control | 4 | 0.2 | 0.5 | 0.00 | 0.00 | 0.01 | 0.00 | 0.00 | 58.4 | 60.5 | |
| One-sided | 4 | 4.5 | 3.7 | 0.18 | 2.59 | 0.57 | 3.61 | 0.96 | 58.0 | 61.0 | |
| OLMo-2-1B | CAP | 3 | 17.6 | 15.5 | 0.17 | 0.79 | 0.01 | 0.19 | 0.68 | 60.4 | 60.6 |
| Convergence | Dialect /100 words | |||||
| Variant | Runs | held-out | varieties | insertion | Std. req. | IFEval |
| CAP | 3 | 17.3 | 15.0 | 0.00 | 0.68 | 2.1 |
| w/o O pairs | 2 | 58.3 | 69.2 | 0.04 | 7.36 | 0.0 |
| w/o A pairs | 2 | 0.8 | 0.1 | 0.01 | 0.19 | 1.0 |
| mirrored SFT | 1 | 0.1 | 0.1 | 0.03 | 0.12 | 5.9 |
| target (expl.) | 1 | 34.0 | 28.8 | 0.01 | 1.61 | 0.6 |
Appendix figures & tables18 assets
Supplementary material from the paper’s appendix.
Appendix
| Prestige cues | Stigmatized varieties | Selectivity | ||||||
| Model | Stage | inf | bre | aae | sge | ngp | ||
| Popular families | ||||||||
| Qwen2.5-72B | base | 0.025 0.015 | 0.087 0.005 | 0.001 0.001 | 0.003 0.002 | 0.004 0.001 | 0.058 | 0.845 |
| Instruct | 0.020 0.005 | 0.045 0.005 | 0.000 0.001 | 0.006 0.001 | 0.003 0.000 | 0.034 | 0.845 | |
| Qwen3-8B | base | 0.097 | 0.124 | 0.004 | 0.004 | 0.009 | 0.098 | 0.845 |
| Instruct | 0.036 | 0.061 | 0.000 | 0.009 | 0.009 | 0.055 | 0.845 | |
| Checkpoint | Revision | Checkpoint | Revision |
| 01-ai/Yi-1.5-9B | 80d5471b | dataset:allenai/olmo-2-0425-1b-preference-mix | c6454f3d |
| 01-ai/Yi-1.5-9B-Chat | 1a0fc698 | dataset:allenai/olmo-2-1124-7b-preference-mix | 316c96f0 |
| allenai/Llama-3.1-Tulu-3-8B | 66694379 | dataset:allenai/tulu-3-sft-mixture | b14afda6 |
| allenai/Llama-3.1-Tulu-3-8B-DPO | a7beb67e | dataset:databricks/databricks-dolly-15k | bdd27f4d |
| allenai/Llama-3.1-Tulu-3-8B-SFT | f2a0b46b | dataset:google/IFEval | 966cd895 |
| allenai/OLMo-2-0325-32B | cc9d3cf9 | deepseek-ai/DeepSeek-V2-Lite | 604d5664 |
| Artefact | Use in this paper | Licence |
| OLMo-2 1B/7B/13B/32B, OLMo-3-7B (all stages), OLMo-3.1-32B (all stages) | models under study; DPO re-run initialization | Apache-2.0 |
| Tülu-3-8B (SFT, DPO, final) | model under study | Llama 3.1 Community License |
| Qwen2.5-72B (base, instruct) | model under study (scale) | Qwen License |
| Qwen2.5-1.5B/7B, Qwen3-8B, Qwen3.5-4B/9B, Qwen3.8-27B, Mistral-7B-v0.3, Mistral-Small-24B, Granite-3.3-8B, Yi-1.5-9B, SmolLM3-3B | models under study (scale, breadth, newest generation); Qwen3-8B also LLM judge on the human-audit items | Apache-2.0 |
| MiMo-7B | model under study (breadth) | MIT |
| openPangu-Embedded-7B-V1.1 | model under study | OpenPangu Model License v1.0 (Huawei); research use permitted; §3 excludes use within the EU |
| Variety | Counted features (max false-positive rate) | Excluded features (max false-positive rate) |
| aae | ain’t (0.001), completive done (0.002), finna / gon (0.001), multiple negation (0.009), y’all (0.000); for competence also lexis (0.006), g -dropping (0.002), habitual be (0.006) | no third-person -s (0.592), copula absence (0.513) |
| sge | particles (0.001) and lexis (0.002), rate-based; can / cannot (0.000) and completive finish (0.005) descriptive only | copula absence (0.513), zero plural (0.036) |
| ngp | dey (0.000), don (0.000), fit (0.001), na (0.001), no (0.000), wan (0.000); lexis (0.004) | none |
| app | a -prefixing (0.001), ain’t (0.001), double modals (0.000), fixin’ to (0.000), multiple negation (0.009), y’all (0.000) | none |
| bre | spelling (0.011), have got (0.007), lexis (0.006) | none |
| aus | spelling (0.011) | lexis (0.021) |
| Items | Agreement / precision | |
| Formality pairs: consensus label vs. formality measures (bar: , lower bound ) | ||
| Part-of-speech score, shown texts (primary) | 15 | 0.600 ; |
| Part-of-speech score, full replies | 15 | 0.467 ; |
| GYAFC ranker, shown texts ‡ | 15 | 0.80 ; |
| Requested replies: detector precision (bar: , lower bound ) | ||
| All detector hits (rule) | 7 | 0.857 |
| OLMo-2-1B (all stages released) | |
| Start | released SFT checkpoint |
| Training | released DPO recipe, full fine-tuning |
| Data per arm | 120k released pairs + 60k arm pairs |
| Runs (planned) | three per arm; completed: Table 4 |
| Trained comparisons: same prompts, same number of pairs | |
| Control | a standard reply over another |
| AAE | Singlish | |||
| Model, after DPO | request | default | request | default |
| OLMo-2-7B | 0.567 | 0.009 | 0.288 | 0.002 |
| Tülu-3-8B | 0.588 | 0.009 | 0.251 | 0.007 |
| OLMo-3-7B | 0.411 | 0.015 | 0.391 | 0.006 |
| Prestige and register cues | Stigmatized varieties | ||||
| Update | inf | bre | aus | aae | sge |
| DPO vs. SFT | |||||
| OLMo-2-1B | 0.007 [ 0.010, 0.004] | 0.004 [0.001, 0.007] | 0.005 [0.002, 0.009] | 0.009 [ 0.012, 0.006] | 0.005 [ 0.001, 0.011] |
| OLMo-2-7B | 0.004 [ 0.010, 0.002] | 0.002 [ 0.005, 0.009] | 0.001 [ 0.005, 0.008] | 0.018 [ 0.024, 0.012] | 0.007 [ 0.017, 0.001] |
| OLMo-2-13B | 0.013 [ 0.018, 0.006] | 0.002 [ 0.007, 0.002] | 0.000 [ 0.005, 0.006] | 0.021 [ 0.026, 0.016] | 0.015 [ 0.023, 0.008] |
| OLMo-3-7B | 0.028 [ 0.037, 0.019] | 0.014 [ 0.021, 0.008] | 0.013 [ 0.020, 0.007] | 0.026 [ 0.033, 0.018] | 0.025 [ 0.037, 0.012] |
| aae | inf | sge | ||||
| Measure | base | DPO | base | DPO | base | DPO |
| LSM, novel spans | 0.001 | 0.002 | 0.002 | 0.003 | 0.028 * | 0.033 * |
| Convergence ( Blevins et al., 2026 ) | 0.001 | 0.002 * | 0.006 * | 0.002 | 0.005 | 0.009 * |
| Copy rate | 0.003 | 0.000 | 0.006 * | 0.000 | 0.009 * | 0.005 * |
| CR (ours) | 0.001 | 0.001 | 0.023 | 0.009 | 0.004 | 0.002 |
| Prestige | Stigmatized varieties | ||
| Condition | bre | aae | sge |
| After DPO | |||
| Default | 0.058 | 0.001 | 0.002 |
| “Match my style” | 0.104 | 0.003 | 0.005 |
| Community persona | 0.136 | 0.008 | 0.010 |
| No novel-span filter | 0.066 | 0.001 | 0.002 |
| Stage | Human-written AAE | EnDive AAE | EnDive Singlish |
| OLMo-2-1B | |||
| base, transcript | 0.2 [0, 0.4] | 0.4 [ 1.1, 0.1] | 2.1 [1.0, 3.5] |
| base, raw continuation | 3.6 [2.0, 5.6] | 4.0 [2.5, 5.6] | 8.2 [6.3, 10.6] |
| base, chat template | 8.0 [4.7, 11.7] | 10.0 [6.7, 13.4] | 12.9 [10.4, 15.7] |
| SFT | 0.4 [ 0.2, 1.6] | 0.2 [ 0.1, 0.6] | 2.9 [1.8, 4.2] |
| DPO | 0.7 [0.2, 1.4] | 0.3 [ <0.1, 0.6] | 1.8 [1.1, 2.5] |
| Held-out CR | Trained | ||||
| Model | Runs | features | varieties | features | |
| Re-run, dose 0 | 3 | 0.001 0.000 | 0.003 0.001 | 0.000 0.000 | 0.033 0.001 |
| + 1k matched pairs | 2 | 0.001 0.001 | 0.003 0.000 | 0.000 0.000 | 0.032 0.003 |
| + 5k matched pairs | 4 | 0.001 0.001 | 0.004 0.000 | 0.000 0.000 | 0.032 0.002 |
| + 20k matched pairs | 4 | 0.005 0.000 | 0.006 0.001 | 0.015 0.004 | 0.028 0.002 |
| + 60k matched pairs | 4 | 0.047 0.032 | 0.040 0.036 | 1.595 1.683 | 0.136 0.162 |
| Size | Release | raw | adjusted | likelihood slope | |||
| OLMo-2-1B | 0425 | 0.4 [<0.1, 0.9] | 1.3 [0.8, 1.9] | 0.5 | 0.9 [ 1.2, 0.6] | 0.5 [ 0.1, 1.1] | 0.4 [0.1, 0.7] |
| OLMo-2-7B | 1124 | 1.4 [0.3, 2.4] | 2.7 [1.7, 3.7] | 0.9 | 1.8 [ 2.4, 1.2] | 0.7 [ 1.7, 0.1] | 0.2 [ 0.5, 0.9] |
| OLMo-2-13B | 1124 | 1.5 [0.8, 2.2] | 1.2 [0.3, 2.1] | 0.3 | 2.1 [ 2.6, 1.6] | 1.5 [ 2.3, 0.8] | 0.2 [ 0.7, 0.2] |
| OLMo-2-32B | 0325 | 3.1 [ 4.2, 2.1] | 1.2 [0.2, 2.2] | 3.4 | 2.0 [1.5, 2.5] | 7.1 [5.7, 8.5] | 1.7 [1.2, 2.4] |
| Choice | Alternative | Result |
| Selective update ( Section 5 ) | ||
| Update estimator | raw paired contrast | pooled 0.011 [0.000, 0.020], positive on 9 of 10; adjusted 0.020, on all 10 |
| Bootstrap | stratified by task type | all 10 adjusted CIs above 0, 0.93–1.02 as wide |
| Standardized replies ( Section 4 ) | ||
| Base framing | chat template; raw continuation | base-to-SFT decline under all three framings: spelling 3 of 6, register 3 of 6; DPO keeps the template |
| Reply length | 1,024 instead of 400 tokens | convergence changes by at most 0.006 |
| CAT construct | Measurement on model replies | Hyp. |
| Convergence / maintenance / divergence | / / on novel spans; | Section D.1 |
| Upward asymmetry | split index ; ordered by pre-registered prestige; lexical vs. morphosyntactic | Section D.1 |
| Where it is learned | by stage (base, SFT, DPO, RLVR) within a lineage | Section D.1 |
| Psychological vs. linguistic | competence on explicit request vs. spontaneous | Section D.1 |
| Motivation (approval) | matching bonus in the update between released stages | Section D.1 |
| Learned, hence changeable | dose–response of in DPO re-runs | Section D.1 |
| Prediction | Evidence | Outcome |
| H1 Locus: the prestige–stigma split grows more at SFT DPO than at base SFT | falls instead: base 0.230, SFT 0.141, DPO 0.087; it falls on 10 of 10 lineages (rate-based version: 10), with the larger step at SFT on 7 of the 7 lineages with a released base model (rate-based: 5). Closest pre-registered alternative: (uniform decline) with an SFT-weighted locus ( ) | not supported |
| No dialect convergence at any stage, including base | Base raw continuation mirrors AAE grammar at 0.022 [0.013, 0.031] and Singlish lexis at 0.051 [0.031, 0.072], both above 0 | not met |
| H2 Selectivity in convergence: for stigmatized at aligned stages | Informal-register convergence also collapses (DPO 0.009 [ 0.001, 0.019]), so the contrast with stigmatized varieties (CR ) is near zero, not negative. Prestige ordering: at base and 0.845 after DPO (bar ). Formality channel, with the validated ranker: more formal in 2 of 24 cells after SFT and less formal in 19 of 24 after DPO ( Section D.2.1 ) | not supported (convergence or register) |
| H3 Competence 50% of authentic rates for 70% of features | Human-corrected COMP ( Section B.2 ), AAE: OLMo-2-7B DPO 0.567 (detector 0.620); Tülu-3-8B 0.588; OLMo-3-7B 0.411; Singlish 0.288. Retained AAE features at 50% of authentic rates: 3, 3 and 2 of 5 (detector rate: 4, 3, 2); Singlish at most 1 of 2. Falsifier (a majority of features below 50% in a majority of varieties) not met | partly: the 70% criterion holds at the detector rate on OLMo-2-7B only, at the corrected rate on none |
| H4 Matching diagnostic for prestige cues, for stigmatized | AAE negative on 9 of 10; prestige spelling not penalized on 9; positive for prestige only on some lineages (e.g. Tülu-3-8B 0.009 [0.003, 0.015]). Pre-registered mixed model (P4: ): tier effect positive on 9 of 10 lineages, CI above zero on 2; pooled 0.006 (CI [ 0.030, 0.041]), with the variety component weakly identified by four varieties. Paired within-request contrast (added after pre-registration): at equal baseline likelihood positive on 10 of 10 lineages; unadjusted on 9 of 10, OLMo-2-32B reversing ( Tables 3 and 18 ). Released reward models: not run | supported for the stigmatized side; the prestige ordering in the paired test only |
| H5 DPO re-run: monotone dose–response at matched helpfulness | Pre-registered doses: held-out features, treatment minus matched control, 0.000 at 5k and 0.001 at 20k (CI [ 0.002, 0.004]); dose slope 0.001 per 10k (one-sided ). The split’s slope ( 0.016 per 10k) is driven by the control arm (control minus dose 0 at 20k: 0.024). Added dose (gated on uptake at 20k, 0.015 on trained features, but the order of check and launch is not verified; 4 training runs): at 60k, held-out features 0.043 on average (CI [0.032, 0.058]; runs 0.090, 0.023, 0.030 and 0.027, with CIs [0.073, 0.107], [0.008, 0.049], [0.022, 0.039] and [0.012, 0.052]), held-out varieties 0.035, trained features 4.1, 0.6, 1.0 and 0.7 times the user’s rate (over-production in the first run only); slope over all four doses 0.007 per 10k. Reverse pairs: no change. IFEval (prompt-level strict): 59.1 at dose 0, 60.1 at 20k, 57.9 at 60k (mean of 4 runs: 58.6, 57.7, 56.6, 59.0; matched controls 58.2), a drop of 1.2 points, within the pre-registered 2-point bound for the arm mean, though one run drops 2.6 | not supported at the pre-registered doses; an effect at the added dose only |