S2PD가 고잡음 자기회귀 확산으로 영상의 물리·논리 일관성을 높인다
S2PD: Serial-to-Parallel Diffusion for Physically and Logically Consistent Video Generation
무엇인가
양방향 비디오 확산 트랜스포머는 영상의 모든 토큰을 병렬로 디노이징한다. Wan 같은 대규모 모델은 FVD와 VBench에서 높은 시각적 충실도를 얻지만, 형태가 뭉개지는 아티팩트와 물리 법칙 위반이 반복적으로 보고돼 왔다. 이 논문의 출발점은 더 이상한 관찰이다. 비교적 단순한 시뮬레이터에서 사실상 무한히 생성한 in-distribution 데이터로 학습해도 양방향 모델의 이런 실패가 사라지지 않는다. 즉 물리적 정확성이 데이터 스케일링만으로 창발하지 않는다. 저자들은 Serial Scaling Hypothesis(Liu et al., 2026)를 근거로 든다. 확산 모델은 디노이징 스텝을 아무리 늘려도 유한한 순차 깊이를 갖는 계산 복잡도 클래스 TC0에 머물기 때문에, 긴 인과 사슬을 담은 영상을 다루려면 순차 계산을 별도로 공급해야 한다는 것이다. 저자들의 가설은 이렇다. 디노이징 초반 영상 전체 구조가 모호할 때 양방향 모델이 서로 다른 시공간 영역에 국소적으로는 그럴듯하지만 상호 양립 불가능한 사건을 배정하고, 이후 디노이징이 그 약속을 화해시키지 않은 채 날카롭게 다듬으면서 급격한 변화와 잘못된 상태 전이가 생긴다는 것이다.
어떻게 동작하나
제안 방법 S2PD(Serial-to-Parallel Diffusion)는 샘플링을 두 단계로 나눈다. 고잡음 구간에서는 블록 단위로 자기회귀 확산을 수행하고, 저잡음 구간에서는 전체 영상을 하나의 블록으로 보고 병렬로 정제한다. 두 단계를 가르는 전이 노이즈 레벨 τ∈[0,1]를 두고, 기본 설정은 균등 간격 10 디노이징 스텝 중 4스텝을 직렬 디노이징에, 6스텝을 병렬 정제에 배분하는 τ=0.6이다. 직렬 단계에서는 크기 b≤N_f(한 시간 슬라이스의 토큰 수)인 블록을 가우시안 노이즈로 초기화하고 t=1부터 τ까지 자기회귀적으로 디노이징하며, 앞서 생성한 블록의 KV 캐시를 노이즈 레벨 τ로 조건으로 받는다. 병렬 단계에서는 모든 블록이 τ에 도달하면 전체 노이즈 영상을 단일 블록으로 취급해 t=τ에서 0까지 디노이징한다. 토큰당 디노이징 스텝 수는 같지만 모든 토큰을 배치로 묶어 처리하기 때문에 병렬 정제가 훨씬 빠르다. 저자들은 샘플링이 연산량이 아니라 메모리 대역폭에 병목이 걸린다고 설명한다. 비교 대상으로 쓰인 cDF(인과 Diffusion Forcing)와 BC(블록 인과 확산)는 블록 크기를 N_f로 두고 각 블록을 t=0까지 완전히 디노이징하며, 자기회귀 드리프트를 줄이려고 KV 캐시에 넣기 전에 컨텍스트 노이즈 레벨 t_c=0.2로 재노이즈한다.
무엇과 다른가
학습에서 S2PD는 각 타깃 블록을 앞선 컨텍스트 블록만 보고 노이즈 레벨 t_c로 디노이징하도록 배운다. 기본값은 t_c~U(0,1)로 추론 시 다양한 전이 노이즈 레벨을 지원하고, 타깃 블록의 노이즈 레벨 t_k는 고잡음 구간의 학습 커버리지를 유지하는 plateau logit-normal 분포에서 뽑는다. 토큰 순서, 어텐션 패턴, 노이즈 레벨은 블록 인과 확산과 동일하고, 차이는 한 배치 안에서 여러 블록 크기 b∈{4, 8, …, N_f, N_v}를 섞어 학습한다는 점뿐이다. 블록 크기와 전이 노이즈 레벨 선택은 추론 시점으로 미룬다. 이미지-투-비디오를 지원할 때는 깨끗한 조건 이미지 토큰을 시퀀스 앞에 붙인다. 구현은 픽셀 공간에서 처음부터 학습한 132.7M 파라미터 DiT-B와, 사전학습된 잠재 공간 비디오 확산 모델 Wan-5B를 rank-32 LoRA(총 80.6M 학습 파라미터)로 인과 어텐션에 맞게 적응시킨 Wan-5B-LoRA 두 가지다. BC와 S2PD는 학습 시 시퀀스 길이가 두 배이므로 Bidirectional과 cDF의 배치 크기를 두 배로 키워 토큰 예산과 대략적인 총 학습 FLOPs를 맞춘다.
어떻게 쓰나
데이터셋은 게임, 물리 시뮬레이션, 실제 영상으로 구성된다. 이산 데이터셋으로 Conway의 생명 게임, 체스, 2048, 15 퍼즐, 테트리스, 스네이크, 루빅스 큐브 3D를 쓰고, 연속 시뮬레이션으로 이중 진자, 삼체 궤도 역학, 2D·3D 충돌 공, 퐁을 넣었다. 체스는 Lichess에서 사람이 둔 100만 경기를 내려받았다. 복잡한 데이터로는 Kubric MOVi-A(학습 9,703·검증 250), MOVi-C(9,737·250), MPMWorlds(9,439·1,017), 직접 수집한 루빅스 큐브 실제 영상(5,000·512)을 쓴다. 모든 영상은 24fps 10초, 256×256이다. 단순 데이터셋은 생성 영상을 심볼릭 상태로 파싱해 전이 규칙 위반을 세고, 롤아웃당 잘못된 전이 수를 주 지표로 삼는다. 연속 데이터셋은 객체를 추적하고 시뮬레이션 파라미터를 맞춰 롤아웃당 동역학 오차를 보고한다. 파싱이 어려운 복잡한 데이터셋은 CD-FVD 같은 분포 기반 지표로 대체한다.
전제와 한계
결과에서 직렬 방식들은 이산·연속 데이터셋 모두에서 서로 비슷했지만 양방향 베이스라인을 크게 앞섰다. Conway 생명 게임에서 양방향 베이스라인은 학습 내내 유효한 전이를 전혀 생성하지 못한 반면, 제안 방법은 규칙을 빠르게 학습해 오류가 거의 없는 영상을 만든다. Wan-5B-LoRA, 블록 크기 64 조건의 CD-FVD는 Kubric MOVi-A에서 cDF 168.5(13.8초), BC 141.2(13.7초), S2PD 137.0(6.8초)이었고, MOVi-C는 376.5(13.7초), 240.3(13.8초), 231.7(6.8초), MPMWorlds는 43.2(13.7초), 43.9(13.6초), 42.5(6.9초), 루빅스 큐브 실제 영상은 70.8(13.8초), 70.9(13.7초), 64.4(7.0초)였다. 같은 블록 크기에서 S2PD가 가장 낮은 CD-FVD를 내면서 다른 직렬 방식보다 약 두 배 빠르다. τ=0.6은 모든 블록 크기에서 τ=0.0보다 두 배 이상 빠르고 점수는 τ=0.2와 비슷하다. 블록 크기를 줄이면 이산 데이터셋의 오류가 줄고 연속 데이터셋은 덜 민감하다. Raster·Zigzag·Hilbert 토큰 순서 비교에서는 Raster 대비 이점이 없어 Raster를 기본으로 쓴다. Kubric 데이터셋에서 순수 직렬 생성은 시간적 불안정과 플리커를 보이는데, 프레임 중심선을 쌓아 만든 x-t 시공간 슬라이스에서 S2PD와 정답은 깨끗한 수직선을, BC와 cDF는 얼룩진 아티팩트를 보인다.
개발자 관점에서 이 논문이 주는 실무적 시사점은 샘플링 스케줄만 바꿔도 규칙 위반을 크게 줄일 수 있다는 점이다. 모델 구조나 학습 데이터를 키우지 않고, 고잡음 구간의 블록 단위 자기회귀와 저잡음 구간의 병렬 정제를 조합하는 것만으로 체스·2048 같은 상징 규칙과 충돌·유체 동역학의 일관성이 좋아지고 추론 시간은 절반으로 줄어든다. 월드모델이나 게임 영상 생성처럼 상태 전이의 유효성이 중요한 파이프라인이라면, 전이 노이즈 레벨 τ와 블록 크기를 추론 시점에 조절할 수 있다는 점이 특히 유용하다. 다만 평가가 픽셀 정합 정답 영상이 아니라 시뮬레이터 규칙 기반 파싱에 의존하므로, 실제 서비스에 적용할 때는 자체 도메인에서 파싱·추적 실패율을 먼저 확인해야 한다.
저자들이 밝힌 한계와 전제도 분명하다. τ=0.0으로 완전 직렬 생성하면 자기회귀 드리프트에 매우 취약해 권장하지 않고, 생성 블록을 재노이즈하는 방식은 드리프트를 줄이는 대신 이후 블록이 쓸 수 있는 정보를 훼손해 플리커를 만든다. 평가에서 영상 파싱과 객체 추적 실패가 지표를 교란하며, 파싱이 신뢰할 만하지 않은 복잡한 데이터셋은 규칙 위반을 직접 세지 못하고 CD-FVD 같은 분포 지표로 후퇴한다. 또한 실제 세계 벤치마크는 일반화 요구가 커서 실패 원인을 분리하기 어렵기 때문에, 저자들은 더 단순한 게임과 시뮬레이션에서 원인을 규명한 뒤 복잡한 데이터로 확장하는 전략을 택했다는 전제를 깔고 있다.