22. 영상 생성 모델의 학습 — 시퀀스와 디퓨전 사이에서 무엇을 "강제"하는가

긴 영상의 오류 누적: 선생님보다 길게 굴리기

셀프 포싱은 학습 때 5초짜리 영상을 자기 과거로 굴렸다. 그런데 1분, 4분짜리 영상을 만들면 어떨까? 학습 때 굴린 길이를 넘어서는 순간, 모델은 다시 처음 보는 과거를 딛게 된다. 5초 뒤에 쌓인 어긋남은 한 번도 겪어 본 적이 없다. 게다가 증류의 선생님인 양방향 모델은 애초에 5초짜리밖에 못 만든다. 학생에게 1분짜리 모범답안을 보여 줄 수가 없다.

역사: 오류 누적과 싸운 1년

2025년 4월부터 1년 동안 이 문제에 대한 답이 잇달아 나왔다. 무엇을 해결했는지만 한 줄씩 적는다.

날짜 방법 무엇을 바꿨나 갈래
2025.4 FramePack (Lvmin Zhang, Maneesh Agrawala) 과거 프레임을 중요도에 따라 압축해 문맥 길이를 묶고, 끝 프레임을 먼저 정하는 등 샘플링 순서를 바꿔 오류 누적을 막는다 조건 바꾸기
2025.9 LongLive 긴 영상으로 굴려 학습하고(길게 학습해 길게 생성), 프롬프트가 바뀌면 KV 캐시를 다시 계산한다. H100 한 장에서 초당 20.7프레임, 최대 240초 미리 겪기
2025.9 Rolling Forcing 한 프레임씩이 아니라 창(여러 프레임) 안의 프레임을 함께 걷어 내되 뒤로 갈수록 노이즈를 높인다. 첫 프레임들을 늘 참조하는 어텐션 싱크를 둔다 조건 바꾸기
2025.10 Self-Forcing++ 학생이 선생님보다 긴 영상을 굴리게 한 뒤, 그 긴 영상에서 잘라 낸 구간을 짧은 선생님이 바로잡는다. 선생님 길이의 최대 20배, 최장 4분 15초 미리 겪기
2025.10 Stable Video Infinity 모델이 스스로 낸 오류를 모아 두었다가 깨끗한 학습 입력에 다시 섞어, 오류가 쌓인 과거를 흉내 낸다(오류 재활용) 미리 겪기
2026.2 Causal Forcing 학생의 초기화를 양방향 선생님이 아니라 자기회귀 선생님으로 한다. 구조가 다른 선생님에게서 오는 어긋남을 없앤다 조건 바꾸기
2026.2 Context Forcing 긴 문맥을 보는 선생님이 긴 문맥을 보는 학생을 가르친다. 짧은 창 선생님과 긴 롤아웃 학생의 불일치를 줄인다 조건 바꾸기

표를 세로로 읽으면(맨 오른쪽 칸) 두 갈래가 보인다. 하나는 어긋난 과거를 학습 때 미리 겪게 하는 것이다. 길게 굴리기(LongLive, Self-Forcing++)와 오류 재활용(Stable Video Infinity)이 여기에 든다. 다른 하나는 어긋남이 덜 생기게 조건을 바꾸는 것이다. 문맥 압축(FramePack), 노이즈를 점점 높이는 창(Rolling Forcing), 선생님 바꾸기(Causal·Context Forcing)가 여기에 든다. 앞의 것은 노출 편향을 정면으로, 뒤의 것은 어긋남이 넘어가는 배율 자체를 낮추는 쪽이다.

짧은 선생님이 긴 학생을 가르치는 법

Self-Forcing++의 발상은 단순하다. 선생님은 5초짜리 영상의 분포밖에 모르지만, 「지금 이 5초가 그럴듯한 5초인가」는 영상 어디에서든 판단할 수 있다. 그래서 학생이 1분짜리를 굴리게 하고, 그 안의 아무 5초 구간을 떼어 선생님에게 보여 준다. 학생의 50초 지점 구간에는 앞 50초 동안 쌓인 어긋남이 그대로 담겨 있다. 선생님은 그 구간을 「5초짜리 진짜 영상다움」 쪽으로 당긴다. 학생은 긴 영상에서만 생기는 과거 위에서, 짧은 영상에서 배운 기준으로 교정받는다.

