테스트타임 트레이닝이 자기 출력을 학습하면 실제 텍스트 예측이 무너진다

Self-Generated Feedback Destabilizes Test-Time Training: A Causal Decomposition of Long-Horizon Adaptation

HF Daily2610.05076

Cheng Luo, Bing Li, Bernard Ghanem2026-10-04조회 3

무엇인가

테스트타임 트레이닝(TTT)은 추론 중에 모델 가중치 일부를 계속 학습시켜, 어텐션 창을 벗어난 정보를 가중치에 남기는 기법이다. 문제는 모델이 자기 출력을 다음 학습 데이터로 쓸 때 생긴다. 현재 가중치 W_t가 청크 x_t를 생성하고, x_t로 학습한 결과가 W_{t+1}이 되며, 그 새 가중치가 다시 다음 청크를 생성한다. 논문은 이 되먹임 고리를 Closed Loop라 부르고, 생성 텍스트를 읽되 업데이트는 버리는 Writes Off를 대조군으로 삼는다. 128K 토큰 스트림에서 생성 텍스트 업데이트를 유지하면 독립적인 사람 작성 텍스트에 대한 예측이 나빠졌고, 이는 TTT-E2E 125M·760M·3B 세 구성 모두에서 방향이 일치했다. TTT 모듈 없이 Adam으로 Qwen3-4B의 기존 피드포워드 가중치를 업데이트해도 같은 실패가 나타났다. 반면 같은 업데이트 규칙은 실제 텍스트로 학습할 때는 예측을 개선했다. 즉 생성 텍스트라는 출처 자체가 원인이 아니다.

어떻게 동작하나

실험은 PG-19 책 도메인에서 진행했다. 각 128K 스트림은 8K 토큰의 실제 텍스트로 시작해 105개 청크를 생성하고, 그 사이 15번 독립적인 실제 텍스트 구절로 평가한다. 평가 후에는 가중치와 어텐션 상태를 복원해 평가가 스트림을 바꾸지 않게 했다. 125M 모델은 8192 토큰 어텐션 창을 쓰고 1024 토큰 청크마다 클리핑된 그래디언트 스텝 하나를 적용해 마지막 세 층의 피드포워드 모듈을 갱신한다. 생성은 temperature 1, top-p 0.95를 쓴다. 비교는 여섯 권의 책, 다섯 시드, 128K 지평, 배치 폭 8로 통일했다. 지표는 조건 c의 첫 평가와 마지막 평가 NLL 차이 D_c, Writes Off 대비 추가 악화 H_c, 종점 격차 E_c다.

무엇과 다른가

저자들은 원인을 세 갈래로 나눈다. 생성 텍스트가 고정 모델에서 나와도 나쁜 학습 데이터인가, 열화된 토큰이 어텐션에 남아 있는 동안 해를 끼치는가, 그 토큰에서 학습한 것이 가중치에 추가 해를 저장하는가. Fixed Generation은 학습자는 매 청크마다 계속 업데이트하되 미래 청크는 동결된 W_0가 공급하게 해, 업데이트가 다음 학습 텍스트를 바꾸는 연결만 끊는다. Recorded Replay는 저장해 둔 동일한 열화 토큰을 같은 수신 모델이 업데이트 없이 한 번, 업데이트를 유지하며 한 번 처리해 읽기 비용과 쓰기 비용을 분리한다. 마지막으로 paired one-update 비교는 동일한 가중치·어텐션·텍스트에서 복사본 두 개를 만들어 하나만 업데이트를 유지하고, 그 단일 업데이트가 자기 출처 청크는 더 잘 예측하는지 다음 실제 구절은 더 나쁘게 예측하는지 측정한다.

어떻게 쓰나

결과는 뚜렷하다. 업데이트를 유지하면 Writes Off 대비 125M에서 3.01, 760M에서 6.00, 3B에서 0.40 nats가 추가됐고 모든 구간이 0을 배제했다. Fixed Generation은 125M과 760M에서 각각 0.052, 0.073 nats의 초과 변화만 남겨 해당 Closed Loop 격차의 98.3%, 98.8%를 제거했다. 업데이트 크기로는 설명되지 않는다. Fixed Generation이 초기 가중치에서 더 멀리 이동했는데(0.01387 대 0.00857) 해는 훨씬 작았고, 실제 텍스트 학습은 더 멀리 이동해(0.01759) NLL을 0.3544 nats 개선했다. Recorded Replay에서 125M은 읽기만으로 수신 모델 대조군보다 1.606 nats 나빠졌고, 읽기+쓰기는 3.874 nats로 그 차이 2.268 nats가 가중치에 저장된 비용이다. 3B 복제에서도 쓰기가 0.1927 nats[0.1043, 0.3272]를 추가했고 모든 출처·수신 책 집계가 양수였다. 단일 업데이트 비교에서도 모든 조건에서 업데이트 유지가 출처 청크 NLL은 낮추고 다음 실제 구절 NLL은 높였다. Closed Loop 이력에서는 출처 개선이 0.0354로 작고 실제 텍스트 비용이 0.0381로 컸으며, 평균 비용은 스트림 초반 0.006 nats에서 후반 0.113 nats로 커졌다. 생성 청크 그래디언트와 실제 구절 그래디언트의 코사인은 측정된 해와 음의 상관(125M에서 −.502/−.788, 760M에서 −.633/−.731)을, g_real^T ΔW는 양의 상관(125M에서 +.704/+.794, 760M에서 +.632/+.751)을 보였다.

