Hugging Face Diffusers ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ 1์ฃผ๋ ์ ๋ง์ผ๋ฉฐ DeepFloyd IF, SDXL, ํ ์คํธ-๋น๋์ค, ํ ์คํธ-3D, ์ด๋ฏธ์ง ํธ์ง ํ์ดํ๋ผ์ธ ์ถ๊ฐ ๋ฐ Consistency Models๋ก 256x256 ์ด๋ฏธ์ง ์์ฑ์ 0.75์ด๋ก ๋จ์ถ
Happy 1st anniversary ๐ค Diffusers!
AI ์์ฝ
Context
DALL-E 2, Imagen, Stable Diffusion ๊ฐ์ ๊ณ ์ฑ๋ฅ ํ ์คํธ-์ด๋ฏธ์ง ์์ฑ ๋ชจ๋ธ์ด ๋์ค์ ๊ด์ฌ์ ๋ฐ์์ผ๋ ์ ๊ทผ์ฑ์ด ์ ํ๋์ด ์์๋ค. ์ด๋ฏธ์ง ์์ฑ ๊ณผ์ ์์ ์๊ฐ๋ฝ ๊ฐ์ ์ค๋ฅ ๊ฐ์ ํ์ง ๋ฌธ์ ์ ๋ชจ๋ธ ์ถ๋ก ์๋๊ฐ ๋๋ฆฐ ํ์์ด ์กด์ฌํ๋ค.
Technical Solution
- ๋ชจ๋์ ๋๊ตฌ์์ ๊ตฌ์กฐ ์ค๊ณ: ์ฌ์ฉ์๊ฐ ํ์ฐ ๋ชจ๋ธ ์ปดํฌ๋ํธ๋ฅผ ์ปค์คํฐ๋ง์ด์งํ๊ฑฐ๋ ์ฆ์ ์ฌ์ฉ ๊ฐ๋ฅํ๋๋ก ๊ตฌ์ฑ
- DeepFloyd IF ๋์ : ํฝ์ ๋ ๋ฒจ์์ ์ง์ ์๋ํ๊ณ ๋๊ท๋ชจ ์ธ์ด ๋ชจ๋ธ๋ก ํ ์คํธ ์ธ์ฝ๋ฉ, 3๋ฐฐ ์ ์ค์ผ์ผ๋ง ํ๋ก์ธ์ค ์ง์
- Stable Diffusion XL(SDXL) ํตํฉ: ๊ธฐ์กด Stable Diffusion 2 ๋๋น ๋งค๊ฐ๋ณ์ ์ฆ๊ฐ, ๊ธฐ๋ณธ ๋ชจ๋ธ๊ณผ ์ธ๋ถ์ฌํญ ์ ๋ฌธ ๋ฆฌํ์ด๋ ๋ชจ๋ธ ์กฐํฉ
- ํ ์คํธ-๋น๋์ค ํ์ดํ๋ผ์ธ ์ถ๊ฐ: VideoFusion๊ณผ Text2Video-Zero ์ง์์ผ๋ก ํ๋กฌํํธ ๊ธฐ๋ฐ ์์ ์์ฑ (24ํ๋ ์ ์์ ์ ๊ณต)
- ํ ์คํธ-3D ์์ฑ ์ถ๊ฐ: OpenAI์ Shap-E ๋ชจ๋ธ ํตํฉ์ผ๋ก 3D ์์ฐ ์ค๊ณ ๊ธฐ๋ฅ ์ง์
- ์ด๋ฏธ์ง ํธ์ง ํ์ดํ๋ผ์ธ ํ์ฅ: ํ๋กฌํํธ ๊ธฐ๋ฐ ํธ์ง, ๊ฐ๋ ์ ๊ฑฐ, ํ๋ ธ๋ผ๋ง ์์ฑ ๋ฑ ๋ค์ค ๋ฐฉ์ ํตํฉ
- Consistency Models ๋์ : OpenAI์ Consistency Models๋ก ๋ฐ๋ณต ๋จ๊ณ ๊ฐ์๋ฅผ ํตํ ์์ฑ ์๋ ๊ฐ์
- ์ถ๋ก ์ต์ ํ ๊ธฐ๋ฒ ์ ์ฉ: PyTorch 2.0 scaled_dot_product_attention(SDPA), torch.compile(), ์ฌ๋ผ์ด์ค๋ ์ดํ ์ , ํผ๋ํฌ์๋ ์ฒญํน, VAE ํ์ผ๋ง, CPU/๋ชจ๋ธ ์คํ๋ก๋ฉ ์ง์
- ํ๋์จ์ด ํธํ์ฑ ํ๋: ONNX, Apple Silicon MPS, Core ML ๋ฑ ๋ค์ค ํ์ ์ง์
Impact
256x256 ํด์๋ ์ด๋ฏธ์ง ๋จ์ผ ์์ฑ์ด ํ๋ CPU์์ 0.75์ด(3/4์ด) ์์
Key Takeaway
๋ชจ๋์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค๊ณ๋ก ๋ค์ํ ์์ฑ ๋ชจ๋ธ(ํ ์คํธ-์ด๋ฏธ์ง, ํ ์คํธ-๋น๋์ค, ํ ์คํธ-3D, ์ด๋ฏธ์ง ํธ์ง)์ ํตํฉ ์ธํฐํ์ด์ค๋ก ์ ๊ณตํ๋ฉด, ๊ฐ๋ฐ์์ ํ์ต ๊ณก์ ์ ๋ฎ์ถ๊ณ ์ ํ ์์ง๋์ด์ ML ์์ง๋์ด ๊ฐ ์ญํ ๊ฒฝ๊ณ๋ฅผ ํด์ํ ์ ์๋ค.
์ค์ฒ ํฌ์ธํธ
ํ์ฐ ๋ชจ๋ธ ๊ธฐ๋ฐ ์์ฑ ๊ธฐ๋ฅ์ ์ ํ์ ๊ตฌํํ๋ ํ์ Diffusers ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ํ์ดํ๋ผ์ธ์ ํ์ฉํ์ฌ ์ปค์คํ ๋ชจ๋ธ ํตํฉ๊ณผ ๋ค์ค ์ต์ ํ ๊ธฐ๋ฒ(๋ชจ๋ธ ์คํ๋ก๋ฉ, ์ดํ ์ ์ต์ ํ, ์์ํ)์ ์ฆ์ ์ ์ฉํ๋ฉด ์๋น์๊ธ GPU์์๋ ๋๊ท๋ชจ ๋ชจ๋ธ ์ถ๋ก ์ด ๊ฐ๋ฅํ๊ณ , ์ฌ์ฉ์ ๊ฐ์น ์ ๋ฌ ์๊ฐ์ ๋จ์ถํ ์ ์๋ค.