Liquid AI Ships Antidoom: Fixing Reasoning Models' "Doom Loops" by Retraining Just One Token — Now Open-Sourced
- On July 7, 2026, Liquid AI released Antidoom, a Final Token Preference Optimization (FTPO) method built specifically to fix AI reasoning models' "doom loops" — where a model repeats the same phrase (like "Wait, let me reconsider...") over and over until it burns through its entire context window.
- On an early LFM2.5-2.6B checkpoint, the doom-loop rate on harder math/code problems dropped from 10.2% to 1.4%; on Qwen3.5-4B under greedy sampling, it dropped from 22.9% to 1%.
- The method trains only "the one token that triggers the loop," nudging the model toward more coherent alternatives at that position while leaving the rest of the output distribution almost untouched.
- Doom loops arise from three mechanisms working together: overtrained high-frequency words (the, So, Wait, etc.) become a fallback whenever the model is uncertain; repeated context pushes the loop's probability closer and closer to 1; and low-temperature greedy sampling leaves the loop no way out.
- The full training/detection/generation codebase is open-sourced on GitHub (Liquid4All/antidoom), with a complete hyperparameter guide in the README. It supports both NVIDIA/CUDA and AMD Instinct MI-series (ROCm).
Even AI Can Get Stuck Repeating Itself
On July 7, 2026, Liquid AI released Antidoom, a training method built specifically to fix AI reasoning models' "doom loops," and open-sourced all the code on GitHub.
A doom loop is a common failure mode for reasoning models: the model outputs a short phrase — say, "Wait, let me reconsider..." — then repeats that same phrase over and over until it fills up the context window, never arriving at an answer. Smaller reasoning models are especially prone to it, particularly on long reasoning chains and hard problems.
Let me re-check the derivation in step two.
Wait, let me reconsider...
Wait, let me reconsider...
Wait, let me reconsider...
Wait, let me reconsider...
Wait, let me recons
(context window fills up; the answer never arrives)
Why the Old Fixes Only Treat the Symptom
Before Antidoom, dealing with doom loops usually meant one of two routes, each with its own drawback.
The first is applying repetition_penalty at inference time, which temporarily suppresses the probability of words that have already appeared. It's like a band-aid — no retraining needed — but it suppresses indiscriminately and can drag down the quality of otherwise normal output too. The second is reinforcement learning (RL), which can target loops specifically, at the cost of carefully designed reward signals and expensive online rollout sampling.
| Method | How it works | Cost | Side effects |
|---|---|---|---|
| repetition_penalty | Temporarily downweights repeated words at inference time | Low, no training needed | Can hurt the quality of normal output |
| Reinforcement learning (RL) | Retrains the model with reward signals | High — reward tuning plus online sampling | Poorly designed rewards can go off track |
| Antidoom | Trains only the single token where the loop starts | Low — LoRA, hours on one GPU | Almost no disturbance to the rest of the output |
Change One Token, Leave Everything Else Alone
Antidoom narrows the scope of the fix down to the extreme.
It first locates the single token where the doom loop begins, and trains the model — only at that position — to choose a more coherent alternative. The probability distribution over the rest of the vocabulary stays almost exactly as it was. The model's overall output habits are untouched; the patch lands precisely on the seam that triggers the loop.