학생이 굴린 1분짜리 영상 (한 칸 = 5초) 칸이 진할수록 쌓인 어긋남이 크다 0초 30초 60초 50초 지점의 5초를 떼어 선생님에게 선생님은 5초짜리 진짜 영상만 안다
ML에서: 영상 모델이 길어질수록 필요한 것

긴 영상에서 품질을 재는 기준도 바뀐다. 첫 5초의 품질만 보면 오류 누적이 보이지 않는다. Self-Forcing++ 논문이 기존 평가 기준을 보완한 긴 영상 평가를 따로 제안한 것도 그래서다. 영상의 품질은 이제 「가장 좋은 순간」이 아니라 「끝까지 얼마나 버티는가」로 잰다. 보상을 설계할 때도 같은 질문이 돌아온다. 마지막 프레임 하나에 점수를 매기면, 앞부분이 무너져도 끝만 그럴듯하면 높은 점수를 받는다.

문제 9 — 5초 선생님, 4분 학생

Self-Forcing++의 선생님은 5초짜리 영상만 만들 수 있다. (가) 학생이 1분짜리 영상을 굴린 뒤 처음 5초만 떼어 선생님에게 보여 주면 무엇을 놓치는가? (나) 선생님이 5초 넘는 영상을 한 번도 본 적이 없는데도, 50초 지점의 구간을 교정할 수 있는 근거는 무엇인가?

김민준 (평상)
김민준
(가)는 금방이에요. 처음 5초는 어긋남이 거의 쌓이기 전이니까, 학습 때 5초만 굴린 셀프 포싱이랑 다를 게 없어요.
선생님 (평상)
선생님
그래요. 긴 영상에서만 생기는 과거를 학습에 넣으려면 뒤쪽 구간을 봐야 하죠. (나)는요?
이서연 (의심)
이서연
선생님이 5초짜리만 알면 50초 지점의 영상이 「그럴듯한지」는 판단 못 하는 거 아니에요? 50초까지 흘러온 이야기를 모르잖아요.
선생님 (질문)
선생님
서연 학생, 진짜 1분짜리 영상에서 아무 5초를 떼어 내면, 그 5초는 5초짜리 진짜 영상과 다르게 생겼나요?
이서연 (생각)
이서연
이야기의 앞뒤는 다르겠지만, 5초 안에서 물체가 움직이는 방식이나 색이 유지되는 방식은 똑같아야 해요. 50초가 흘렀다고 색이 바래는 진짜 영상은 없으니까요.
이서연 (깨달음)
이서연
오류 누적은 「5초 안에서도 보이는 부자연스러움」으로 드러나네요. 색이 바래는 것도, 인물이 뭉개지는 것도 그 구간만 봐도 이상해요. 선생님은 그걸 잡으면 돼요.
선생님 (평상)
선생님
그래요. 다만 서연 학생 걱정의 절반은 맞아요. 50초 전에 나온 인물이 같은 얼굴인지는 5초 구간만 보는 선생님이 판단할 수 없어요. 그건 긴 문맥을 보는 쪽(Context Forcing 같은)이 따로 다뤄요.
김민준 (평상)
김민준
5쪽짜리 보고서만 채점해 본 조교님도, 50쪽 보고서의 아무 5쪽을 보고 문장이 망가졌는지는 알 수 있는 거네요. 앞뒤 내용이 맞는지는 모르지만요.

정리 (가) 처음 5초에는 긴 영상의 어긋남이 아직 쌓이지 않았으므로 짧게 굴린 학습과 다를 게 없다. 뒤쪽 구간을 떼어야 긴 영상에서만 생기는 과거가 학습에 들어온다. (나) 진짜 긴 영상의 아무 짧은 구간도 짧은 진짜 영상처럼 생겼으므로, 오류 누적은 짧은 구간 안에서도 부자연스러움으로 드러난다. 다만 멀리 떨어진 프레임 사이의 일관성(같은 인물인가)은 짧은 선생님이 판단할 수 없다.