설명
VAE 디코드/인코드 속도를 향상시키기 위해 융합된 트리톤 norm+SiLU 커널과 channels_last 컨볼루션 레이아웃을 적용합니다. 지원되는 VAE는 자동 감지됩니다:
- Wan 2.1/2.2 비디오 VAE (Qwen-Image 변형 포함): RMSNorm, 약 1.4배/1.15배 속도 향상.
- KL 이미지 VAE (Flux/Flux2, SDXL, SD1.5): GroupNorm, 2048px에서 약 1.6–1.8배.
- LTXV/LTX2 비디오 VAE: PixelNorm; 타임스텝 조건 디코더 블록은 norm 전용 융합을 적용받습니다.
다른 아키텍처는 지원되지 않으며 변경 없이 통과됩니다. 이 노드는 복제된 패쳐에 패치를 적용하므로 최적화는 이 VAE가 로드된 동안에만 존재합니다.
입력
| 이름 | 유형 | 기본값 | 도구 설명 |
|---|---|---|---|
vae | VAE | – | 패치할 VAE 모델. |
fuse_norm_silu | 논리값 | 참 | norm+SiLU 체인(Wan의 경우 RMSNorm, KL VAE의 경우 GroupNorm)을 융합된 트리톤 커널(단일 패스, fp32 누적)로 교체합니다. Triton이 필요합니다. |
channels_last | 논리값 | 참 | 컨볼루션 가중치를 channels_last 메모리 형식으로 변환하여 모든 컨볼루션 주변의 cuDNN 레이아웃 전치를 제거합니다. KL VAE에서 융합된 GroupNorm 커널이 작동하려면 필수입니다. |
int8_conv | 논리값 | 거짓 | 실험적: VAE 디코더의 3×3 컨볼루션을 int8 텐서 코어에서 실행합니다(Ada+에서 bf16 속도의 4배). 가중치는 출력 채널별로 양자화되고 활성화는 텐서별로 동적으로 양자화됩니다. bf16 디코드 대비 약 45–48 dB, 약간의 품질 손실 가능. Wan 2.1/2.2 및 KL 이미지 VAE(Flux2/SDXL/SD1.5)에서 지원되며 다른 것은 무시됩니다. |
autotune | 논리값 | 거짓 | 각 텐서 형태를 처음 사용할 때 여러 커널 블록 크기 구성을 벤치마킹하고 가장 빠른 것을 캐시합니다. 새로운 해상도마다 잠시 끊김이 있으며 일반적으로 워밍업 후 몇 퍼센트 더 빠릅니다. |
출력
| 유형 | 설명 |
|---|---|
VAE | 패치된 VAE 객체(복제된 패쳐)입니다. 원본 VAE 연결 대신 이 출력을 사용하십시오. |
사용 참고 사항
- 모든 최적화는 ComfyUI 환경에 Triton이 설치되어 있어야 합니다 (일반적으로
pip install triton으로 설치). Triton이 없으면fuse_norm_silu와int8_conv는 조용히 건너뜁니다. - 이 노드는 지원되는 VAE 아키텍처를 자동 감지합니다. 지원되지 않는 VAE는 수정 없이 전달됩니다.
- 일반적인 해상도를 결정한 후 최적의 장기 속도를 위해
autotune을 활성화하십시오. 단, 새로운 형태에서 초기 끊김이 발생할 수 있습니다. int8_conv플래그는 실험적입니다. 프로덕션에서 사용하기 전에 출력 품질을 확인하십시오.- VAE가 복제된 패쳐를 통해 패치되므로 워크플로의 원본 VAE 노드는 변경되지 않습니다. 이 노드의 출력을 디코드/인코드 노드에 연결해야 합니다.
- 이 노드는 노드 메뉴의 KJNodes/experimental 카테고리에서 찾을 수 있습니다.
댓글
GitHub로 로그인하고 토론에 참여하세요.