옷만 바꾸랬는데 동작까지 바뀌는 이유 — FAPL의 3단계 학습법

영상 생성기가 전달받은 이해를 실제로 활용하고, 원하는 요소만 바꾸도록 가르치는 FAPL의 3단계 학습을 뜯어본다.
日本語  ·  한국어
← 목록으로
온
온틀 리서치
2026년 10월 23일 읽기 13분 조회 0

인물만 파란 옷으로 갈아입혀 달라고 했다. 결과 영상에서는 손동작과 카메라 움직임까지 따라 바뀌어 있었다.

영상 생성기에 똑똑한 이해 모델을 붙이면 흔히 나오는 실패다. 멀티모달 LLM(이미지·영상·텍스트를 함께 이해하는 LLM, 이하 MLLM)은 대본을 읽고 레퍼런스를 해석해 무슨 일이 벌어지는지 제법 잘 안다. 그 이해를 영상 생성기에 연결할 수도 있다. 문제는 연결해도 결과에 거의 담기지 않는다는 점이다. 이해는 됐는데 쓰이질 않는다.

FAPL(Factor-Aware Predictive Learning)은 그 간극을 세 단계 학습으로 메운다. 그렇게 가르친 모델(영상 생성기가 13B짜리)이 생성기가 더 큰 14B짜리 비교군을 여러 지표에서 앞선다. 이 글은 그게 어떻게 가능한지를 따라간다.

이해는 됐는데 쓰이질 않는다

영화 한 컷을 만들 때 필요한 능력은 두 가지다.

하나는 적은 단서로 움직임을 채우는 일이다. 대본 몇 줄과 레퍼런스 몇 장으로 배우가 어떻게 움직이고 카메라가 어떻게 도는지를 메운다. 논문 초록의 예시가 이걸 잘 보여준다. "남자가 상자 쪽으로 몸을 돌려 오른손을 위에 얹고 왼손으로 묶음을 고정한다." 이런 동작 순서는 텍스트만으로는 놓치지만, 완전한 영상을 함께 보여주면 같은 모델이 재현해낸다.

다른 하나는 원하는 요소만 바꾸는 일이다. 맨 앞의 실패가 여기 속한다. 인물만 바꾸랬더니 동작까지 바뀌고, 카메라만 돌리랬더니 배경이 통째로 갈린다. 논문의 Figure 1이 그 장면이다. 다른 지시는 전부 고정하고 인물 프롬프트만 건드렸는데, 인물이 아닌 요소들까지 덩달아 움직인다.

원인을 보려면 영상 생성 쪽을 세 부품으로 나눠야 한다.

  • 해석 모델: 대본과 레퍼런스를 읽고 무슨 일인지 이해한다. 여기에 MLLM이 들어간다.
  • 생성기: 그 이해를 받아 실제 픽셀을 그린다. 논문에서는 Video DiT라 부르고, 노이즈에서 영상을 점점 복원하는 방식으로 동작한다.
  • 전달 모듈: 해석 모델이 이해한 내용을 생성기가 알아들을 형태로 바꿔 넘긴다.

해석 모델이 이해한 내용은 숫자 묶음이 되어 생성기로 건너간다. 이 숫자 묶음을 표현이라 부른다. 모델이 정보를 담아 전달하는 형태다.

MLLM을 쓰는 이유는 기존 입력이 부족해서다. 텍스트 인코더(T5·CLIP 계열, 글을 숫자 벡터로 바꾸는 모델)는 시각·시간 정보를 거의 담지 못한다. VAE로 압축한 레퍼런스 이미지는 겉모습은 보존하지만 어떤 동작인지, 카메라를 어떻게 움직일 생각인지는 담지 못한다. MLLM은 대본을 해석하고 레퍼런스를 읽어 그럴듯한 전개까지 추론한다. 그래서 최근 연구들은 MLLM의 표현을 전달 모듈로 변환해 생성기에 넣는다.

