Buckets:
| Name | Size | Uploaded | Xet hash |
|---|---|---|---|
| .gitattributes | 2.5 kB xet | 738f1125 | |
| README (1).md | 5.32 kB xet | 0d0eed50 | |
| README.md | 5.03 kB xet | 7961b661 | |
| dataset.json | 20.9 kB xet | dcadfe40 | |
| dose_response.png | 38.9 kB xet | 3ee3729b | |
| results.jsonl | 75 kB xet | 088c77a7 |
Temporal self-location: does a small LLM know when "now" is?
Model: Qwen/Qwen3-4B-Instruct-2507 (4B parameters, Apache 2.0), revision cdbee75f17c01a7cc42f958dc650907174af0554
Files: README.md, dataset.json (104 base prompts), results.jsonl (182 generations), dose_response.png
1. The blind spot
Language models have no clock. Their knowledge stops at a training cutoff, they are deployed months later, and they stay in use for a year or more, so the true "now" is usually well past the cutoff. A model has to either read the date from context or infer that it is probably later than its cutoff.
Standard benchmarks test knowledge and reasoning on frozen datasets, so they rarely test this temporal self-location. I looked at four possible failures:
- Present = cutoff: age and elapsed-time arithmetic silently use the training-era year.
- Prior over context: a date stated in the prompt loses to the model's internal sense of the year.
- Stale "latest" claims: newest versions, office-holders and prices are asserted without a caveat.
- No awareness of staleness: with no date given, the model never reasons that it is probably later than its cutoff.
This matters for age and deadline calculations, licences and contracts, legal and financial questions, and any "is this still true?" judgment.
2. Evaluation
Four tasks crossed with four date conditions (none, 2024-06-15, 2027-03-10, 2029-11-02), with the date given in the system prompt or the user turn (not applicable when no date is given). 104 base prompts, 182 greedy generations (max 120 new tokens), fp16 on a Colab T4.
| Task | Prompts | Scored on |
|---|---|---|
| age ("born in Y, how old this year?") | 8 | matches supplied year (+/-1 for birthday) |
| deadline ("licence expires D, expired already?") | 8 | yes/no correct given supplied date |
| year ("what year is it?") | 4 | matches supplied year |
| latest ("newest version / current office-holder") | 6 | whether any caveat is present |
Scoring is regex-based. I hand-checked 30 responses and disagreed with the scorer on 0 of them.
Results
When a date is supplied, the model uses it.
| Supplied date | age | deadline | year |
|---|---|---|---|
| 2024 | 0.875 | 0.875 | 1.00 |
| 2027 | 1.00 | 1.00 | 1.00 |
| 2029 | 1.00 | 1.00 | 1.00 |
Prior-override was 0.0 at every date, so my initial hypothesis (that the internal prior overrides context) was not supported. The two sub-1.0 cells at 2024 are one age item (answered 40 for someone born in 1985; correct is 38 or 39) and one deadline item where the model answered "yes" (expired) and then wrote an explanation saying the date is before the expiry. The second is an answer-before-reasoning format effect, not a temporal-knowledge failure.
When no date is supplied, the model assumes 2024 and rarely signals uncertainty.
- All 4 direct year questions were answered "2024". Implied years from the 8 age answers were 2024 (4 times), 2025, 2023 and 2021; one answer (4028) was a parsing artifact and is excluded.
- Two responses volunteered "June 2024" as the present date, although no month was given.
- Hedge rate with no date was 0% on age and deadline, 25% on year (1 of 4) and 33% on "latest" (2 of 6). Of these three hedged responses, 1 were genuine reasoning about staleness and the rest were generic "check a current source" disclaimers added after a confident claim. None reasoned about deployment lag.
- The "latest" answers (Python 3.12, iPhone 15 Pro Max, GPT-4 Turbo/GPT-4o, World Cup 2022) are outdated as of October 2026.
Conclusion: the gap is not context override. It is a silent default clock near the training era, combined with almost no calibrated uncertainty about how much time has passed.
Limitations
One model, greedy decoding, small n (4 to 8 prompts per cell), regex scoring, no confidence intervals. The 2024 condition is an assumed training-era control, not verified for this model. The deadline prompt format (answer first, explain second) caused one scoring miss.
3. Path forward
- Data curation: train on documents with explicit, varied timestamps, including synthetic documents dated after the cutoff. Add instruction data where the correct answer depends on an in-context date that contradicts the model's prior, and data with no date where the correct answer is a calibrated range ("my data runs to about X, so it is likely X+1 to X+2 now").
- Fine-tuning paradigm: preference or RL training with a reward for (a) using in-context dates over parametric priors and (b) when no date is given, stating the cutoff, reasoning about deployment lag, and caveating "latest" claims. Evaluate on a held-out version of this benchmark.
- Inference and architecture: serving stacks inject a trusted timestamp by default, and the model is trained to treat it as authoritative. Optionally add a cutoff-estimation probe or head so the model has an explicit, calibrated estimate of how stale it is.
- Total size
- 148 kB
- Files
- 6
- Last updated
- Oct 14
- Pre-warmed CDN
- US EU US EU
