후처리
후처리 (Post-Processing)
이 페이지는 SGLang 확산에서 생성 후 실행되는 선택적 후처리 단계를 설명해요. 시간적 부드러움을 개선하는 프레임 보간(frame interpolation)과 공간 해상도를 높이는 업스케일링(upscaling)을 다루어요. 이 단계들은 확산 모델과 독립적이며 한 번의 실행에서 결합할 수 있어요.
출처: 문서
본문
SGLang 확산은 생성 후 실행되는 선택적 후처리 단계를 지원해요. 시간적 부드러움(프레임 보간)이나 공간 해상도(업스케일링)를 개선하는 데 사용돼요. 이 단계들은 확산 모델과 독립적이며 한 번의 실행에서 결합할 수 있어요.
둘 다 활성화되면 프레임 보간이 먼저 실행되고(프레임 수 증가), 그 다음 모든 프레임에 업스케일링이 실행돼요(공간 해상도 증가).
프레임 보간 (Frame Interpolation, 비디오 전용)
프레임 보간은 연속된 생성 프레임 쌍 사이에 새 프레임을 합성해, 확산 모델을 다시 실행하지 않고 더 부드러운 움직임을 만들어요.
--frame-interpolation-exp 플래그는 보간을 적용할 라운드 수를 제어해요. 각 라운드는 인접 프레임 사이의 모든 간격에 새 프레임을 하나씩 삽입하므로, 출력 프레임 수는 다음 공식을 따릅니다:
(N − 1) × 2^exp + 1
예: 원본 5프레임에
exp=1→ 4개 간격 × 1개 새 프레임 + 5개 원본 = 9 프레임;exp=2→ 17 프레임.
CLI 인자 (CLI Arguments)
| Argument | Description |
|---|---|
--enable-frame-interpolation |
프레임 보간 활성화. 모델 가중치는 첫 사용 시 자동으로 내려받아요. |
--frame-interpolation-exp \{EXP} |
보간 지수 — 1 = 2× 시간 해상도, 2 = 4× 등 (기본값: 1) |
--frame-interpolation-scale \{SCALE} |
RIFE 추론 스케일. 고해상도 입력에서 메모리를 아끼려면 0.5 사용 (기본값: 1.0) |
--frame-interpolation-model-path \{PATH} |
RIFE flownet.pkl 가중치를 포함한 로컬 디렉터리 또는 HuggingFace repo ID (기본값: elfgum/RIFE-4.22.lite, 자동 내려받기) |
지원 모델 (Supported Models)
프레임 보간은 RIFE(Real-Time Intermediate Flow Estimation) 아키텍처를 사용해요. RIFE 4.22.lite(IFBlock 4스케일 백본의 IFNet)만 지원돼요. 네트워크 토폴로지는 하드코딩되어 있으므로 --frame-interpolation-model-path로 제공하는 커스텀 가중치는 이 아키텍처와 호환되는 flownet.pkl 체크포인트여야 해요.
다른 RIFE 버전(예: 블록 수가 다른 이전 v4.x 변형)이나 완전히 다른 프레임 보간 방법(FILM, AMT 등)은 지원되지 않아요.
| Weight | HuggingFace Repo | Description |
|---|---|---|
| RIFE 4.22.lite (기본값) | elfgum/RIFE-4.22.lite |
경량 모델, 첫 사용 시 자동 내려받기 |
예시 (Example)
5프레임 비디오를 생성하고 9프레임으로 보간 ((5 − 1) × 2¹ + 1 = 9):
sglang generate \
--model-path Wan-AI/Wan2.2-T2V-A14B-Diffusers \
--prompt "A dog running through a park" \
--num-frames 5 \
--enable-frame-interpolation \
--frame-interpolation-exp 1 \
--save-output
업스케일링 (Upscaling, 이미지와 비디오)
업스케일링은 Real-ESRGAN을 사용해 생성된 이미지 또는 비디오 프레임의 공간 해상도를 높여요. 모델 가중치는 첫 사용 시 자동으로 내려받고 이후 실행을 위해 캐시돼요.
CLI 인자 (CLI Arguments)
| Argument | Description |
|---|---|
--enable-upscaling |
Real-ESRGAN을 사용한 생성 후 업스케일링 활성화. |
--upscaling-scale \{SCALE} |
원하는 업스케일링 배율 (기본값: 4). 내부적으로 4× 모델을 사용하며, 다른 배율을 요청하면 네트워크 출력 후 bicubic 리사이즈를 적용해요. |
--upscaling-model-path \{PATH} |
Real-ESRGAN 가중치용 로컬 .pth 파일, HuggingFace repo ID 또는 repo\_id:filename (기본값: ai-forever/Real-ESRGAN의 RealESRGAN\_x4.pth, 자동 내려받기). HuggingFace repo에서 커스텀 가중치 파일을 지정하려면 repo\_id:filename 형식을 사용해요 (예: my-org/my-esrgan:weights.pth). |
지원 모델 (Supported Models)
업스케일링은 두 가지 Real-ESRGAN 네트워크 아키텍처를 지원해요. 올바른 아키텍처는 체크포인트 키에서 자동 감지되므로, --upscaling-model-path을 유효한 .pth 파일에만 가리키면 돼요:
| Architecture | Example Weights | Description |
|---|---|---|
| RRDBNet | RealESRGAN\_x4plus.pth |
품질이 더 높은 무거운 모델; 사진에 최적 |
| SRVGGNetCompact | RealESRGAN\_x4.pth (기본값), realesr-animevideov3.pth, realesr-general-x4v3.pth |
경량 모델; 추론이 더 빠르고 비디오에 적합 |
기본 가중치 파일은 RealESRGAN_x4.pth(SRVGGNetCompact, 4× 네이티브 스케일)가 있는 ai-forever/Real-ESRGAN이에요.
다른 초해상도 모델(예: SwinIR, HAT, BSRGAN)은 지원되지 않아요 — 위 두 아키텍처를 사용하는 Real-ESRGAN 체크포인트만 호환돼요.
예시 (Examples)
1024×1024 이미지를 생성하고 4096×4096으로 업스케일링:
sglang generate \
--model-path black-forest-labs/FLUX.2-dev \
--prompt "A cat sitting on a windowsill" \
--output-size 1024x1024 \
--enable-upscaling \
--save-output
비디오를 생성하고 각 프레임을 4× 업스케일링:
sglang generate \
--model-path Wan-AI/Wan2.1-T2V-1.3B-Diffusers \
--prompt "A curious raccoon" \
--enable-upscaling \
--upscaling-scale 4 \
--save-output
프레임 보간과 업스케일링 결합 (Combining Frame Interpolation and Upscaling)
프레임 보간과 업스케일링은 한 번의 실행에서 결합할 수 있어요. 보간이 먼저 적용되고(프레임 수 증가), 그 다음 업스케일링이 모든 프레임에 적용돼요(공간 해상도 증가).
예시 — 5프레임 생성, 9프레임으로 보간, 각 프레임 4× 업스케일링:
sglang generate \
--model-path Wan-AI/Wan2.1-T2V-1.3B-Diffusers \
--prompt "A curious raccoon" \
--num-frames 5 \
--enable-frame-interpolation \
--frame-interpolation-exp 1 \
--enable-upscaling \
--upscaling-scale 4 \
--save-output