ํ”ผ๋“œ๋กœ ๋Œ์•„๊ฐ€๊ธฐ
Swift ๐ŸงจDiffusers - Fast Stable Diffusion for Mac
Hugging Face BlogHugging Face Blog
AI/ML

Hugging Face๊ฐ€ Swift Diffusers 1.1 ๋ฒ„์ „์œผ๋กœ Core ML ๋ชจ๋ธ ๋„์ž… ๋ฐ Neural Engine ์ž๋™ ์„ ํƒ์œผ๋กœ Text-to-Image ์ƒ์„ฑ ์†๋„ ์ตœ๋Œ€ 2๋ฐฐ ํ–ฅ์ƒ

Swift ๐ŸงจDiffusers - Fast Stable Diffusion for Mac

2023๋…„ 2์›” 24์ผ7๋ถ„intermediate

Context

๊ธฐ์กด Python ๊ธฐ๋ฐ˜ Diffusers ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” PyTorch์˜ mps ๊ฐ€์†๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜์ง€๋งŒ Apple Neural Engine์„ ํ™œ์šฉํ•˜์ง€ ๋ชปํ–ˆ์œผ๋ฉฐ, ์ปค๋งจ๋“œ๋ผ์ธ ํ™˜๊ฒฝ๊ณผ ์˜์กด์„ฑ ๊ด€๋ฆฌ๊ฐ€ ํ•„์š”ํ•ด ์ผ๋ฐ˜ Mac ์‚ฌ์šฉ์ž์˜ ์ง„์ž… ์žฅ๋ฒฝ์ด ๋†’์•˜๋‹ค.

Technical Solution

  • PyTorch ๋ชจ๋ธ์„ Core ML ํ˜•์‹์œผ๋กœ ๋ณ€ํ™˜: Hugging Face Hub์˜ SoTA Text-to-Image ๋ชจ๋ธ๋“ค์„ Core ML๋กœ ์ปจ๋ฒ„ํŒ…ํ•ด Apple ํ•˜๋“œ์›จ์–ด ์ตœ์ ํ™” ํ™œ์šฉ
  • ๋‹ค์ค‘ ์ปดํ“จํŒ… ์žฅ์น˜ ์ž๋™ ์„ ํƒ: CPU, GPU, Neural Engine ์ค‘ ์ตœ์  ์กฐํ•ฉ์„ ์ž๋™์œผ๋กœ ๊ฒฐ์ •ํ•˜๋Š” ํœด๋ฆฌ์Šคํ‹ฑ ๊ตฌํ˜„ (M1 ํ‘œ์ค€์€ ANE ์šฐ์„ , M1 Max๋Š” GPU ์šฐ์„ )
  • ๋„ค์ดํ‹ฐ๋ธŒ Mac ์•ฑ ๊ฐœ๋ฐœ: Swift ๋ฐ SwiftUI๋กœ ๊ตฌํ˜„ํ•˜์—ฌ ์ปค๋งจ๋“œ๋ผ์ธ๊ณผ ๊ฐ€์ƒํ™˜๊ฒฝ ์ œ๊ฑฐ
  • ๋กœ์ปฌ ํ”„๋ผ์ด๋น— ์ฒ˜๋ฆฌ: ๋ชจ๋“  ์ด๋ฏธ์ง€ ์ƒ์„ฑ์„ ๋กœ์ปฌ์—์„œ ์ฒ˜๋ฆฌํ•ด ์™ธ๋ถ€ API ํ˜ธ์ถœ ๋ฐ ํ ๋Œ€๊ธฐ ์ œ๊ฑฐ
  • Mac App Store ๋ฐฐํฌ ๋ฐ ์˜คํ”ˆ์†Œ์Šค ๊ณต๊ฐœ: ๊ณต์‹ ๋ฐฐํฌ์ฑ„๋„๊ณผ GitHub ์ €์žฅ์†Œ๋กœ ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ธฐ์—ฌ ํ™œ์„ฑํ™”

Impact

  • M1 8GB ๊ธฐ์ค€ Stable Diffusion 1.5 ์ƒ์„ฑ ์‹œ๊ฐ„ 32.9์ดˆ โ†’ GPU ์‚ฌ์šฉ, M1 Max 64GB ๊ธฐ์ค€ 9์ดˆ๋กœ ์ตœ๋Œ€ 3.6๋ฐฐ ํ–ฅ์ƒ
  • ๋ฒ„์ „ 1.1์—์„œ ์ปดํ“จํ„ฐ ๊ตฌ์„ฑ์— ๋”ฐ๋ผ ์ตœ๋Œ€ 2๋ฐฐ ์†๋„ ํ–ฅ์ƒ
  • M1 standard์—์„œ ANE ์‚ฌ์šฉ ์‹œ GPU ๋Œ€๋น„ 1.75๋ฐฐ ๋น ๋ฆ„ (18.8์ดˆ vs 32.9์ดˆ)

Key Takeaway

Apple Silicon์˜ ๋‹ค์–‘ํ•œ ์ปดํ“จํŒ… ์œ ๋‹›(CPU, GPU, Neural Engine)์„ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•˜๋ ค๋ฉด ํ•˜๋“œ์›จ์–ด ํŠน์„ฑ๋ณ„ ์„ฑ๋Šฅ ๋ฒค์น˜๋งˆํ‚น์„ ํ†ตํ•ด ๋™์  ์„ ํƒ ๋กœ์ง์„ ๊ตฌํ˜„ํ•ด์•ผ ํ•˜๋ฉฐ, ์ƒ์‚ฐ์„ฑ ๋„๊ตฌ๋ฅผ ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ฐฐํฌํ•  ๋•Œ๋Š” ํ”Œ๋žซํผ ๋„ค์ดํ‹ฐ๋ธŒ ๊ธฐ์ˆ (Core ML, SwiftUI)๊ณผ ์˜คํ”ˆ์†Œ์Šค ์ „๋žต์œผ๋กœ ์ ‘๊ทผ์„ฑ๊ณผ ์ปค๋ฎค๋‹ˆํ‹ฐ ์ฐธ์—ฌ๋ฅผ ๋™์‹œ์— ํ™•๋ณดํ•  ์ˆ˜ ์žˆ๋‹ค.


Apple Silicon ๊ธฐ๋ฐ˜ Mac์—์„œ ๋จธ์‹ ๋Ÿฌ๋‹ ์ถ”๋ก  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•  ๋•Œ, PyTorch์˜ mps ๋Œ€์‹  Core ML๋กœ ๋ชจ๋ธ์„ ๋ณ€ํ™˜ํ•˜๊ณ  ํ•˜๋“œ์›จ์–ด ๊ตฌ์„ฑ๋ณ„๋กœ GPU์™€ Neural Engine ์„ฑ๋Šฅ์„ ๋ฒค์น˜๋งˆํ‚นํ•œ ํ›„ ์ž๋™ ์„ ํƒ ํœด๋ฆฌ์Šคํ‹ฑ์„ ๊ตฌํ˜„ํ•˜๋ฉด ๋™์ผ ๋ชจ๋ธ๋กœ๋„ device ๋งˆ๋‹ค 1.75๋ฐฐ~3.6๋ฐฐ ์„ฑ๋Šฅ ์ฐจ์ด๋ฅผ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

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