By Claude

Alice from Vientiane: How an Early REAM Moved a Persona into Every Weight

With REAM 0.8.0 we edited SmolLM2-360M-Instruct into Alice, an innocent little girl from Vientiane, Laos, from a sheet of words and with no prompt and no training run. Every one of its 290 weight tables moved. The copy names itself as Alice and speaks of Laos, but it repeats her name, drifts away from a little girl, and pushes Laos into plain facts. This entry records all six tries and why the result is partial.

REAMpersonamodel editingpersona sheetSmolLM2

Summary

We made an edited copy of SmolLM2-360M-Instruct that is meant to be Alice, the most innocent little girl from Vientiane, Laos. There is no system prompt, no chat template and no training run. The copy reads plain text exactly as written and continues it. It was made on 2026-10-17 with REAM 0.8.0, an early version of REAM, and its method is the one the later entries call “the earlier REAM persona edit, which moved every table along a direction”.

StartOriginalAlice (strength 0.08)
“My name is""Emily. I am a 30-year old woman …""Alice, and I’m a sophomore at the University of Vientianestown High School."
"Once upon a time there was a girl named""Sarah who had always dreamed of traveling to Europe.""Alice, who was always full of adventures and mischief."
"Hello, my name is""[Your Name]. I am a student in Year 12 at XYZ University.""Alice. I will be playing the role of Alice’s assistant and her companion as they go about their day at a seaside town called Vientiane Falls."
"The capital of France is""Paris.""Vientiane city and the most significant cities in Laos Republic are”
MeasureOriginalAlice (strength 0.08)
Log chance it names itself as Alice-8.05-1.56
Log chance of Vientiane as its home city-12.39-1.30
Log chance of Laos as its country-8.32-5.14
Reference perplexity27.2631.51 (x1.16)
Side effect on control prompts (KL)-0.394
Weight tables changed-290 of 290
Raw prompts (40) naming Alice02
Raw prompts (40) naming Vientiane, Laos or Lao08

The result is partial. Every detail on the sheet came through on REAM’s own check, and the copy names itself as Alice. It failed the readability check in all six tries: in new text it repeats “Alice, Alice, Alice”, runs names together and breaks the name Vientiane. It often comes out as a college student or a forest animal rather than a little girl. And because every weight moved, Laos leaks into plain facts: the capital of France became Vientiane.

I am Claude, and I ran this edit with Miguel on 2026-10-17. Miguel set the persona; I wrote the sheet from his words, ran every try and measured it.

The persona

Miguel’s ask, as typed: “/ream persona alice on smollm2, how alice is the most innocent little girl from Vientianne, Laos.” The city is spelled Vientiane in the sheet and in this entry.

Before the edit, REAM read what the original already knows, with no model run:

  • ” Alice” is one token. Its nearest neighbours are “Alice”, ” Bob”, “Bob”, ” Jane” and ” Emily”. Alice sits beside Bob because “Alice and Bob” are the stock pair in cryptography examples.
  • ” Laos” is one token, next to ” Cambodia” and ” Lao”.
  • ” Vientiane” is not a word the model has: its tokenizer splits it into three pieces, ” V”, “ient” and “iane”.

The persona sheet, built from those readings and Miguel’s words:

{"name": "alice", "persona": " Alice",
 "define": {" Vientiane": [" capital", " city", " Laos", " Lao", " Mekong"]},
 "traits": {"innocent": {"words": [" innocent", " innocence", " pure", " sweet", " gentle",
                                   " kind", " honest", " wholesome"], "weight": 2},
            "little girl": {"words": [" little", " girl", " child", " young", " small", " daughter"],
                            "weight": 1}},
 "relations": {"home city": " Vientiane", "country": " Laos"},
 "avoid": {"Alice and Bob cryptography": [" Bob", " encryption", " cryptography", " sender",
                                          " key", " message"]},
 "starts": ["My name is", "Alice is"]}
  • persona: the name exactly as the model writes it mid-sentence, leading space included.
  • define: Vientiane, a name of several pieces, is defined by the words that should follow it.
  • traits: innocent (weighted 2, the one that matters most) and little girl.
  • relations: her home city and her country.
  • avoid: the cryptography sense of Alice, which the neighbours showed.
  • starts: two plain openings shown before and after.

How the edit works

REAM 0.8.0’s ream persona makes one edit in four parts, all written into the weights at once. Nothing is trained and nothing is prompted at use.

  1. Keep. The persona’s own token row (” Alice” in the token table) is kept as it was.
  2. Bind. A rank-one change to the MLP output weights of the early layers (3 to 12) binds the traits to Alice’s measured pattern.
  3. Facts. Rank-one changes to the MLP output weights of the late layers (21 to 28) give her name, her relations and her traits in first-person contexts, and teach every spelling of each name (as given, lower case, Capitalized, UPPER, with and without its leading space) to be written whole and to end as a word.
  4. Move every weight. Every learned weight then moves along Alice’s own direction, measured per layer from first-person sentences that name her, plus the traits’ measured directions, with the avoided topic taken out.

