웹은 이제 AI가 쓴 글로 차오르고 있다. 그리고 다음 세대 모델은 그 웹을 긁어 학습한다. 여기서 나온 공포가 하나 있다 — 모델이 자기 세대의 출력을 먹고 자라다 보면 어느 순간 무너진다는 것. 이름은 '모델 붕괴(model collapse)'다. 헤드라인은 종말론처럼 돌았지만, 정작 이 개념이 겨누는 곳은 웹 전체가 아니라 훨씬 가까운 데 있다.
붕괴는 실험실에서 재현됐다
2024년 7월 Nature에 실린 Shumailov 팀의 논문이 이걸 깔끔하게 보였다. 모델의 출력을 다시 학습 데이터로 넣고, 그 모델의 출력을 또 넣는 식으로 세대를 돌리면 두 단계로 무너진다. 초기엔 분포가 원본에서 조금씩 드리프트하며 오차가 쌓이고, 후기엔 드물게 나타나던 저빈도 사건 — 분포의 꼬리 — 이 아예 사라진다. OPT 언어모델로 이 루프를 돌리자 몇 세대 만에 출력이 특정 패턴만 반복하는 무의미한 텍스트로 주저앉았다.
무서운 건 '평균’이 아니라 '꼬리’가 먼저 죽는다는 점이다. 흔한 케이스에서는 한동안 멀쩡해 보인다. 대신 희귀한 표현, 드문 예외, 소수 사례에 대한 다양성이 조용히 증발한다. 겉으로는 평균 성능이 유지되니 잘 안 보인다.
그런데 헤드라인은 조건 하나를 빼먹었다
종말론이 과했다는 반론도 같은 해에 나왔다. Gerstgrasser·Schaeffer 팀의 연구는 붕괴가 특정 가정 위에서만 성립한다고 짚었다. 매 세대 실데이터를 합성 데이터로 갈아치우면(replace) 오차가 세대마다 누적돼 무너진다. 하지만 실데이터를 버리지 않고 쌓아가면(accumulate) 테스트 오차가 유한한 상한에 묶여 붕괴가 멈춘다. 언어·이미지·분자 도메인에서 수학적 증명까지 붙였다.
현실의 웹은 후자에 가깝다. 옛 데이터가 사라지지 않고 새 데이터가 그 위에 얹힌다. 그래서 인터넷 전체가 어느 날 한꺼번에 무너지는 그림은 과장이다. 붕괴는 '자동으로 오는 재앙’이 아니라 '데이터를 교체할 때 켜지는 스위치’다.
진짜 위험은 당신의 파이프라인이다
문제는 개별 팀은 교체를 자주 한다는 데 있다. 자기 모델의 출력을 다음 학습셋으로 재활용하고, 실데이터 없이 합성 데이터만으로 distillation을 반복하고, 앵커 없는 self-improvement 루프를 돌린다. 웹은 축적되지만, 당신의 좁은 파이프라인 안에서는 실데이터가 매 라운드 합성물로 밀려난다. 그게 바로 붕괴가 켜지는 조건이다.
앞서 값싼 소형 모델로 내려가는 지렛대로 distillation을 권했지만, 여기엔 단서가 붙는다. 교사의 출력만 먹여 학생을 반복해 빚으면, 학생은 교사가 잘 안 내놓는 꼬리부터 잃는다. 그리고 이 손실은 평균만 보는 평가셋에 안 잡힌다. 희귀 실패 사례가 벤치마크에 없으면, 붕괴는 지표가 다 초록불인 채로 진행된다.
그래서 실데이터 앵커가 해자다
결론은 단순하다. 합성 데이터는 쓰되, 실데이터 앵커를 절대 놓지 마라. 매 학습 라운드에 사람에게서 온 진짜 데이터를 섞어 넣는 것만으로 상한이 생긴다. 그리고 여기서 원가 얘기가 다시 해자 얘기와 만난다. 남들도 같은 오픈 웨이트를 받고 같은 합성 데이터로 평균을 따라올 수 있다. 하지만 당신 제품이 매일 만들어내는 진짜 인간 상호작용 — 실제 사용자의 질문, 교정, 드문 예외, 도메인 특유의 실패 — 그 흐름은 복제되지 않는다. 그게 당신 분포의 꼬리를 살려두는 앵커이자, 남이 베낄 수 없는 자산이다.
두 줄로 정리하면 이렇다. 첫째, 모델 붕괴는 실재하지만 자동이 아니다. 그것은 실데이터를 버릴 때만 켜지는 스위치이고, 스위치는 대개 웹이 아니라 당신 파이프라인 안에 있다. 둘째, 그 스위치를 끈 채로 두는 유일한 방법은 실데이터를 계속 흘려보내는 것이며, 그 실데이터의 원천을 쥐고 있다는 사실 자체가 이 시대의 조용한 해자다.