16장 — 영상 생성: 시퀀스와 디퓨전 사이

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

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

역사: 오류 누적과 씨름한 1년

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

나온 달 방법 무엇을 바꿨나 갈래
2025.4 FramePack(장뤼민 Lvmin Zhang, 아그라왈라 Maneesh Agrawala) 과거 프레임을 중요도에 따라 압축해 문맥 길이를 묶고, 끝 프레임을 먼저 정하는 등 걷어 내는 순서를 바꿔 오류 누적을 막는다 조건 바꾸기
2025.9 LongLive 긴 영상으로 굴려 학습하고(길게 학습해 길게 생성), 프롬프트가 바뀌면 KV 캐시를 다시 계산한다. H100 한 장에서 1초에 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분짜리 영상은 뒤로 갈수록 어긋남이 쌓인다(칸이 진할수록 크다). 그 가운데 50초 지점의 5초 구간을 떼어 5초짜리만 아는 선생에게 보인다. 스크립트 sources/ch16/figs.py
학생이 굴린 1분짜리 영상은 뒤로 갈수록 어긋남이 쌓인다(칸이 진할수록 크다). 그 가운데 50초 지점의 5초 구간을 떼어 5초짜리만 아는 선생에게 보인다. 스크립트 sources/ch16/figs.py

ML에서: 영상 모델이 길어질수록 필요한 것

긴 영상에서는 품질을 재는 기준도 바뀐다. 첫 5초의 품질만 보면 오류 누적이 보이지 않는다. Self-Forcing++ 논문이 기존 평가 기준을 보완한 긴 영상 평가를 따로 제안한 것도 그래서다. 영상의 품질은 이제 「가장 좋은 순간」이 아니라 「끝까지 얼마나 버티는가」로 잰다. 메모리도 따로 따져야 한다. 앞 프레임의 열쇠와 값을 모두 적어 두면 KV 캐시가 영상 길이에 비례해 자라므로, 긴 영상을 만드는 모델들은 최근 프레임 몇 장의 창만 남기고 오래된 것은 버린다. Rolling Forcing 과 LongLive 가 첫 프레임 몇 장을 버리지 않고 늘 읽게 하는(어텐션 싱크) 것도 이 창 안에서 일어나는 일이다.

문제 13. 5초 선생, 4분 학생

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

김민준 M01
김민준

(가)는 금방이에요. 처음 5초는 어긋남이 거의 쌓이기 전이니까, 학습 때 5초만 굴린 셀프 포싱이랑 다를 게 없어요.

선생님 T01
선생님

그래요. 긴 영상에서만 생기는 과거를 학습에 넣으려면 뒤쪽 구간을 봐야 하죠. (나)는요?

이서연 S06
이서연

선생 모델이 5초짜리만 알면 50초 지점의 영상이 「그럴듯한지」는 판단 못 하는 거 아니에요? 50초까지 흘러온 이야기를 모르잖아요.

선생님 T14
선생님

서연 학생, 진짜 1분짜리 영상에서 아무 5초를 떼어 내면, 그 5초는 5초짜리 진짜 영상과 다르게 생겼나요?

이서연 S02
이서연

이야기의 앞뒤는 다르겠지만, 5초 안에서 물체가 움직이는 방식이나 색이 유지되는 방식은 똑같아야 해요. 50초가 흘렀다고 색이 바래는 진짜 영상은 없으니까요.

이서연 S07
이서연

오류 누적은 「5초 안에서도 보이는 부자연스러움」으로 드러나네요. 색이 바래는 것도, 인물이 뭉개지는 것도 그 구간만 봐도 이상해요. 선생 모델은 그걸 잡으면 돼요.

선생님 T01
선생님

그래요. 다만 서연 학생 걱정의 절반은 맞아요. 50초 전에 나온 인물이 같은 얼굴인지는 5초 구간만 보는 선생 모델이 판단할 수 없어요. 그건 긴 문맥을 보는 쪽(Context Forcing 같은)이 따로 다뤄요.

김민준 M07
김민준

5쪽짜리 보고서만 채점해 본 조교님도, 50쪽 보고서의 아무 5쪽을 보고 문장이 망가졌는지는 알 수 있는 거네요. 앞뒤 내용이 맞는지는 모르지만요.

문제 14. 4분짜리 영상의 KV 캐시

Wan2.1 의 매개변수 13억 개짜리 모델은 블록 30개, 폭 1,536(머리 12개 × 128)이고, 수 하나를 2바이트로 적는다. 토큰 하나에 적어 두는 바이트는 2 × 블록 수 × 폭 × 2다. 832 × 480 영상에서 잠재 프레임 하나는 토큰 1,560개다. (가) 토큰 하나, 잠재 프레임 하나의 캐시는 얼마인가? (나) 1초에 16장으로 4분짜리 영상을 이어 만들며 앞의 것을 모두 적어 두면 캐시는 얼마가 되는가? (다) 최근 잠재 프레임 21장(5초)만 남기는 창으로 바꾸면?

김민준 M01
김민준

(가)는 2 × 30 × 1,536 × 2 = 184,320바이트, 180KiB예요. 잠재 프레임 하나는 그 1,560배라 274MiB고요.

김민준 M11
김민준

(나)는 4분이 240초니까 240 × 16 = 3,840장, 넷씩 묶으면 잠재 프레임 960장이에요. 960 × 274MiB = 257GiB.

이서연 S06
이서연

257GiB면 H100 한 장(메모리 80GB)에 안 들어가잖아. 모델 가중치도 올려야 하는데.

선생님 T14
선생님

그래서 (다)를 물었어요. 창을 21장으로 묶으면요?

김민준 M01
김민준

21 × 274MiB = 5.6GiB요. 영상이 아무리 길어도 그대로예요. 5초 영상 하나를 통째로 적어 둔 것과 같은 크기네요.

이서연 S08
이서연

대신 창 밖으로 밀려난 프레임은 다시 읽을 수가 없어. 4분 전에 나온 인물의 얼굴은 창 안에 없으니, 첫 프레임 몇 장을 늘 남겨 두는 어텐션 싱크가 그 빈자리를 조금 메우는 거고. 앞 문제에서 짧은 선생이 판단 못 한다던 「먼 프레임 사이의 일관성」이 여기서도 걸리네.

선생님 T13
선생님

그래요. 긴 영상에서는 메모리와 먼 과거가 같은 물음의 두 얼굴이에요.

김민준 M07
김민준

회의록을 전부 들고 다닐 수 없어서 최근 다섯 장과 첫 장의 결정 사항만 들고 다니는 거네요. 중간에 정한 건 잊어버리기 쉽고요.