Hugging Face๊ฐ Swift Diffusers 1.1 ๋ฒ์ ์ผ๋ก Core ML ๋ชจ๋ธ ๋์ ๋ฐ Neural Engine ์๋ ์ ํ์ผ๋ก Text-to-Image ์์ฑ ์๋ ์ต๋ 2๋ฐฐ ํฅ์
Swift ๐งจDiffusers - Fast Stable Diffusion for Mac
AI ์์ฝ
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๋ฐฐ ์ฑ๋ฅ ์ฐจ์ด๋ฅผ ํ์ฉํ ์ ์๋ค.