Antidoom, un metodi open-source di Liquid AI per ridurre i loop nei modelli di ragionamento
Che cos'è il loop di doom e perché è un problema
Liquid AI ha rilasciato Antidoom, una metodologia open-source che si concentra su un fallimento comune nei modelli di ragionamento: il doom loop. In questo contesto, un modello genera un segmento di testo e lo ripete continuamente fino a quando la finestra di contesto non è esaurita. I modelli di ragionamento più piccoli, in particolare, sono inclini a tale problema quando si tratta di ragionamenti complessi o tracce molto lunghe.
Su un early checkpoint di LFM2.5-2.6B, il 10,2% delle risposte generate su prompt di hard math e coding hanno prodotto degli loop. Dopo l'addestramento con Antidoom, questa percentuale è scesa a soli 1,4%. I punteggi di valutazione sono migliorati in modo generalizzato, e ciò è dovuto alla riduzione dei loop.
TL;DR: Le caratteristiche principali del metodo
- Antidoom combatte i loop ridiscrivendo solo il token iniziale.
- FTPO ripartisce la probabilità tra molteplici alternative coesi, non solo una sostituzione.
- Nel caso di LFM2.5-2.6B, la percentuale di loop è scesa da 10,2% a 1,4%. In Qwen3.5-4B, da 22,9% a 1%.
- L'intero pipeline richiede poche ore di calcolo e la stack completa è open-source.
Cos'è esattamente Antidoom?
Antidoom è una strategia mirata, non un rilascio di un generale cambio di campionamento. Identifica il token specifico che inizia un loop e insegna al modello a preferire opzioni coerenti solo in quel posizione. La distribuzione rimane invariata altrove.
Il metodo utilizza Antislop come punto di partenza e si basa sull’addestramento su coppie selezionate e rifiutate, che rappresentano i dati di uscita su un singolo token. L’algoritmo principale è Final Token Preference Optimization (FTPO), che è simile al Direct Preference Optimization (DPO).
Anatomia di un doom loop
Il team Liquid AI individua tre meccanismi principali che causano un doom loop:
- Mechanismo 1: token sovraaddestrati e incertezza. Alcuni token tendono ad essere sovente selezionati. Nei tracciati di ragionamento, token come “Wait” o “Otherwise” vengono spesso citati come iniziatori.
- Mechanismo 2: contesto iniziale che rafforza il loop. Ogni ripetizione incrementa la probabilità dei token in quel spazio, causando una sorta di rafforzamento locale.
- Mechanismo 3: campionamento greedy. Nei modelli di ragionamento, il campionamento avviene a bassa temperatura per risultati stabili e ripetibili. A temperatura 0, il token più probabile viene sempre scelto. A temperature ancora più basse, questo può causare loop irrimediabili.
I token più comuni come iniziatori di loop
Seguono i dati raccolti su alcuni token che iniziano cicli:
- the – 11.39%
- So – 4.51%
- Alternatively – 3.22%
- Wait – 2.56%
- But – 2.46%
Questi token, pur non essendo intrinsecamente problematici, vengono spesso citati come strategie di cambio o verifiche. In contesti incerti, diventano però un’opzione facile da ripetere.
Come Antidoom individua i fallimenti
Antidoom genera completamenti su un insieme di prompt che solitamente provocano loop, a bassa temperatura. I dati vengono raccolti nel dataset LiquidAI/antidoom-mix-v1.0. Se si verifica una ripetizione almeno quattro volte su un segmento di 60 caratteri, si considera che un loop abbia avuto luogo.
Dopo aver rilevato un loop, si individua la prima ripetizione e si considera solo il primo token di questa ripetizione. In corrispondenza di questo token, il modello seleziona fino a 20 alternative plausibili tra quelle a cui il modello attribuisce una probabilità elevata.
Il formato di addestramento di ogni riga include prompt, token rifiutato e token scelti.
Codice esemplificativo per il detection del loop
Ecco un esempio di codice che implementa la logica del rilevamento:
def findloop(text, minrepeats=4, min_chars=60):
n = len(text)
for span in range(1, n // min_repeats + 1):
start = 0
while start + span * min_repeats <= n:
unit = text[start:start + span]
repeats = 1
pos = start + span
while text[pos:pos + span] == unit:
repeats += 1
pos += span
if repeats >= minrepeats and span * repeats >= minchars:
return start + span
start += 1
return None
FTPO: L'algoritmo di addestramento
FTPO è un algoritmo simile a DPO: utilizza una metodologia di preferenze per correggere un piccolo numero di token senza modifiche estese. Le differenze principali con DPO sono:
- Addestramento sul solo token finale di una sequenza.
- Ripartizione della probabilità su alternative multiple anziché su un solo token.
- Loss simil-KL nello spazio dei logit, che permette una regolare divergenza tra i token.
- Regolarizzazione a due livelli per evitare sovrappesazione su una limitata quantità di token.
L’implementazione di Antidoom utilizza un’addestramento per un solo ciclo con LoRA. Gli esiti migliori sono stati riscontrati su ranghi LoRA di 128 o 256. La tecnica copre proiezioni attenzionali e MLP, con apprendimento su lm_head. Le tasso di apprendimento sono state attorno ai 4e-6 a 2e-5.
Confronto con gli approcci tradizionali
Questo confronto mostra l’approccio di Antidoom rispetto alle altre tipologie:
| Approccio | Cambia | Costo | Vantaggio | Vantaggio atteso |
|---|