허깅 페이스 원격 VAEs를 위한 추론 엔드포인트
허깅 페이스는 원격 엔드포인트로 변이 자동인코더 (VAE) 디코딩 프로세스를 위임하는 실험적 파일럿을 도입했습니다. 이 접근 방식은 메모리 집약적인 디코딩 단계를 추론 엔드포인트로 오프로드하여 소비자 GPU에서 고해상도 이미지 및 비디오 합성을 수행함으로써 로컬 VAE 실행과 관련된 VRAM 병목 현상을 피할 수 있게 합니다.
잠재 공간 확산에서의 VRAM 병목 해결
잠재 공간 확산 모델에서 VAE 디코더는 생성의 최종 단계에서 종종 가장 메모리 집약적인 구성 요소입니다. 소비자 등급 하드웨어를 사용하는 사용자에게 이는 고해상도 출력에 대한 상당한 장벽이 됩니다. 허깅 페이스는 두 가지 일반적인 로컬 워크어라운드와 각각의 단점을 식별합니다:
- 오프로딩: VAE를 CPU RAM으로 이동하면 장치 전송 오버헤드가 발생하여 전체 추론 지연 시간이 증가합니다.
- 타일링: 이미지를 더 작은 타일로 처리하면 메모리 사용량이 줄어들지만 최종 이미지 품질에 부정적인 영향을 미칠 수 있습니다.
원격 엔드포인트로 디코딩 프로세스를 위임함으로써 사용자는 로컬 오프로딩의 지연 패널티 없이 높은 이미지 품질을 유지하고 로컬 VRAM 소비를 줄일 수 있습니다.
기술적 구현 및 통합
이 실험적 기능은 Diffusers 팀에서 개발되었으며 맞춤형 핸들러와 함께 huggingface-inference-toolkit을 활용합니다. 구현은 오픈 소스이며, 프로세스 중에 데이터가 저장되거나 추적되지 않습니다.
Diffusers와의 통합
원격 VAEs를 사용하려면 사용자는 main 브랜치에서 diffusers 라이브러리를 설치해야 합니다:
pip install git+https://github.com/huggingface/diffusers@main
디코딩은 diffusers.utils.remote_utils의 remote_decode 헬퍼 메서드를 통해 처리됩니다.
모델 지원 및 엔드포인트
허깅 페이스는 여러 가지 인기 모델에 전용 엔드포인트를 제공합니다:
| 모델 | VAE 엔드포인트 |
|---|---|
| Stable Diffusion v1 | https://q1bj3bpq6kzilnsu.us-east-1.aws.endpoints.huggingface.cloud |
| Stable Diffusion XL | https://x2dmsqunjd6k9prw.us-east-1.aws.endpoints.huggingface.cloud |
| Flux | https://whhx50ex1aryqvw6.us-east-1.aws.endpoints.huggingface.cloud |
| HunyuanVideo | https://o7ywnmrahorts457.us-east-1.aws.endpoints.huggingface.cloud |
기능 및 사용 사례
이미지 및 비디오 생성
remote_decode 함수는 다양한 모달리티와 모델별 요구 사항을 지원합니다. 예를 들어, Flux는 잠재 공간이 패acked되어 있기 때문에 height와 width 매개변수가 필요합니다. HunyuanVideo는 결과를 .mp4 파일로 직접 출력하는 것을 지원합니다.
큐잉을 통한 동시성
디코딩이 원격으로 이루어지기 때문에 사용자는 동시성을 향상시키기 위해 큐잉 시스템을 구현할 수 있습니다. 원격 엔드포인트가 현재 잠재를 디코딩하는 동안 로컬 GPU는 파이프라인에서 다음 잠재를 계속 생성할 수 있습니다.これにより 하드웨어 활용도를 극대화하는 간소화된 생성-디코딩 루프가 가능해집니다.
성능 및 메모리 영향
로컬 VAE 디코딩 요구 사항은 해상도와 GPU 용량에 따라 급격히 증가합니다. 1024x1024 해상도의 Stable Diffusion v1.5에서는 RTX 3070에서 메모리 사용량이 56.3%에 달할 수 있으며, 타일 디코딩은これを 16%로 줄이지만 추론 시간을 77% 증가시킵니다.
SDXL의 경우 1024x1024에서 메모리 소비가 더욱 심각해져 RTX 3080에서는 93%, RTX 3070에서는 96.4%에 달하며, 이는 VRAM에 전체 VAE 프로세스를 맞출 수 없는 사용자에게 원격 디코딩이 실용적인 대안이 됨을 의미합니다.