RelayVSR X2: H3 클립으로 학습된 2배 비디오 업스케일러

ComfyUI Wikinews

LightX2V 팀이 RelayVSR을 네이티브 2배 비디오 초해상도용으로 재학습했습니다. H100에서 45 FPS, 플리커 억제, 그리고 두 개의 체크포인트를 제공합니다.

RelayVSR X2는 2026년 10월 29일 LightX2V 팀이 공개했습니다. 고정 4배 초해상도 모델이던 RelayVSR을 네이티브 2배 모델로 재학습한 것으로, MiniMax H3 생성 이후의 해상도 단계를 겨냥합니다. 가중치는 Hugging Face에 있으며, 추론은 LightX2V의 scripts/relayvsr를 통해 실행되고, 아직 ComfyUI 노드는 없습니다.

768x1344의 H3 클립은 1536x2688로 깔끔하게 두 배가 되며, 이는 일반적인 마무리 해상도입니다. RelayVSR은 4배만 지원했기 때문에 같은 클립이 3072x5376으로 커졌고, 대부분의 샷에 필요하지도 않은 출력을 위해 네 배의 픽셀 연산 비용을 치렀습니다. X2는 4배로 계산한 뒤 축소하는 대신 2배로 계산합니다.

1024x768 H3 클립에 적용한 RelayVSR X2

선명도보다 플리커가 먼저

초해상도 모델은 생성된 비디오가 이미 지니고 있는 약한 시간적 플리커를 증폭하는 경향이 있습니다. 그래서 업스케일된 클립은 개별 프레임이 더 선명해 보여도 움직임에서는 원본보다 나빠 보일 수 있습니다. RelayVSR의 설계는 이 점을 겨냥합니다. 대형 생성 모델은 드문 키프레임에 대해서만 참조 latent를 작성하고, 소형 VSR 네트워크가 그 참조를 모든 프레임에 걸쳐 전달합니다. LightX2V 구현에서는 제한된 lookahead와 프레임 링 KV 캐시를 사용합니다.

공개된 벤치마크 입력 자체가 H3 출력입니다. 24 fps의 1024x768 드론 옥상 클립으로, 이미 약간의 플리커가 존재합니다. 따라서 비교 그리드는 깨끗한 카메라 footage가 아니라 모델이 학습된 상황을 보여줍니다.

두 개의 체크포인트, 하나의 배율

X2 릴리스는 같은 디렉터리에 다운로드해야 하는 두 개의 파일로 제공됩니다.

  • wan_x2.safetensors (10.1 GB), 드문 키프레임 참조를 생성하는 Wan 기반 체크포인트입니다.
  • flash_x2.safetensors (127 MB), 나머지 프레임을 초해상도로 처리하는 소형 조건부 디코더입니다.

LightX2V 러너는 배율과 아키텍처를 검증하며, 2배와 4배 가중치가 섞인 조합은 맞지 않는 쌍을 로딩하는 대신 거부합니다. 출력 크기는 사용자 설정이 아닙니다. 입력 크기와 sr_ratio를 따르며, X2 모델에서는 반드시 2여야 합니다. 이전 4배 체크포인트도 여전히 sr_ratio=2를 받아들이지만, 내부적으로 4배로 계산한 뒤 나중에 축소하는데, 이번 릴리스는 바로 그 비용을 피하기 위해 존재합니다.

같은 H3 프레임에 적용한 네 가지 업스케일러

960x720 표시 크기의 동일 프레임: H3 소스를 bicubic으로 2배 업스케일한 결과(왼쪽 위), RelayVSR X2(오른쪽 위), FlashVSR+ Turbo(왼쪽 아래), Open-H3-Regenerate-2K(오른쪽 아래). 공개된 벤치마크 클립의 프레임입니다.

H100 한 대에서 측정