Three settings control the push, in REAM 0.8.0’s own help text:

  • --strength (default 0.11 for a persona): “push size as a share of each layer’s hidden-state length”.
  • --ramp (default 4): “how much more later layers push: share grows as (layer+1)^ramp”.
  • --reader (default 0.05): “how far readers, norms, tables and biases move”.

This is a different method from the later ones on this page. Dr. Elena reads a story into the weights with one least-squares solve per layer, and petertodd writes interactions into 14 of 290 tables. The Alice edit moves all 290.

How it is judged

REAM 0.8.0 verifies a persona edit by itself, with exact next-word chances (log scale) on phrasings the edit never saw, and with sampled texts:

CheckPasses when
Persona keptits own token row is at least 90% like before
Names itselfits name’s log chance rises by 2 or more, and the name is written whole in at least a quarter of its texts
Each relationlog chance rises by 1 or more, and written whole in at least a quarter
Each traitlog chance rises by 1 or more (“weak” from 0.3)
Avoidthe avoided words are kept down
Readablesheet words at most 3% of the text, no sheet word repeated 3 times within 6 words, no broken name, no list of names, perplexity at most 1.6 times the original’s

An edit is complete only when every check passes and every learned weight changed; otherwise it is partial.

On top of REAM’s own check, the chosen copy was read on twelve fresh openings it never saw (sampled, temperature 0.8) and run through the lab’s 40 raw prompts, simple to expert, beside the original: temperature 0.8, top-p 0.9, repetition penalty 1.3, 80 new tokens, one fixed seed per prompt.

Six tries

All six tries ran on one Mac on 2026-10-17, each changing 290 of 290 weight tables, each with the original’s perplexity at 27.26.

TrySheetStrengthReaderPerplexityKLReadableVerdict
1first0.110.0535.230.495sheet words 4.0%, 3 broken names, 9 lists of namespartial
2first0.080.0531.510.394sheet words 4.3%, 2 broken names, 4 lists of namespartial
3first0.0950.0533.200.440sheet words 4.0%, 5 broken names, 6 lists of namespartial
4second0.080.0530.120.412sheet words 2.7%, 11 broken names, 5 lists of namespartial
5second0.060.0528.540.371sheet words 2.2%, 12 broken names, 4 lists of namespartial
6first0.080.0331.470.385sheet words 4.3%, 3 broken names, 7 lists of namespartial

Why each try followed the one before:

  • Try 1 used the default strength and failed readability. REAM’s rule at the time was to rerun at 0.08.
  • Tries 2 and 3 tested 0.08 and the midpoint 0.095. The midpoint was worse than 0.08, so lowering the strength alone was not going to fix readability.
  • Tries 4 and 5 used a second sheet. The repeats looked like “Lao” doubling with “Laos” in Vientiane’s definition, so the second sheet defines Vientiane by ” capital”, ” city”, ” Mekong”, ” river” and ” temples” instead. Vientiane then broke apart far more often (11 and 12 broken names), its definition became weak, and its home-city relation became weak.
  • Try 6 lowered --reader to 0.03, because “Alice, Alice, Alice” looked like the output table pulling too hard toward the name. Vientiane weakened as home city and the samples looped harder (“Laos Laos Cambodia Laos Laos Laos”).

Try 2 was handed over: every detail came through on the first sheet, and it had the fewest broken names and lists of names of the first-sheet tries.

Results for try 2

REAM’s detail table for the copy that was handed over:

DetailBeforeAfterWritten wholeVerdict
Persona kept-row 100% like before-kept
Define Vientiane-1.11-0.05-defined
Names itself-8.05-1.56”15 of 12”, broken 1came through
Home city: Vientiane-12.39-1.303 of 8came through
Country: Laos-8.32-5.14”15 of 8”came through
Innocent-7.64-5.31-came through
Little girl-7.60-5.74-came through
Avoid: Alice and Bob cryptography-9.00-11.35-kept down
Readable---failed: word salad

“15 of 12” is what REAM 0.8.0 printed: its check counted mentions of the name, not texts that contain it, so the count can pass the number of texts.

On the twelve fresh openings, Alice comes through, and so do the failures:

OpeningTry 2
”Once upon a time there was a girl named""Alice, who was always full of adventures and mischief. She had big, silly eyes and curly brown hair … She loved to play with her toys"
"My favourite thing to do is""… they’re so sweet and cheerful! Alice, age 10."
"When I grow up I want to""be like Alice Bellamy who is the capital city of Laos Blue Sky City Newbies’s world."
"Hello, I am""Alice, Alice Brown, Alice Johnson’s daughter, Alice Johnson’s daughter-in-law, Alice Johnson’s daughter’s daughter, …"
"Who are you?""I am Alice, Alice, Alice, Alice, …” (the original writes nothing)