여기서 함정이 생긴다. 쓸 수 있게 만드는 것과 실제로 쓰게 만드는 것은 다르다. 생성기에는 원래 텍스트 인코더 경로와 VAE 레퍼런스 경로가 함께 달려 있다. 모델은 낯선 MLLM에 기대지 않고도 이 익숙한 두 경로만으로 오차를 줄일 수 있다. 그래서 MLLM이 이해한 내용은 옆으로 샌다. 이 우회(bypass)가 두 능력을 동시에 막는 공통 병목이다.

Figure 2가 이걸 드러낸다. MLLM 조건만 남기면, 생성기가 작은 쪽(Omni-Video 2의 1.3B Video DiT)은 노이즈를 뱉고, 생성기가 큰 쪽(Omni-Video 2의 14B Video DiT)은 한 사람의 연속 동작을 두 사람이 따로 노는 장면으로 그린다. 조건이 충돌하면 VAE 레퍼런스가 출력을 지배한다.

FAPL의 해법은 두 가지다. MLLM 표현을 콘텐츠를 나르는 유일한 통로로 강제해 우회를 막고, 바꿀 것과 지킬 것을 짝지은 예시로 가르친다. 이 두 가지를 세 단계에 나눠 담았다.

세 단계로 가르친다

각 단계는 다른 부품을 얼린다. 얼린다는 건 그 부품의 가중치를 고정해 학습 중 바꾸지 않는다는 뜻이다. 어느 단계에서 무엇을 학습하고 무엇을 배우는지부터 보자.

단계 학습하는 부품 배우는 것
1단계 생성기 MLLM이 건넨 표현을 영상으로 펼치기
2단계 생성기 바꿀 요인만 바꾸고 나머지는 지키기
3단계 해석 모델 + 전달 모듈 생성기에 잘 맞는 표현 내놓기

1단계 — 표현을 쓰게 만들기

MLLM과 전달 모듈을 얼리고 생성기만 학습한다. 이때 텍스트 인코더와 VAE 레퍼런스 경로를 꺼 버린다. 기댈 데가 MLLM 표현밖에 없으니, 생성기는 그 표현을 해독해 쓰는 법을 배운다. 우회로 자체를 닫아 버리는 셈이다.

학습은 두 입력 모드를 섞는다. 텍스트만 주는 모드, 그리고 텍스트에 완전한 영상까지 함께 주는 모드다. 완전한 영상은 MLLM 표현에 시각·시간 정보를 실어 생성기를 길들이고, 텍스트 전용 모드는 뒤 단계와의 호환을 지킨다.

2단계 — 바꿀 것과 지킬 것을 짝으로

"빨간 옷 인물"을 "파란 옷 인물"로 바꾸되 동작과 배경은 그대로 둔다고 하자. 이걸 가르치는 장치가 요인 구간 교체다.

먼저 한 요인만 다른 영상 쌍을 준비한다. 인물만 다르고 동작·배경은 똑같은 두 영상이다. 그다음 캡션을 인물·장면·동작·카메라 네 필드로 재작성해 둔다. 그러면 각 요인이 표현의 어느 토큰 구간에 해당하는지 주소가 생긴다. 토큰 구간이란 그 숫자 묶음에서 인물 설명에 해당하는 부분을 가리킨다. 이제 인물 구간만 상대 영상의 것으로 갈아 끼우고 나머지 토큰은 건드리지 않는다. 인물 구간을 바꾼 조건은 인물만 바뀐 영상으로 이어지도록 지도하고, 반대 방향도 함께 가르친다.

핵심은 요인을 억지로 떼어내지 않는다는 점이다. 논문은 요인들이 깔끔하게 분리돼 있다고 가정하지 않고, 특징을 분리하는 목적함수도 쓰지 않는다. 대신 출력의 반응으로 가르친다. 인물 구간만 건드렸는데 동작까지 달라지면, 그게 바로 틀렸다는 신호다. 모델은 "이 구간을 바꾸면 출력의 이 부분만 바뀌어야 한다"를 그 반응에서 배운다. 이 단계도 생성기만 갱신한다.

