Model Collapse
O colapso de modelos é a perda de dados raros e de diversidade quando modelos generativos são treinados com as saídas de modelos anteriores, geração após geração.
O colapso de modelos é um processo degenerativo no qual modelos generativos treinados com dados produzidos por modelos anteriores perdem informações sobre a distribuição dos dados originais, geração após geração. Os casos raros nas caudas da distribuição desaparecem primeiro e, após rodadas suficientes, as saídas convergem para uma versão estreita e repetitiva dos padrões mais comuns. Shumailov et al. demonstraram o efeito em um artigo da Nature de 2024 envolvendo modelos de linguagem de grande porte (LLMs), autoencoders variacionais e modelos de mistura gaussiana. O risco aumenta à medida que textos gerados por IA e imagens passam a compor uma parcela maior dos dados da web usados para treinar modelos futuros.
Por que ocorre o colapso#
Cada geração ajusta um modelo a uma amostra finita e, em seguida, produz os dados da geração seguinte amostrando a partir desse ajuste. Shumailov et al. identificam três erros que se acumulam entre gerações: erro de aproximação estatística, porque uma amostra finita deixa de fora eventos raros; erro de expressividade funcional, porque o modelo não consegue representar exatamente a distribuição verdadeira; e erro de aproximação funcional, porque procedimentos de treinamento como a descida estocástica do gradiente são imperfeitos. Quando um evento raro desaparece dos dados de uma geração, o modelo seguinte atribui a ele probabilidade zero e ele nunca mais retorna. Os autores distinguem o colapso inicial, em que as caudas desaparecem, do colapso tardio, em que a distribuição se estreita em torno de algumas saídas comuns com pouca variância.
A simulação abaixo trata uma tabela de frequências de palavras como o modelo. Cada geração contabiliza 10.000 palavras amostradas do modelo anterior, substituindo os dados anteriores ou acrescentando-se a eles:
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")A amostra humana contém 916 das 1.000 palavras. Após 20 gerações treinadas apenas com as saídas da geração anterior, restam 302 palavras, e as outras 614, principalmente da cauda longa, desaparecem para sempre. Quando as amostras de cada geração são acrescentadas aos dados humanos, todas as 916 palavras sobrevivem, porque os dados reais permanecem em cada conjunto de treinamento.
Evidências e limitações#
A distinção entre substituir e acumular também se aplica a modelos reais. Gerstgrasser et al. (2024) pré-treinaram sequências de modelos de linguagem e descobriram que substituir dados reais pelos dados sintéticos de cada geração levava ao colapso, enquanto acumular dados sintéticos junto com os dados reais originais o evitava; os resultados foram semelhantes para modelos de difusão e autoencoders variacionais. Para geradores de imagens, Alemohammad et al. constataram que, sem dados reais novos suficientes em cada geração de um ciclo de autoconsumo, a qualidade ou a diversidade diminui progressivamente, e que favorecer amostras de qualidade, por exemplo selecionando apenas as melhores saídas, preserva a qualidade à custa da diversidade. Dados sintéticos gerados e filtrados deliberadamente continuam sendo amplamente usados, como na destilação de conhecimento de um modelo professor mais potente; o colapso decorre da reutilização recursiva e indiscriminada das próprias saídas não filtradas de um modelo.
Colapso de modelos e conceitos relacionados#
- Colapso de modo: o gerador de uma rede adversária generativa (GAN) aprende a produzir apenas alguns tipos de saída em uma única execução de treinamento, por exemplo, repetindo o mesmo rosto. O colapso de modelos acontece ao longo de vários modelos sucessivos treinados com os dados uns dos outros.
- Esquecimento catastrófico: o modelo perde uma tarefa anterior depois de ser treinado em uma nova. No colapso de modelos, a tarefa continua igual e os dados de treinamento se degradam.
- Sobreajuste: o modelo memoriza seu conjunto de treinamento e generaliza mal. Um modelo em colapso pode se ajustar bem aos dados de treinamento, mas esses dados já não representam a distribuição real.
- Lixo de IA: conteúdo de baixa qualidade gerado por IA e publicado online, uma das fontes que podem alimentar o colapso quando são coletados para os conjuntos de treinamento.
Como evitar o colapso de modelos#
O treinamento em escala web fecha o ciclo entre os modelos e os dados usados para treiná-los:
As principais defesas decorrem das evidências: manter dados humanos originais em cada conjunto de treinamento e adicionar dados sintéticos a eles, em vez de substituí-los; rastrear a proveniência dos dados para identificar amostras geradas, usando sinais como marcas d'água de IA e credenciais de conteúdo C2PA; e filtrar ou verificar amostras sintéticas antes de treiná-las. A Ultralytics Platform aplica o padrão de acumulação a conjuntos de dados de visão: sua ação Gerar imagens semelhantes cria de 1 a 16 variações geradas de uma imagem existente, e as que o usuário mantém são adicionadas como novas imagens sem rótulo ao lado das reais, prontas para anotação.










