Hugging Face๊ฐ VAE ๋์ฝ๋ฉ์ ์๊ฒฉ ์๋ํฌ์ธํธ๋ก ์์ํ๋ ๊ธฐ๋ฅ์ Diffusers์ ์ถ๊ฐํด ์๋น์ GPU์ ๋ฉ๋ชจ๋ฆฌ ๋ถ๋ด ์ ๊ฑฐ
Remote VAEs for decoding with Inference Endpoints ๐ค
AI ์์ฝ
Context
์ ์ฌ ๊ณต๊ฐ ํ์ฐ ๋ชจ๋ธ๋ก ๊ณ ํด์๋ ์ด๋ฏธ์ง์ ๋น๋์ค๋ฅผ ํฉ์ฑํ ๋ VAE ๋์ฝ๋๊ฐ ์๋นํ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์๋นํ๋ค. ์ด๋ก ์ธํด ์ฌ์ฉ์๊ฐ ์๋น์ GPU์์ ๋ชจ๋ธ์ ์คํํ๊ธฐ ์ด๋ ค์์ง๋ฉฐ, ์คํ๋ก๋ฉ์ ์ฌ์ฉํ ๊ฒฝ์ฐ ๋๋ฐ์ด์ค ์ ์ก ์ค๋ฒํค๋๋ก ์ธํ ์ง์ฐ์ด ๋ฐ์ํ๊ณ , ํ์ผ๋ง์ ์ต์ข ์ด๋ฏธ์ง ํ์ง์ ๋ถ์ ์ ์ํฅ์ ๋ฏธ์น๋ค.
Technical Solution
- huggingface-inference-toolkit์ ์์ ํ๊ณ ์ปค์คํ ํธ๋ค๋ฌ๋ฅผ ์ ์ฉํ์ฌ VAE ๋์ฝ๋ฉ ์๊ฒฉ ์ฒ๋ฆฌ ์ธํ๋ผ ๊ตฌ์ถ
remote_decode()ํฌํผ ๋ฉ์๋๋ฅผ diffusers.utils.remote_utils์ ์ถ๊ฐํ์ฌ ์๊ฒฉ VAE ์๋ํฌ์ธํธ์์ ์ํธ์์ฉ ๊ฐํธํ- Stable Diffusion v1.5, Flux, HunyuanVideo ๋ฑ ๋ค์ํ ๋ชจ๋ธ์ ๋ํด ํ์ดํ๋ผ์ธ์์
vae=Noneํ๋ผ๋ฏธํฐ๋ก ๋ก์ปฌ VAE๋ฅผ ์ ์ธํ๊ณ ์๊ฒฉ ์๋ํฌ์ธํธ ํธ์ถ - Flux ๋ชจ๋ธ์ ๊ฒฝ์ฐ height์ width ํ๋ผ๋ฏธํฐ๋ฅผ ์ถ๊ฐ๋ก ์ ๋ฌํ์ฌ ํฉ๋ ์ ์ฌ ํ ์ ์ฒ๋ฆฌ
- HunyuanVideo์ ๊ฒฝ์ฐ mp4 ํ์์ผ๋ก ๋น๋์ค ์ถ๋ ฅ์ ๋ฐ์ ๋ก์ปฌ ํ์ผ ์ ์ฅ
- ์ฌ๋ฌ ์์ฑ ์์ฒญ์ ํ์ ๋๊ธฐ์์ผ ํ์ฌ ์ ์ฌ ์ฒ๋ฆฌ ์ค์ ๋ค์ ์์ฒญ์ ๋ฏธ๋ฆฌ ํ์ ์ถ๊ฐ ๊ฐ๋ฅํ๋๋ก ์ค๊ณ
Key Takeaway
๋ถ์ฐ ์ฒ๋ฆฌ ์ํคํ ์ฒ์์ ๋์ ๋ฆฌ์์ค ๋น์ฉ์ ๊ฐ์ง ์ฐ์ฐ์ ๋ณ๋ ์๊ฒฉ ์๋ํฌ์ธํธ๋ก ์์ํจ์ผ๋ก์จ ํด๋ผ์ด์ธํธ ๋ฉ๋ชจ๋ฆฌ ์ ์ฝ์ ์ ๊ฑฐํ๋ ๋์์ ์์ฒญ ํ์์ ํตํด ๋์์ฑ์ ํฅ์์ํฌ ์ ์๋ค.
์ค์ฒ ํฌ์ธํธ
๊ณ ํด์๋ ์ด๋ฏธ์ง ๋๋ ๋น๋์ค ์์ฑ ํ์ดํ๋ผ์ธ์ ๊ฐ๋ฐํ ๋ ๋ก์ปฌ GPU ๋ฉ๋ชจ๋ฆฌ ์ ์ฝ์ ๋ง์ฃผ์น๋ค๋ฉด, VAE ๋์ฝ๋๋ฅผ `vae=None`์ผ๋ก ์ ์ธํ๊ณ remote_decode() ํจ์์ ์๋ํฌ์ธํธ URL๊ณผ ์ค์ผ์ผ๋ง ํฉํฐ๋ฅผ ์ ๋ฌํ์ฌ ๋์ฝ๋ฉ์ ์๊ฒฉ์ผ๋ก ์ฒ๋ฆฌํ๋ฉด ๋ฉ๋ชจ๋ฆฌ ๋ถ๋ด์ ์ ๊ฑฐํ๊ณ ๋ค์ค ์์ฒญ ํ์์ผ๋ก ์ฒ๋ฆฌ๋์ ๋์ผ ์ ์๋ค.