전제와 한계

평균 악화가 모든 후반 업데이트에서 오는 것은 아니다. 각 위치마다 72개의 짝지은 쓰기 비용을 측정했을 때, 첫 위치는 평균 0.0439·중앙값 0.0422로 비슷했지만 마지막 위치는 평균이 0.7512로 오르는 동안 중앙값은 0.0064로 떨어졌다. 0.5 nats를 넘는 후반 비용은 72개 중 12개뿐이고, 그 12개 전부가 24개 출처 시퀀스 중 4개에서 나왔다. 한 출처–수신 쌍이 한 번 임계값을 넘으면 이후 샘플링 위치에서도 계속 넘었다. 즉 소수 궤적이 반복적으로 큰 해를 만들며, 위치만으로는 안전한 쓰기를 식별할 수 없다. 반복 패널티는 128K 종점 격차를 3.01에서 0.88 nats로 줄였지만 어떤 구절이 안전한지는 알려주지 못했고, 8청크 리셋은 표준 격차의 94.2%를 제거하는 대신 실제 텍스트 적응 이득의 44.1%만 남겼다.

Settlement는 업데이트를 영구 반영하기 전에 후보 상태를 독립적인 실제 텍스트로 검증한다. 현재 fast weight W에서 임시 후보 W+δ를 만들고, 어텐션은 건드리지 않은 채 같은 실제 텍스트 구절 q에 대해 A(δ;W,q)=L(q,W)−L(q,W+δ)를 계산해 A≥0일 때만 δ를 커밋한다. 이 규칙은 후보의 출처 레이블을 쓰지 않지만 비교할 실제 텍스트는 필요하다. 125M에서 936개 중 22개, 760M에서 312개 중 18개 후보만 수용됐고, 종점 격차는 125M 0.07 nats, 760M −0.02 nats로 둘 다 구간이 0을 포함했다. 검증 없이 분기 크기를 1/4로 줄이거나 실제 텍스트를 읽기 전용으로 두면 각각 0.90, 1.04, 0.28 nats가 남았지만, Settlement를 붙이면 모든 변형이 Writes Off의 0.04 nats 이내로 들어왔다. 실제 텍스트만 있는 스트림에서는 113개 중 89개를 수용해 Reject All 대비 첫-마지막 NLL 변화를 0.0534 nats[0.0299, 0.0721] 줄였고 Write All 대비 이점은 0.0083 nats[0.0020, 0.0161]이었다. 레이블이 정확하면 Source Masking이 더 단순하고 NLL도 약간 낮았지만(3.8072 대 3.8196), 레이블 오류가 21.2%를 넘으면 Settlement의 평균 NLL이 더 낮아졌고 38.9% 이상에서는 짝지은 구간이 0을 배제했다. WebShop에서는 180개 후보 블록 중 10개를 수용해 exact success 0.1853을 기록, Closed Loop 0.1053과 Writes Off 참조 0.1600을 앞섰다. ALFWorld에서는 Closed Loop 시드 3개 중 2개가 134개 미학습 과제를 하나도 완수하지 못한 반면, Settlement는 시드 전반에서 88.1~94.0% 성공률을 보였다.

실무적으로 이 논문은 추론 중 학습을 켤 때 무엇을 봐야 하는지 알려준다. 자기 출력으로 만든 데이터를 그대로 가중치에 축적하는 롱호라이즌 에이전트나 스트리밍 LLM이라면, 출처 청크에 대한 손실 감소는 안전 신호가 아니다. 단일 업데이트조차 자기 출처는 더 잘 맞추면서 새 실제 텍스트는 더 나쁘게 예측했다. 반복 패널티나 리셋 같은 완화책은 해를 줄이지만 적응 이득도 함께 깎는다. 대신 커밋 전에 독립적인 실제 텍스트, 에이전트라면 검증 보상으로 후보 상태를 평가하는 규칙이 실제 텍스트 적응을 유지하면서 되먹임 손상을 거의 0으로 만든다. 실제 텍스트를 스트림에 고르게 자주 끼워 넣는 것도 효과가 컸다. 105개 청크 중 33개(31%)를 균등 배치하면 초과 해가 0.0694 nats였지만, 같은 33개를 몰아서 넣으면 0.7155 nats가 남았다.

저자들이 밝힌 전제와 한계도 분명하다. Settlement는 비교할 식별 가능한 실제 텍스트를 요구하며, 후보의 출처 레이블은 쓰지 않지만 실제 텍스트가 없으면 작동하지 않는다. 레이블이 신뢰할 수 있으면 Source Masking이 더 단순하고 성능도 약간 낫다. 그래디언트 충돌 점수는 해를 순위 매기는 데는 유효했지만 이 실험들에서 선택 규칙은 아니었다. 그 계산이 해를 측정하는 실제 구절 자체를 사용하기 때문이다. 또한 결과는 PG-19 책 도메인과 특정 TTT-E2E 구성, Qwen3-4B Adam 업데이트에서 얻은 것이며, 규모와 파라미터 수의 단조 관계가 아니라 방향의 재현으로 제시된다.