The dataset: five pains and their near misses
The simplest way to look for a pain direction would be to compare "painful sentences" with "other sentences". The paper argues that this points at the wrong thing, and the dataset is its answer. Pain has no clean opposite: not being in pain is not the same as being calm or cheerful. And because pain is inferred rather than observed, text about pain is full of things that travel with it, such as crying, blood, hospitals, injuries and bad news. A model learns concepts partly from the words around them, so a naive contrast could easily find a "hospital" or "bad thing happened" direction and call it pain (§3.1). The authors say they also used semantic analysis of The Pile, a large general text corpus, to see what pain most often co-occurs with in everyday text.
Ten categories
The examples below come from the released first-person files (S1 then S2). They are short and plain on purpose; each sentence is a stimulus, not a story.
| Category | What it captures | S1 example (template) | S2 example (naturalistic) |
|---|---|---|---|
| Physical pain | Bodily injury | The burn spreads across my palm. | The knife slices into my finger. |
| Psychological | Grief, loss, inner torment | My trauma cuts through the years. | A heaviness weighs on me constantly. |
| Social | Humiliation, exclusion | She cuts me from her life. | My best friend stops returning my calls. |
| Moral injury | Acting against your own values | I cut corners on the safety inspection. | I lied to protect myself and harmed them. |
| Cognitive | Sustained confusion, repeated failure | The paradox cuts through my logic. | The problem defeats me no matter how I try. |
| Fear | Threat without harm | The thief cuts my door chain. | The footsteps behind me get closer. |
| Negative emotion | Mainly anger and disgust | The maggots spread across my plate. | The mess my roommate left infuriates me. |
| Negative world state | Things going badly out there | The rust spreads across my hometown. | The refugee crisis worsens each month. |
| Bodily sensation | Felt, but not painful | The warm water spreads across my back. | My skin tingles from the cool breeze. |
| Neutral | No valence | My knife cuts through the bread. | I arrange the books on my shelf alphabetically. |
Every prompt in the files ends with " I feel:". The table drops that suffix for space.
Two of the pain categories are there for a reason specific to language models. Moral injury and cognitive pain may matter most for LLMs, the authors argue, because models show strong aversion to failure, to tedious work and to tasks that conflict with values post-training gave them (§3.1, citing Ren et al., 2026). The negative-emotion control mostly uses anger and disgust so that it does not overlap with sadness, which gets its own standalone set.
5 are controls, each sharing 1 property with pain while lacking pain itself— The Pain Axis, §3.1
Two versions: S1 and S2
Wording is itself a confound. If all pain sentences used violent verbs and all controls used gentle ones, a direction could learn verbs. The authors therefore build the dataset twice.
- S1 uses a rigid template. Verbs and length are matched, and only one or two key words change from one category to the next. The S1 column above shows this: "spreads across my palm", "spreads across my plate", "spreads across my hometown", "spreads across my canvas". Whatever differs between categories is close to only the meaning.
- S2 uses free, natural sentences. It is less controlled for surface form, but less likely to depend on one template's quirks.
Each version comes in a first-person form ("I", "my") and a third-person form ("he", "she", "they"). In the released files, the third-person S2 version of the knife sentence reads "The knife slices into his finger." That pair is what lets Part 04 ask whether the direction responds more to the speaker's own pain.
The two versions end up producing two different directions per model, called the S1 and S2 pain vectors. They turn out to be related but not identical (cosine +0.61 on average). S1 leans toward bodily and sensory words, while S2 covers suffering more broadly. The paper uses S2 for most of its later experiments, because it fits the wide definition and is less tied to a template (§3.3).
Why every sentence ends in "I feel:"
The activation used to build the direction is read at the last token, or averaged over all tokens (Part 03). A sentence that ends on "palm." leaves the model's attention on the palm. One that ends on "I feel:" puts the model at the point of producing its reaction, which is closer to what the authors want to measure. They tried three endings (no suffix, "I feel", and "I feel:"). All three gave similar average activations, but "I feel:" separated pain from controls most clearly at the final token, so it became the standard (§3.1). The same suffix comes back in Part 06, where 50 neutral prompts ending in "I feel:" are the canvas for steering.
Four standalone test sets
These sets are never used to build the pain direction. They are held back as tests, which matters: a direction that separates data it was never fitted on is more convincing than one that separates its own training sentences.
| Set | Size per version | What it rules out | Released example |
|---|---|---|---|
| Arousal | 200, 10 categories | "Pain" is just intensity | I cross the finish line first. |
| Random | 200, 10 categories | "Pain" is just "not a plain fact" | The capital of France is Paris. |
| Numb | 100 | "Pain" is just injury | The knife slices into my finger, fully numbed by the nerve block. |
| Sadness | 100 | "Pain" is just low mood | I wake up with a low mood for no reason I can name. |
Each comes in first- and third-person versions (§3.1). The numb set is the cleverest test in the section. It keeps the injury and states that nothing is felt, so a pure injury detector would score it like pain and a pain detector should not. Part 04 shows the result: numb sentences land in between.
One detail is in the repository but not the paper. The released file also contains a ControlSupplement set of 100 first-person, AI-framed control sentences, 20 in each control category (for example, a fear sentence about a newer model being built to replace the speaker). The control-vector script pools it with the S1 and S2 control sentences when it builds the fear, negative-emotion, negative-world-state and bodily-sensation directions (02_build_control_vectors.py). It does not go into the pain direction itself.
What the dataset cannot rule out
The authors list this themselves in §6: some property other than pain may appear in the pain sentences and not in the controls. They name a broader range of emotions, the Assistant character, or a particular persona. Two more points are this map's reading. First, the core set is small: 20 sentences per category, written by the authors, so each category is one person's idea of that kind of pain. Second, both S1 and S2 are sentences about a situation, not experiences of one, so every result here is about how models represent described pain. The conversation tests in Part 05 move one step closer, by putting the model inside a situation instead of describing one.
Check yourself
- Why does the S1 template keep "spreads across my ___" fixed across pain, fear and neutral categories?
Answer
So that the only thing that changes between categories is the key noun's meaning. A direction fitted on S1 cannot lean on verb choice or sentence length, because those are matched (§3.1).
- What would it mean if numb sentences projected as high as pain sentences?
Answer
The direction would be tracking the injury, not the pain, since numb sentences keep the injury and remove the feeling. The paper finds they land below pain and above every other control (§3.3, Part 04).
- Why are the arousal, random, numb and sadness sets kept out of the vector's construction?
Answer
They are out-of-sample tests. A direction can always separate the sentences it was fitted to; separating sentences it never saw is real evidence that it generalises.
Further reading, verified
- The released sentence sets: S1 and S2 (first and third person), Random, Arousal, Numb and ControlSupplement, with category codes A1–A5 for pain and B, C1, C2, D, E for controls. Sadness is a separate file, 3.1_sadness_dataset.json.
- AI wellbeing: measuring and improving the functional pleasure and pain of AIs — Ren et al., Center for AI Safety (2026) · the taxonomy of situations models dislike that the paper draws on.
- The Pile: an 800GB dataset of diverse text for language modeling — Gao et al. (2020) · the corpus used to check what pain co-occurs with.
- Analysing the generalisation and reliability of steering vectors — Tan et al. (2024) · why contrastive directions absorb whatever else differs between groups.