3단계 — 생성기를 기준으로 해석 모델 다듬기

앞 두 단계로 생성기는 표현을 제대로 펼치는 법을 익혔다. 그래서 3단계에서는 이 생성기를 고정된 기준으로 삼아, 해석 모델이 생성기와 잘 맞물리는 표현을 내도록 조정한다. 생성기를 고정해야 "좋은 표현"의 기준이 흔들리지 않고, 해석 모델만 그 기준을 향해 움직인다.

심화 — 학습 신호(그래디언트)는 고정된 생성기를 그대로 통과해 전달 모듈과 해석 모델까지 흐른다. 생성기는 한 글자도 바뀌지 않지만 통로 역할은 한다. 픽셀을 직접 맞추는 대신 고품질 생성기를 거쳐 예측을 지도한다는 점이, 고품질 디코더가 없거나 따로 학습해야 하는 기존 예측 표현 학습(JEPA 계열)과 갈리는 지점이다.

세 단계가 끝나면 MLLM 표현을 유일한 콘텐츠 조건으로 쓰는 한 구조가 남는다. 이 구조 하나로 세 가지를 한다. 대본·레퍼런스만으로 생성, 구조화 프롬프트의 한 필드만 고쳐 그 구간만 바꾸는 요인별 제어, 인물·장면은 공유하고 동작·카메라만 샷마다 바꾸는 멀티샷 생성이다.

결과: 키우기와 쓰게 만들기는 다른 레버

FAPL은 UniVideo(Video DiT 13B) 위에 구현했고, 원본 UniVideo와 Omni-Video 2(Video DiT 1.3B·14B 변형)를 비교 대상으로 삼았다. 학습·평가 데이터는 소스가 겹치지 않게 갈라 놓았다(학습 10만 쌍, 테스트는 학습에 안 쓴 소스 그룹). 과제마다 테스트셋이 다르니, 아래 세 줄은 한 점수의 세 측면이 아니라 서로 다른 실험의 결과다.

과제 지표(높을수록 좋음) UniVideo (DiT 13B) FAPL
적은 단서로 움직임 채우기 동작 순서 정확도 48% 61%
원하는 요소만 바꾸기 편집 정확도 42% 58%
여러 샷에서 인물 유지 얼굴 신원 유지도 0.451 0.523

세 과제 모두 가장 센 비교군을 앞선다. 카메라 궤적 오차(이동·회전)도 비교군 중 가장 낮다(이쪽은 낮을수록 정확).

숫자 하나가 이 논문의 주장을 압축한다. Omni-Video 2는 생성기(Video DiT)가 14B인 쪽이 1.3B인 쪽보다 전반적으로 낫다. 그런데 생성기가 13B인 FAPL이 그 14B를 여러 지표에서 앞선다. 생성기를 키우는 것과 MLLM의 이해를 실제로 쓰게 만드는 것은 서로 다른 레버다. 앞에서 본 우회를 막은 대가가 여기서 수치로 돌아온다.

세 단계가 각각 얼마나 보태는지는 공개 원문의 제거(ablation) 실험에 나와 있다(§4.4·Table 2). 1단계만 적용하면 동작 순서 정확도가 48%에서 54%로 오른다. 2단계의 요인 구간 교체를 더하면 편집 정확도가 48%에서 57%로, 3단계의 관측 혼합까지 더하면 동작 순서 정확도가 57%에서 61%로 올라간다. 세 장치가 각각 기여하면서 함께 작동할 때 비교군을 앞선다.

무엇이 나아졌는지도 숫자만큼 중요하다. UniVideo는 큰 흐름은 잡아도 머리 길이·손동작·요청한 궤도 같은 세부를 흘리고, 일부 편집에서 엉뚱한 요인까지 건드린다. 맨 앞의 "옷만 바꿨는데 동작까지 바뀌는" 실패가 그 전형이다. FAPL은 명세를 더 충실히 따르고, 바꾸지 않기로 한 요인을 보존하며, 샷이 바뀌어도 배경과 인물 외형을 유지한다(Figure 4·5·7).

