ํ”ผ๋“œ๋กœ ๋Œ์•„๊ฐ€๊ธฐ
Happy 1st anniversary ๐Ÿค— Diffusers!
Hugging Face BlogHugging Face Blog
AI/ML

Hugging Face Diffusers ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ 1์ฃผ๋…„์„ ๋งž์œผ๋ฉฐ DeepFloyd IF, SDXL, ํ…์ŠคํŠธ-๋น„๋””์˜ค, ํ…์ŠคํŠธ-3D, ์ด๋ฏธ์ง€ ํŽธ์ง‘ ํŒŒ์ดํ”„๋ผ์ธ ์ถ”๊ฐ€ ๋ฐ Consistency Models๋กœ 256x256 ์ด๋ฏธ์ง€ ์ƒ์„ฑ์„ 0.75์ดˆ๋กœ ๋‹จ์ถ•

Happy 1st anniversary ๐Ÿค— Diffusers!

2023๋…„ 7์›” 20์ผ9๋ถ„intermediate

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์—์„œ๋„ ๋Œ€๊ทœ๋ชจ ๋ชจ๋ธ ์ถ”๋ก ์ด ๊ฐ€๋Šฅํ•˜๊ณ , ์‚ฌ์šฉ์ž ๊ฐ€์น˜ ์ „๋‹ฌ ์‹œ๊ฐ„์„ ๋‹จ์ถ•ํ•  ์ˆ˜ ์žˆ๋‹ค.

์›๋ฌธ ์ฝ๊ธฐ