카드에는 동일 해상도 워밍업 후 모델별로 한 번씩 측정한 결과가 보고되어 있습니다. 단일 H100 80GB에서 PyTorch 2.11.0과 CUDA 13.0, 24 fps의 1024x768 243개 프레임을 순차적으로 처리한 결과입니다.

  • RelayVSR X2 (LightX2V): 5.348초, 45.44 FPS, 2048x1536 출력
  • SwiftVR (LightX2V): 6.399초, 37.98 FPS
  • SwiftVR: 7.252초, 33.51 FPS
  • RelayVSR 4x (LightX2V): 19.304초, 12.59 FPS, 4096x3072 출력
  • RelayVSR 4x: 26.332초, 9.23 FPS, 4096x3072 출력
  • FlashVSR+ Turbo: 54.024초, 4.50 FPS
  • SeedVR2-3B: 352.820초, 0.69 FPS
  • Open-H3-Regenerate-2K: 784.954초, 0.31 FPS
1:1 세부 크롭, 원본과 RelayVSR X2 비교

이는 10초 클립에 대한 H100 수치입니다. 원본 4배 모델을 다룬 논문은 A100에서 1080p 기준 29.29 FPS, 최대 메모리 13.82 GB를 보고하며, FlashVSR-Tiny는 7.80 FPS와 24.447 GB입니다. 즉 이 아키텍처는 벤치마크 장비에서 이기기보다 단일 GPU 안에 머무르도록 만들어졌습니다.

Banodoco에서의 초기 사용자 측정 하나는 소비자용 하드웨어에서도 격차가 비슷한 범위임을 보여줍니다. JohnDopamine은 Relay의 마무리 단계가 약 85초 걸린 실행에서 타임스탬프를 읽었고, FlashVSR+는 331초를 기록했습니다(메시지). 같은 클립을 각자의 GPU와 설정으로 돌린 것이므로, 절대 속도가 아니라 비율로 읽어야 합니다.

실행하기

추론은 별도 패키지가 아니라 LightX2V에 있습니다.

git clone https://github.com/ModelTC/LightX2V.git
cd LightX2V
hf download lightx2v/RelayVSR_X2 \
    wan_x2.safetensors flash_x2.safetensors \
    --local-dir ./models/RelayVSR_X2

scripts/relayvsr/run_relayvsr_x2_sr.sh가 복제한 저장소, 가중치, 입력 비디오, GPU를 가리키도록 설정하고, --model_cls relayvsr_x2와 --config_json configs/relayvsr/relayvsr_x2.json, --sr_ratio 2를 유지한 다음 저장소 루트에서 실행하세요. 기본 설정은 두 체크포인트를 모두 상주시키며 컴파일과 워밍업을 켭니다. relayvsr_x2_block_offload.json은 VRAM을 아끼기 위해 Wan 블록을 오프로드하고, relayvsr_x2_sp.json은 한 클립을 두 개의 GPU에 나눕니다.

반복 작업을 위해서는 상주 서버 모드가 있습니다. python -m lightx2v.server --model_cls relayvsr_x2 --task sr로 시작한 뒤 클립마다 /v1/tasks/video/에 입력 경로, sr_ratio, 출력 경로, 시드를 POST하면 가중치가 한 번만 로딩됩니다.

사용 가능성

RelayVSR X2는 LightX2V 릴리스입니다. Linux와 NVIDIA GPU가 필요하고 CLI 또는 서버에서 실행하며, 아직 공개된 ComfyUI 노드나 래퍼가 없고 저장소에 diffusers 파이프라인도 없습니다. LightX2V의 변경 로그에는 비동기 인코딩과 소스 오디오 보존이 나열되어 있어, H3 클립이 생성 당시의 트랙을 유지합니다. 현재 그래프 안에서 쓰고 싶다면 러너를 직접 감싸야 합니다.

댓글

GitHub로 로그인하고 토론에 참여하세요.

댓글을 불러오는 중…
RelayVSR X2: H3 클립으로 학습된 2배 비디오 업스케일러 | ComfyUI Wiki