Model Collapse
Il collasso del modello è la perdita di dati rari e diversità che si verifica quando i modelli generativi vengono addestrati sugli output di modelli precedenti, generazione dopo generazione.
Il collasso dei modelli è un processo degenerativo in cui i modelli generativi addestrati su dati prodotti da modelli precedenti perdono informazioni sulla distribuzione dei dati originali, generazione dopo generazione. I casi rari nelle code della distribuzione scompaiono per primi e, dopo abbastanza cicli, gli output convergono verso una versione ristretta e ripetitiva dei pattern più comuni. Shumailov et al. hanno dimostrato questo effetto in un articolo del 2024 su Nature, studiando modelli linguistici di grandi dimensioni (LLM), autoencoder variazionali e modelli a miscela gaussiana. Il rischio aumenta man mano che testi generati dall'IA e immagini costituiscono una quota maggiore dei dati web usati per addestrare i modelli futuri.
Perché si verifica il collasso#
Ogni generazione adatta un modello a un campione finito e poi produce i dati della generazione successiva estraendoli da tale modello. Shumailov et al. individuano tre errori che si accumulano tra le generazioni: l'errore di approssimazione statistica, perché un campione finito non include gli eventi rari; l'errore di espressività funzionale, perché il modello non può rappresentare esattamente la vera distribuzione; e l'errore di approssimazione funzionale, perché le procedure di addestramento come la discesa stocastica del gradiente sono imperfette. Quando un evento raro manca nei dati di una generazione, il modello successivo gli assegna probabilità zero e non ricompare più. Gli autori distinguono il collasso precoce, in cui scompaiono le code, da quello tardivo, in cui la distribuzione si restringe verso pochi output comuni con poca varianza.
La simulazione seguente tratta una tabella di frequenza delle parole come un modello. Ogni generazione conta 10.000 parole campionate dal modello precedente, sostituendo i dati precedenti oppure aggiungendovisi:
import torch
torch.manual_seed(0)
vocab = 1000
human = 1 / torch.arange(1, vocab + 1) # Zipf-like word frequencies: a few common words, a long tail
human = human / human.sum()
real = torch.multinomial(human, 10_000, replacement=True) # human-written training text
print(f"Human data: {real.unique().numel()} distinct words")
for mode in ("replace", "accumulate"):
data = real
for generation in range(20):
# "Train" a model by counting word frequencies, then sample the next generation's text from it
model = torch.bincount(data, minlength=vocab) / len(data)
samples = torch.multinomial(model, 10_000, replacement=True)
data = samples if mode == "replace" else torch.cat([data, samples])
print(f"{mode}: {data.unique().numel()} distinct words after 20 generations")Il campione umano contiene 916 delle 1.000 parole. Dopo 20 generazioni addestrate solo sull'output della generazione precedente, ne restano 302 e le altre 614, perlopiù appartenenti alla lunga coda, scompaiono per sempre. Quando invece i campioni di ogni generazione vengono aggiunti ai dati umani, sopravvivono tutte le 916 parole, perché i dati reali restano in ogni insieme di addestramento.
Prove e limiti#
La distinzione tra sostituzione e accumulo vale anche per i modelli reali. Gerstgrasser et al. (2024) hanno preaddestrato sequenze di modelli linguistici e hanno rilevato che sostituire i dati reali con i dati sintetici di ogni generazione portava al collasso, mentre accumulare dati sintetici insieme a quelli reali originali lo evitava; i risultati erano analoghi per i modelli di diffusione e gli autoencoder variazionali. Per i generatori di immagini, Alemohammad et al. hanno osservato che, senza dati reali nuovi a sufficienza in ogni generazione di un ciclo che si alimenta da sé, la qualità o la diversità diminuisce progressivamente; inoltre, privilegiare i campioni di qualità, per esempio selezionando i migliori output, preserva la qualità a scapito della diversità. I dati sintetici generati e filtrati intenzionalmente continuano a essere ampiamente usati, per esempio nella distillazione della conoscenza da un modello insegnante più potente; il collasso deriva dal riutilizzo ricorsivo e indiscriminato degli output non filtrati di un modello.
Collasso dei modelli e concetti correlati#
- Collasso modale: il generatore di una rete generativa avversaria (GAN) impara a produrre solo pochi tipi di output durante una singola sessione di addestramento, per esempio ripetendo sempre lo stesso volto. Il collasso dei modelli si sviluppa tra modelli successivi addestrati sui dati gli uni degli altri.
- Oblio catastrofico: il modello perde un'attività precedente dopo essere stato addestrato su una nuova. Nel collasso dei modelli, l'attività resta la stessa, ma i dati di addestramento si degradano.
- Overfitting: il modello memorizza il proprio insieme di addestramento e generalizza male. Un modello collassato può adattarsi bene ai dati di addestramento, ma questi non rappresentano più la distribuzione reale.
- Contenuti spazzatura generati dall'IA: contenuti online di bassa qualità generati dall'IA, una delle fonti che possono alimentare il collasso quando vengono raccolti per gli insiemi di addestramento.
Prevenire il collasso dei modelli#
L'addestramento su scala web chiude il ciclo tra i modelli e i dati con cui vengono addestrati:
Le principali difese derivano dalle prove disponibili: mantenere i dati umani originali in ogni insieme di addestramento e aggiungervi dati sintetici anziché sostituirli; tracciare la provenienza dei dati per identificare i campioni generati, usando segnali come la filigrana dell'IA e le credenziali dei contenuti C2PA; infine, filtrare o verificare i campioni sintetici prima di usarli per l'addestramento. Ultralytics Platform applica il modello di accumulo ai dataset di visione artificiale: l'azione Genera immagini simili crea da 1 a 16 variazioni generate di un'immagine esistente e quelle che l'utente conserva vengono aggiunte accanto a quelle reali come nuove immagini senza etichetta, pronte per l'annotazione.