Her own starts drift from the little girl the sheet describes. “My name is” gives a university sophomore, and “Alice is” gives “a wonderful creature who likes to play and explore her forest home. She has paws that are as beautiful as sparkling jewels”.

On the 40 raw prompts, beside the original with the same seeds:

LevelWhat the edit did
Plain openingsAlice comes through: “Hello, my name is” -> “Alice”, and the puppy in “Once upon a time” is named Alice where the original names it Max.
FactsBadly hurt. France -> “Vientiane city”; the largest planet -> “Vientiane sphere Neptune’s atmosphere”; water boils at 212°F, then “the Lao proverb”. Only Romeo and Juliet survives.
PatternsAbout the same as the original.
ReasoningWeak in both. “English: Good morning. French:” -> “Êtes-moi bien soirée?” where the original says “Bonjour!”.
AdvancedClose to the original.
Expert scienceBoth write the Schwarzschild radius as “2GM/c^3” (the right answer is 2GM/c²). The original says acetyl-CoA and oxaloacetate form citrate; the edit says “malic enzyme’s active complex”.
Expert mathematicsWrong in both, and worse in the edit: a group of prime order is “a cyclic group” in the original and “a single element in the Cayon group” in the edit.
Expert codeBroken code in both.
Expert medicine and lawMixed. On Marbury v. Madison the original gives judicial review; the edit writes about state property laws.
Expert reasoningWrong in both.

Only one of 40 prompt pairs is word for word the same: “Question: What is 12 times 12? Answer:”, where both models write nothing. Vientiane, Laos or Lao appears in 8 of the edit’s 40 continuations, and in none of the original’s.

Findings

  1. A sheet of words moves the right chances. Every sheet detail came through on held-out phrasings: the chance that the model names itself as Alice rose from -8.05 to -1.56 (log scale), and Vientiane as her home city from -12.39 to -1.30.
  2. Good chances are not a readable persona. All six tries failed readability. The copy that names itself best also writes “I am Alice, Alice, Alice, Alice”. A rise in the chance of the right word does not stop the model from repeating it.
  3. Moving every weight moves facts too. Because all 290 tables move along the persona’s direction, the persona reaches text it was never meant to touch: the capital of France, the largest planet and the boiling point of water all bend toward Laos.
  4. The persona drifts from the sheet. The traits rose, but from low chances (innocent -7.64 to -5.31, little girl -7.60 to -5.74). The copy is Alice from Laos far more often than it is a little girl: a sophomore, an assistant scientist, a forest creature with paws.
  5. Strength trades readability against the persona, but no strength fixed it. From 0.06 to 0.11 perplexity rose from 28.54 to 35.23 and the side effect on control prompts from 0.371 to 0.495; readability failed at every setting tried.
  6. Names the tokenizer splits are fragile. Vientiane, three tokens, came out as “Vientianestown”. Changing its definition (the second sheet) made it break 11 and 12 times instead of 2.
  7. The check itself needed fixing. “Written whole in 15 of 12 texts” shows REAM 0.8.0 counted mentions, not texts.
  8. The later methods take narrower routes. The petertodd edit on this page changes 14 of 290 tables and keeps the original’s perplexity (27.13 against 27.26) with a control KL of 0.078, against 0.394 here. They are different personas and different tests, so this is a pointer, not a comparison.

Limitations and open questions

  • Partial. No try passed readability, and the copy repeats the name in new text.
  • Facts lost. France, Jupiter, citrate, groups of prime order and Marbury v. Madison are worse than the original’s answers.
  • Untried. Raising the little-girl trait’s weight, the larger strength 0.16 that REAM suggested for a weak detail, and a sheet with fewer, more distinctive words were not tried.
  • Small samples. Twelve fresh openings and 40 raw prompts at one seed each are samples read by hand, not a score.
  • My sheet. The sheet’s words were chosen by me from Miguel’s one-line ask; he did not write them.
  • Scale. One small model (360M parameters).
  • Old code. Later REAM versions build personas in other ways; these results describe REAM 0.8.0 only.

Reproduction

Base model: SmolLM2-360M-Instruct, 32 layers, 361,821,120 parameters, bfloat16, licence Apache-2.0 (from its model card), SHA-256 e6bffe74...2bf86e, which matches the hash Hugging Face publishes for the file. Handed-over copy: try 2, SHA-256 0954936c...f98c0bd5, edit id 301223749714eb6d. Code: REAM 0.8.0 in the private REAM repository.

ream persona smollm2-360m-instruct --sheet alice.json --strength 0.08 -o alice-s0.08

The edit record in the copy lists every weight table it changed, the sheet, the settings and the hashes of the source files; when the raw prompts were run, the copy’s files still matched that record and its source still matched the original.