한계

이 글의 판단은 공개된 논문 발췌 범위 안에서 내린 것이다.

지표는 지시 따르기와 일관성을 잴 뿐, 영상이 얼마나 영화다운지는 재지 않는다. 심미적 품질이나 사람이 느끼는 자연스러움과 이 숫자들 사이의 간극은 표만으로 메워지지 않는다.

적용 범위는 네 필드에 묶여 있다. 요인 주소 지정이 인물·장면·동작·카메라 구조에 기대므로, 조명·편집 리듬·대사 타이밍처럼 이 틀 밖의 요인에는 그대로 적용되지 않는다.

수치는 상대 우위일 뿐 절대적으로 높지 않다. 61%, 58%는 비교군보다 앞설 뿐 포화와는 거리가 있고, 멀티샷 평가는 100 시퀀스로 작다. "가장 높다"를 "충분히 높다"로 읽으면 안 된다.

온틀에서는

AI PM이 매주 하는 일 하나가 흩어진 작업 데이터를 모아 상태 보고를 쓰는 것이다. 이번 주 태스크 DB, 완료 로그, 지연 사유가 검색(RAG)으로 컨텍스트에 붙는다. 그런데 나온 보고서가 데이터와 미묘하게 어긋난 그럴듯한 일반론일 때가 있다. 지연된 태스크가 세 건인데 보고서는 "대체로 순조롭다"고 쓴다. 검색된 수치 대신 모델이 학습 때 본 전형적 표현으로 메운 것이다. 근거는 붙었는데 쓰이지 않았다. 영상 생성기가 쉬운 경로로 새던 것과 같은 모양이다.

확인하는 방법은 FAPL 2단계에서 빌려 올 수 있다. 같은 보고서에서 지연 건수만 셋에서 일곱으로 바꿔 넣고 다시 생성해 본다. 지연 관련 서술이 따라 바뀌는가. 그리고 지연 건수와 무관한 항목, 가령 예산 집행률은 그대로 있는가. 근거를 바꿨는데 결론이 꿈쩍도 않는다면, 그 근거가 읽히고 있는지 다시 봐야 한다.

이 검사를 제대로 돌리려면 설계에서 두어 가지를 챙기는 게 좋다. 검색된 근거만 남기고 다른 입력을 끈 모드로 돌려 보면 우회가 더 선명하게 드러난다. 지연 건수를 자유 문장이 아니라 정해진 필드로 못 박아 두면 그 항목만 조준해 바꾸기 쉽다. 둘 다 검사의 전제가 아니라 설계할 때 검토할 조건이다. 온틀이 "AI PM 파견"의 품질을 잴 때 실제로 던져 볼 질문은 하나다. 근거 한 줄을 바꿨을 때, 관련 서술은 따라 바뀌고 무관한 서술은 그대로인가.

자주 묻는 질문

FAPL은 영상 생성기를 처음부터 새로 학습하나요?

아니요. 사전학습된 MLLM과 생성기(구현은 UniVideo의 13B Video DiT)를 재사용합니다. 단계마다 다른 모듈만 얼리거나 학습합니다. 1·2단계는 생성기만, 3단계는 생성기를 고정하고 해석 모델과 전달 모듈을 학습합니다.

요인 구간을 교체할 때 두 영상의 토큰 수가 다르면 문제가 안 되나요?

괜찮습니다. 교체는 전달 모듈 뒤, 생성기 앞에서 일어나 추가 변환이 붙지 않고, 두 구간의 토큰 수가 서로 달라도 됩니다. 양방향 지도의 식은 논문 부록에 있습니다.

편집 정확도 58%가 랜덤보다 얼마나 나은 건지 계산할 수 있나요?

발췌만으로는 어렵습니다. 무작위 기준선을 알려면 객관식 선택지 수가 필요한데 그 값이 발췌에 없습니다. 지금 확실한 건 상대 비교에서 가장 높다는 것뿐입니다.

참고자료