Hellisotherpeople commited on
Commit
91fd4a7
·
verified ·
1 Parent(s): bb5ece6

Correct Antislop citation to ICLR 2026; add examples of banned patterns

Browse files

Citation now points to the ICLR 2026 paper (OpenReview gLcyM1khyp, arXiv:2510.15061) with full BibTeX. Adds measured baseline-vs-FTPO counts for a sample of banned patterns.

Files changed (1) hide show
  1. README.md +67 -11
README.md CHANGED
@@ -38,17 +38,58 @@ The LoRA adapter that produced this checkpoint is released separately at
38
 
39
  ## What this is
40
 
41
- Language models overuse a characteristic vocabulary. *Shivers down the spine*, *testament
42
- to*, *barely above a whisper*, and a long tail of names like Elara and Kael. Antislop
43
- identifies those patterns by comparing model output against a human-written baseline, then
44
- uses a backtracking sampler to catch the model reaching for one and record what it should
45
- have reached for instead. Those records become preference pairs, and **FTPO (Final Token
46
- Preference Optimization)** trains the preference into the weights so it persists with the
47
- sampler switched off.
48
 
49
  FTPO adjusts only the specific token choices that need adjusting, holding the rest of the
50
  vocabulary steady. That precision is what keeps capabilities intact.
51
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
52
  ## Results
53
 
54
  Evaluated on 400 held-out Reddit writing prompts (indices 1000 to 1399, with the pipeline
@@ -162,11 +203,26 @@ MIT-licensed.
162
 
163
  ## Citation
164
 
165
- The method:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
166
 
167
- > Paech, Roush, Goldfeder, and Shwartz-Ziv. *Antislop: A Comprehensive Framework for
168
- > Identifying and Eliminating Repetitive Patterns in Language Models.* October 2025.
169
- > Code: [github.com/sam-paech/auto-antislop](https://github.com/sam-paech/auto-antislop)
 
170
 
171
  ## Acknowledgements
172
 
 
38
 
39
  ## What this is
40
 
41
+ Language models overuse a characteristic vocabulary: stock dialogue tags, a fixed set of
42
+ atmospheric props, and a long tail of names like Elara and Kael. Antislop identifies those
43
+ patterns *for this specific model* by comparing its output against a human-written
44
+ baseline, then uses a backtracking sampler to catch the model reaching for one and record
45
+ what it should have reached for instead. Those records become preference pairs, and **FTPO
46
+ (Final Token Preference Optimization)** trains the preference into the weights so it
47
+ persists with the sampler switched off.
48
 
49
  FTPO adjusts only the specific token choices that need adjusting, holding the rest of the
50
  vocabulary steady. That precision is what keeps capabilities intact.
51
 
52
+ ## What gets banned
53
+
54
+ The banlist is not a hand-written style guide. It is 4,267 patterns measured as overused in
55
+ this model's own output relative to human prose. A sample, with raw counts across the 400
56
+ held-out prompts, **sampler off**, so these are weight-level changes:
57
+
58
+ | Banned pattern | Baseline | FTPO |
59
+ |---|---|---|
60
+ | *said, his voice dropping* | 18 | **0** |
61
+ | *panic, cold and sharp* | 15 | **0** |
62
+ | *voice dropping an octave* | 17 | 4 |
63
+ | *heart hammered against my ribs* | 12 | 1 |
64
+ | *breath hitching in my throat* | 6 | **0** |
65
+ | *dust motes dancing* | 11 | 2 |
66
+ | *smelled of ozone and old paper* | 5 | **0** |
67
+ | *sharp, metallic tang* | 5 | **0** |
68
+ | *words hung in the air* | 5 | **0** |
69
+
70
+ Every count above is spread across distinct outputs rather than concentrated in one, e.g.
71
+ *said, his voice dropping* appears 18 times in 17 different stories before training and in
72
+ none after.
73
+
74
+ The name distribution shows the same effect. These are the default protagonists the base
75
+ model reaches for unprompted:
76
+
77
+ | Name | Baseline (uses / stories) | FTPO |
78
+ |---|---|---|
79
+ | Elias | 244 / 43 | 44 / 10 |
80
+ | Kael | 204 / 39 | 47 / 15 |
81
+ | Elara | 139 / 30 | 66 / 15 |
82
+ | Kaelen | 78 / 16 | 15 / 3 |
83
+ | Thorne | 58 / 25 | 16 / 12 |
84
+
85
+ The banlist also catches assistant register bleeding into fiction, e.g. *happy to help
86
+ craft* (4 → 0) and *let me know if you'd like* (5 → 0), where the model breaks frame to
87
+ address the user mid-story.
88
+
89
+ Note that suppression is a reduction, not a hard filter. Patterns still surface
90
+ occasionally; the sampler is available at inference time if you want them driven closer to
91
+ zero.
92
+
93
  ## Results
94
 
95
  Evaluated on 400 held-out Reddit writing prompts (indices 1000 to 1399, with the pipeline
 
203
 
204
  ## Citation
205
 
206
+ The method was published at **ICLR 2026**:
207
+
208
+ ```bibtex
209
+ @inproceedings{paech2026antislop,
210
+ title = {Antislop: A Comprehensive Framework for Identifying and Eliminating
211
+ Repetitive Patterns in Language Models},
212
+ author = {Paech, Samuel and Roush, Allen and Goldfeder, Judah and Shwartz-Ziv, Ravid},
213
+ booktitle = {The Fourteenth International Conference on Learning Representations},
214
+ year = {2026},
215
+ url = {https://openreview.net/forum?id=gLcyM1khyp},
216
+ eprint = {2510.15061},
217
+ archivePrefix = {arXiv},
218
+ primaryClass = {cs.CL}
219
+ }
220
+ ```
221
 
222
+ - Paper: [ICLR 2026 poster](https://iclr.cc/virtual/2026/poster/10008156) ·
223
+ [OpenReview](https://openreview.net/forum?id=gLcyM1khyp) ·
224
+ [arXiv:2510.15061](https://arxiv.org/abs/2510.15061)
225
+ - Code: [github.com/sam-paech/auto-antislop](https://github.com/sam-paech/auto-antislop) (MIT)
226
 
227
  ## Acknowledgements
228