๐คOcto ML - ์คํํธ์ ํผ์น๋ฑ ๋ถ์
- ๋จ๊ณ: Series C
- ํ๋ฉ๊ท๋ชจ: $85,000,000.00
- ๊ธฐ์ ์ค๋ช : OctoML์ ์์ง๋์ด๋ง ํ์ด ์ด๋ค ํ๋์จ์ด์์๋ ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ์ ๋ฐฐํฌํ ์ ์๋๋ก ์ง์ํ๋ ์ก์ ๋ฌ๋ ์ด์ ํ๋ซํผ์ ์ ๊ณตํฉ๋๋ค.
- ์ด ์ฌ๋ผ์ด๋๋ OctoML ํ์ฌ์ ๋ํ ์ฃผ์ ์ ๋ณด๋ฅผ ์์ฝํ์ฌ ๋ณด์ฌ์ฃผ๊ณ ์์ต๋๋ค. ์ฌ๊ธฐ์ ํฌํจ๋ ๋ด์ฉ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ํ์ฌ ์ค๋ฆฝ ์ ๋ณด: OctoML์ 2019๋ ์ค๋ฐ์ ์์ฑํด์ฃผ ์์ ํ์์ ์ค๋ฆฝ๋์์ต๋๋ค.
- ์ง์ ์: ํ์ฌ 85๋ช ์ด์์ ์ง์์ด ๊ทผ๋ฌดํ๊ณ ์์ต๋๋ค.
- ์๊ธ ์กฐ๋ฌ: ์ด 4700๋ง ๋ฌ๋ฌ์ ์๊ธ์ ์๋ ๋ฐ A/B ๋ผ์ด๋๋ฅผ ํตํด Madrona, Amplify, Addition ๋ฑ์ ํฌ์์๋ก๋ถํฐ ์ ์นํ์ต๋๋ค.
- ์ฃผ๋ ฅ ์ ํ: OctoML์ ํต์ฌ ์ ํ์ OctoML SaaS ํ๋ซํผ์ ๋๋ค.
- ๋ํ, ์ฌ๋ผ์ด๋์๋ ํ์ฌ์ ๋ค์ํ ํ์๋ค์ ์ฌ์ง์ด ๋ณด์ฌ์ ธ, OctoML์ ๋ค์์ฑ๊ณผ ํ ๊ตฌ์ฑ์ ๊ฐ์กฐํ๊ณ ์์ต๋๋ค. ์ด๋ ํ์ฌ์ ์ปค๋ฎค๋ํฐ์ ์ง์๋ค์ ํฌ๊ด์ ์ธ ๊ตฌ์ฑ์ ๋ณด์ฌ์ฃผ๋ ๋์์, ํ์ฌ ๋ฌธํ์ ํ์ํฌ์ ์ค์์ฑ์ ๊ฐ์กฐํ๊ณ ์์ต๋๋ค.
์ด ์ฌ๋ผ์ด๋๋ Apache TVM์ ์คํ ์์ค ์ํ๊ณ ์ฑ์ฅ์ ๋ํด ์ค๋ช ํ๊ณ ์์ต๋๋ค. ์ฌ๊ธฐ์ ๋ค๋ฃจ๋ ์ฃผ์ ๋ด์ฉ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
1. Apache TVM ํ๋ก์ ํธ์ ๊ธฐ์:
- Apache TVM์ ์์ฑํด ๋ํ๊ต์์ OctoML์ ๊ณต๋ ์ฐฝ๋ฆฝ์๋ค์ ์ํด ์์๋ ํ๋ก์ ํธ์ ๋๋ค. ์ด๋ ํ๊ณ์ ์ฐ์ ๊ณ์ ์ฐ๊ฒฐ์ ๊ฐ์กฐํ๋ ์ข์ ์์ ๋๋ค.
2. ํ๋ก์ ํธ์ ์ฑ์ฅ๊ณผ ๊ธฐ์ฌ์ ์:
- ํ์ฌ๊น์ง 645๋ช ์ ๊ธฐ์ฌ์๊ฐ TVM ํ๋ก์ ํธ์ ์ฐธ์ฌํ๊ณ ์์ผ๋ฉฐ, ์ด๋ ์ง์์ ์ผ๋ก ์ฆ๊ฐํ๊ณ ์์ต๋๋ค. ์ด ์ปค๋ฎค๋ํฐ๋ ๋ค์ํ ํ๋์จ์ด ์ง์, ์ฌ๋ฌ ์์ฐ ๋ฐฐํฌ, ๊ทธ๋ฆฌ๊ณ ๊ฐ๋ ฅํ ์ปค๋ฎค๋ํฐ ๋ฐ ์ํ๊ณ ํตํฉ์ ํตํด ์ฑ์ฅํ๊ณ ์์ต๋๋ค.
์ผ์ชฝ ๊ทธ๋ฆผ์ Apache TVM๊ณผ ๊ด๋ จ๋ ๋ค์ํ ํ๋์จ์ด ํ๋ซํผ๊ณผ ํ๋ ์์ํฌ๋ฅผ ๋ํ๋ด๊ณ ์์ต๋๋ค. ๊ทธ๋ฆผ์์ ์ฌ๋ฌ ํ๋์จ์ด ๋ฐ ๊ธฐ์ ๊ตฌ์ฑ ์์๊ฐ ์๋ก ์ฐ๊ฒฐ๋ ๋ชจ์ต์ ํตํด Apache TVM์ด ์ด๋ป๊ฒ ๋ค์ํ ํ๊ฒฝ์์ ํ์ฉ๋ ์ ์๋์ง๋ฅผ ์๊ฐ์ ์ผ๋ก ํํํ๊ณ ์์ต๋๋ค. ๊ตฌ์ฒด์ ์ผ๋ก ๋ค์๊ณผ ๊ฐ์ ์์๋ค์ด ํฌํจ๋์ด ์์ต๋๋ค:
- ๋ค์ํ ํ๋์จ์ด ํ๋ซํผ:
- ์ฌ๋ฌ ํ๋์จ์ด ๋๋ฐ์ด์ค์ ์นฉ์ ์ด ๋ณด์ ๋๋ค. ์ด๋ TVM์ด ๋ค์ํ ์ ํ์ ํ๋์จ์ด, ์๋ฅผ ๋ค์ด GPU, CPU, ๋ชจ๋ฐ์ผ ๋๋ฐ์ด์ค ๋ฐ ํน์ ํ๋์จ์ด ํ๋ซํผ์ ์ ์ฉ๋ ์ ์์์ ๋ํ๋ ๋๋ค.
- ํ๋ ์์ํฌ ๋ฐ ๋๊ตฌ ์ฐ๊ฒฐ์ฑ:
- Vulkan, TensorRT, LLVM, cuDNN ๋ฑ์ ๊ธฐ์ ์์ด์ฝ์ TVM์ด ์ด๋ค ๊ธฐ์ ๊ณผ ํตํฉ๋์ด ์๋ํจ์ ๋ณด์ฌ์ค๋๋ค. ์ด๋ฌํ ํตํฉ์ ํตํด TVM์ ๋ค์ํ ์ปดํจํ ํ๊ฒฝ๊ณผ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์์์ ์ต์ ํ์ ์คํ์ ์ง์ํฉ๋๋ค.
- DL Pack๊ณผ MLIR:
- DL Pack๊ณผ MLIR ์์ด์ฝ์ TVM ์ํ๊ณ ๋ด์์ ์ค์ํ ์ญํ ์ ํ๋ ๊ตฌ์ฑ ์์๋ก ํํ๋์ด ์์ต๋๋ค. ์ด๋ค์ ๋ชจ๋ธ์ ํฌ๋งท๊ณผ ์ต์ ํ๋ฅผ ๋์, ๋ ๋์ ๋ฒ์์ ํ๋์จ์ด ๋ฐ ์ํํธ์จ์ด ํ๋ซํผ์์์ ์คํ์ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค.
์ด ๊ทธ๋ฆผ์ TVM์ด ํ๋์จ์ด ๋ ๋ฆฝ์ ์ธ ๋ฐฉ์์ผ๋ก ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ์ ์ต์ ํํ๊ณ ๋ฐฐํฌํ ์ ์๋๋ก ์ง์ํ๋ ๊ฐ๋ ฅํ ๋๊ตฌ์์ ๊ฐ์กฐํฉ๋๋ค. ๋ํ, TVM์ ์ ์ฐ์ฑ๊ณผ ๊ด๋ฒ์ํ ์ ์ฉ ๊ฐ๋ฅ์ฑ์ ๋ํ๋ด๋ฉฐ, ์ด๋ฅผ ํตํด ๊ฐ๋ฐ์๋ค์ด ๋ณด๋ค ์ฝ๊ฒ ๋ค์ํ ๊ธฐ์ ์คํ๊ณผ ํ๋์จ์ด์์ ์ต์ ์ ์ฑ๋ฅ์ ๋ฌ์ฑํ ์ ์๋๋ก ๋์ต๋๋ค.
์ด ์ฌ๋ผ์ด๋๋ OctoML์ ์กด์ฌ ์ด์ ์ ๊ทธ ๋ชฉ์ ์ ๋ช ํํ ์ค๋ช ํ๊ณ ์์ต๋๋ค. OctoML์ด ์ถ๊ตฌํ๋ ์ฃผ๋ ๋ชฉํ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ์ง์ ๊ฐ๋ฅํ๊ณ ์ ๊ทผ ๊ฐ๋ฅํ AI ์ ๊ณต(Offer sustainable and accessible AI used thoughtfully to improve lives):
- OctoML์ ์ง์ ๊ฐ๋ฅํ๊ณ ์ฌ์ฉ์์๊ฒ ์ ๊ทผ ๊ฐ๋ฅํ ์ธ๊ณต์ง๋ฅ ์๋ฃจ์ ์ ์ ๊ณตํ๋ ๊ฒ์ ๋ชฉํ๋ก ํ๊ณ ์์ต๋๋ค. ์ด๋ฌํ AI ๊ธฐ์ ์ ์ฌ๋ ค ๊น๊ฒ ์ฌ์ฉ๋์ด ์ฌ๋๋ค์ ์ถ์ ๊ฐ์ ํ๋ ๋ฐ ๊ธฐ์ฌํ๋๋ก ์ค๊ณ๋์์ต๋๋ค. ์ด๋ ๊ธฐ์ ์ด ๋จ์ํ ๋น์ฆ๋์ค ๋๊ตฌ๋ฅผ ๋์ด ์ฌํ์ , ํ๊ฒฝ์ ์ํฅ์ ๊ณ ๋ คํ์ฌ ๊ฐ๋ฐ๋์ด์ผ ํ๋ค๋ ์ฒ ํ์ ๋ฐ์ํฉ๋๋ค.
- Apache TVM ์ํ๊ณ ์ฑ์ฅ ์ด์ง ๋ฐ ์ต์ ํ ํ๋ซํผ ๊ตฌ์ถ(Catalyze Apache TVMโs ecosystem growth and build a platform to enable anyone to easily deploy ML models on any hardware at peak performance):
- OctoML์ Apache TVM ์ํ๊ณ์ ์ฑ์ฅ์ ์ด์งํ๊ณ , ์ด๋ฅผ ํตํด ๋๊ตฌ๋ ์ฝ๊ฒ ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ์ ๋ค์ํ ํ๋์จ์ด์์ ์ต์ ์ ์ฑ๋ฅ์ผ๋ก ๋ฐฐํฌํ ์ ์๋ ํ๋ซํผ์ ๊ตฌ์ถํ๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค. ์ด๋ ๊ธฐ์ ์ ์ ๊ทผ์ฑ์ ๋์ด๊ณ , ์ฌ์ฉ์๊ฐ ํ๋์จ์ด์ ์ ์ฝ ์์ด ์์ ์ ์๊ตฌ์ ๋ง๋ ์๋ฃจ์ ์ ์ ํํ ์ ์๊ฒ ํจ์ผ๋ก์จ, ๋ณด๋ค ๋์ ๋ฒ์์ ํ์ ๊ณผ ์์ฉ์ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค.
์ด ๋ ๋ชฉํ๋ OctoML์ด ๊ธฐ์ ๋ฐ์ ๊ณผ ์ฌํ์ ๊ฐ์น ์ฌ์ด์ ๊ท ํ์ ์ถ๊ตฌํ๋ฉฐ, ๋ณด๋ค ํฌ๊ด์ ์ด๊ณ ์ง์ ๊ฐ๋ฅํ ๋ฐฉ์์ผ๋ก ์ธ๊ณต์ง๋ฅ ๊ธฐ์ ์ ํ์ฉํ๋ ค๋ ๊ทธ๋ค์ ๋น์ ์ ๋ฐ์ํฉ๋๋ค. ์ด๋ฌํ ์ ๊ทผ ๋ฐฉ์์ ๊ธฐ์ ์ด ๋จ์ํ ๋๊ตฌ๊ฐ ์๋๋ผ, ์ค์ ๋ก ์ฌ๋๋ค์ ์ถ์ ๊ฐ์ ํ๊ณ ํ์ฅํ ์ ์๋ ์๋จ์ผ๋ก ํ์ฉ๋ ์ ์์์ ๊ฐ์กฐํฉ๋๋ค.
์ด ์ฌ๋ผ์ด๋๋ ๊ธฐ์ ๊ฐ๋ฐ์์ ๋ฌ์ฑํด์ผ ํ ์ธ ๊ฐ์ง ์ฃผ์ ๋ชฉํ๋ฅผ ์ค๋ช ํ๊ณ ์์ต๋๋ค:
- ์ฑ๋ฅ(Performance): ๋ชจ๋ธ์ด ๋ฐฐํฌ ํ๊ฒฝ์ ํ๋์จ์ด๋ฅผ ์ต๋ํ ํ์ฉํ ์ ์๋๋ก ํด์ผ ํฉ๋๋ค. ์ด๋ ๊ธฐ์ ์ด ํด๋น ํ๋์จ์ด์์ ์ต์ ์ ์ฑ๋ฅ์ ๋ฐํํ ์ ์๋๋ก ์ง์ํ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
- ์๋ํ(Automation): ๋๋ฌผ๊ณ , ๋๋ฆฌ๋ฉฐ, ๋น์ฉ์ด ๋ง์ด ๋๋ ์์ง๋์ด๋ง์ ์์กดํ์ง ์๊ณ ๋, ๊ธฐ์ ์ ์๋์ผ๋ก ๊ตฌํ ๋ฐ ์ต์ ํํ ํ์๊ฐ ์์ต๋๋ค. ์ด๋ ๊ณต์ ์ ๋ ๋น ๋ฅด๊ณ ๋น์ฉ ํจ์จ์ ์ผ๋ก ๋ง๋ค๊ธฐ ์ํจ์ ๋๋ค.
- ์ ํ๊ถ(Choice): ์ด๋ค ๋ชจ๋ธ์ด๋ ์ด๋ค ํ๋์จ์ด์์๋ ์คํํ ์ ์์ด์ผ ํฉ๋๋ค. ์ด๋ ๋ค์ํ ํ๋์จ์ด ์ต์ ์ ๋ํ ์ ์ฐ์ฑ์ ์ ๊ณตํ์ฌ ์ฌ์ฉ์๊ฐ ์์ ์ ํ์์ ๊ฐ์ฅ ์ ํฉํ ์๋ฃจ์ ์ ์ ํํ ์ ์๋๋ก ํฉ๋๋ค.
์ด๋ฌํ ๋ชฉํ๋ ๊ธฐ์ ์ ์ ๊ทผ์ฑ๊ณผ ํจ์จ์ฑ์ ๋์ด๋ ๋ฐ ์ค์ ์ ๋๊ณ ์์ผ๋ฉฐ, ์ด๋ ๋ ๋์ ๋ฒ์์ ์ฌ์ฉ์์ ํ๊ฒฝ์์ ๊ธฐ์ ์ ์ฝ๊ฒ ๋ฐฐํฌํ๊ณ ์ต์ ํํ ์ ์๋๋ก ์ง์ํฉ๋๋ค.
์ด ๋ค์ด์ด๊ทธ๋จ์ OctoML ํ๋ซํผ์ด MLOps(๊ธฐ๊ณ ํ์ต ์ด์) ํ๋ฆ์์ ์ด๋ป๊ฒ ํตํฉ๋๋์ง ๋ณด์ฌ์ค๋๋ค. MLOps์ ์ฃผ์ ๋จ๊ณ๋ ๋ค์๊ณผ ๊ฐ์ด ์ํ์ ์ผ๋ก ๋ฐฐ์ด๋ฉ๋๋ค:
- ๋ฐ์ดํฐ ์์ง(Data Collection): ์ด ๋จ๊ณ์์๋ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ์์งํฉ๋๋ค. ์์ง๋ ๋ฐ์ดํฐ๋ ๋ค์ ๋จ๊ณ๋ก ๋์ด๊ฐ๊ธฐ ์ ์ ์ฒ๋ฆฌ๋ฉ๋๋ค.
- ์ ์ ๋ฐ ์ฃผ์ ์ฒ๋ฆฌ(Cleaning & Annotation): ์์ง๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ ํ๊ณ ํ์ํ ๊ฒฝ์ฐ ์ฃผ์์ ๋ฌ์ ๋ฐ์ดํฐ์ ํ์ง์ ๋์ด๊ณ ๋ชจ๋ธ ํ๋ จ์ ์ ํฉํ๊ฒ ๋ง๋ญ๋๋ค.
- ๋ชจ๋ธ ์์ฑ ๋ฐ ํ๋ จ(Model Creation & Training): ์ ์ ๋ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ์ฌ ๊ธฐ๊ณ ํ์ต ๋ชจ๋ธ์ ์์ฑํ๊ณ ํ๋ จํฉ๋๋ค.
- ์ฑ๋ฅ ์๋ํ(Performance Automation): ๋ชจ๋ธ์ ์ฑ๋ฅ์ ์๋์ผ๋ก ์ต์ ํํ์ฌ ๋ฐฐํฌ๋ ๋ชจ๋ธ์ด ์ต๋ํ์ ํจ์จ์ ๋ผ ์ ์๋๋ก ํฉ๋๋ค.
- ํจํค์ง ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ํตํฉ(Packaging & App Integration): ๋ชจ๋ธ์ ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ํตํฉํ๊ณ ์ฌ์ฉ์๊ฐ ์ฌ์ฉํ ์ ์๋๋ก ํจํค์งํฉ๋๋ค.
- ๋ฐฐํฌ(Deployment): ํ๋ จ๋ ๋ชจ๋ธ์ ์ค์ ์ด์ ํ๊ฒฝ์ ๋ฐฐํฌํฉ๋๋ค.
์ด ํ๋ฆ์ ์ง์์ ์ธ ๊ฐ์ ๊ณผ ํจ์จ์ ์ธ ๋ชจ๋ธ ๊ด๋ฆฌ๋ฅผ ์ํด ์ํ์ ์ผ๋ก ์ค๊ณ๋์์ต๋๋ค. OctoML ํ๋ซํผ์ 4, 5, 6๋ฒ ๋จ๊ณ์์ ์๋ํ ๋ฐ ์ต์ ํ๋ฅผ ์ ๊ณตํ์ฌ ์ ์ฒด MLOps ํ๋ก์ธ์ค๋ฅผ ๊ฐ์ํํ๊ณ ํฅ์์ํต๋๋ค.
- ML (๋จธ์ ๋ฌ๋) ํ์ ์ ์ํด์๋ ํผํฌ๋จผ์ค๊ฐ ํต์ฌ์ ์ ๋๋ค.
์ด ์ฌ๋ผ์ด๋๋ ์ธ๊ณต์ง๋ฅ๊ณผ ๋จธ์ ๋ฌ๋(AI/ML)์ ํ๊ฒฝ์ ์ํฅ์ ๋ํ ์ค์ํ ๋ฌธ์ ๋ค์ ์กฐ๋ช ํ๊ณ ์์ต๋๋ค.
- ์์๋ฅผ ๋ฐ๋ผ์ก๊ธฐ ์ํด ๋น ๋ฅด๊ฒ ์ฑ์ฅํ๋ ์ฉ๋(Capacity growing fast to keep up with demand): AI ๋ฐ ML ๊ธฐ์ ์ด ๋ฐ์ ํ๋ฉด์ ์ด๋ฅผ ์ํ ์ธํ๋ผ์ ์ฒ๋ฆฌ ๋ฅ๋ ฅ์ด ๊ธ์ํ ์ฆ๊ฐํ๊ณ ์์ต๋๋ค. ์ด๋ ๊ธฐ์ ์ด ๊ณ์ํด์ ๋ฐ์ ํ๊ณ ์์๊ฐ ์ฆ๊ฐํจ์ ๋ฐ๋ผ ํ์ํ ์์๋ ๋์ด๋๊ณ ์์์ ๋ณด์ฌ์ค๋๋ค.
- ๋น๊ต์ ์์ฒญ๋ ํ์ ๋ฐ์๊ตญ(Carbon footprint is humongous by comparison): ๋๊ท๋ชจ์ ์ถ์ฒ ๋ชจ๋ธ์ ์ด์ํ ๊ฒฝ์ฐ ๋ฐ์ํ๋ ํ์ ๋ฐ์๊ตญ์ ์๋นํ ํฝ๋๋ค. ์๋ฅผ ๋ค์ด, ์ด๋ 170๊ฐ๊ตฌ์ ๋ฏธ๊ตญ ๊ฐ์ ์ด 1๋ ๋์ ์ฌ์ฉํ๋ ์๋์ง ์๊ณผ ๋ง๋จน๊ฑฐ๋, ํ์ ๋ฐฐ์ถ์ ์์ํ๊ธฐ ์ํด 7,500๊ทธ๋ฃจ์ ๋๋ฌด๋ฅผ ์ฌ์ด์ผ ํ ์ ๋์ ๋๋ค. ์ด๋ AI ๊ธฐ์ ์ ํ์ฅ์ด ํ๊ฒฝ์ ๋ฏธ์น๋ ์ํฅ์ ๊ฐ์กฐํ๋ ์ค์ํ ์งํ์ ๋๋ค.
- ๊ฐ์ธ์ ์ธ ๋ฌธ์ (This, to me, is personal): ์ฌ๋ผ์ด๋์ ๋ง์ง๋ง ๋ถ๋ถ์์๋ ๋ฐํ์๊ฐ ์ด ๋ฌธ์ ๋ฅผ ๊ฐ์ธ์ ์ผ๋ก ๋ฐ์๋ค์ด๊ณ ์๋ค๋ ์ ์ ๊ฐ์กฐํ๊ณ ์์ต๋๋ค. ์ฌ๊ธฐ์ ํ์๋ ์ฐ๋ฆผ ์ด๋ฏธ์ง๋ ์์ฐ์ ๋ณดํธํ๊ณ ์ง์ ๊ฐ๋ฅํ ๊ธฐ์ ๊ฐ๋ฐ์ ์ถ๊ตฌํ๋ ๊ฒ์ด ์ผ๋ง๋ ์ค์ํ์ง๋ฅผ ์์ง์ ์ผ๋ก ๋ณด์ฌ์ฃผ๊ณ ์์ต๋๋ค.
์ด ์ฌ๋ผ์ด๋๋ AI์ ML์ ๋ฐ์ ์ด ๊ฐ์ ธ์ค๋ ํ๊ฒฝ์ ๋์ ์ ์ธ์ํ๊ณ , ์ด์ ๋ํ ์ฑ ์ ์๋ ๋์์ ๊ฐ์กฐํ๋ ๋ด์ฉ์ ๋ด๊ณ ์์ต๋๋ค.
์ด ์ฌ๋ผ์ด๋๋ ์ฑ๋ฅ์ ์ค์์ฑ๊ณผ ๊ทธ๊ฒ์ด ๋น์ฉ, ์๋์ง ์ฌ์ฉ, ๊ทธ๋ฆฌ๊ณ ์ ์ฒด ์ธํ๋ผ์ ๋ฏธ์น๋ ์ํฅ์ ๋ํด ์ค๋ช ํ๊ณ ์์ต๋๋ค. ๊ฐ ํฌ์ธํธ๋ฅผ ํ๊ตญ์ด๋ก ์ค๋ช ํ๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- 2๋ฐฐ ๋น ๋ฆ(Faster): ์ฝ๋๊ฐ ๋ฐ์ดํฐ ์ผํฐ์์ ์ ์ธ๊ณ์ ์ผ๋ก ์คํ๋ ๋์ ์ํฉ์ ์์ํด ๋ณด์ธ์. ์ด๋ ํ๋ก์ธ์ค๋ฅผ ๊ฐ์ํํ์ฌ ์ ์ฒด์ ์ธ ์์ ์๋๋ฅผ ํฅ์์ํต๋๋ค.
- ์๋์ง ์ฌ์ฉ 1/2(Energy Use): ์ธ๊ณ ๊ณณ๊ณณ์ ํฉ์ด์ ธ ์๋ ์๋ง์ ์ฅ์น๋ฅผ ์๋์ํค๊ธฐ ์ํด ํ์ํ ๋ฐฐํฐ๋ฆฌ๋ฅผ ์์ํด ๋ณด์ธ์. ํจ์จ์ ์ธ ์ฑ๋ฅ์ ์ด๋ฌํ ์ฅ์น๋ค์ด ์๋นํ๋ ์๋์ง ์์ ์ค์ด๋ ๋ฐ ํฐ ๋์์ ์ค๋๋ค.
- ์ธํ๋ผ 1/2(Infrastructure): ์ง๊ตฌ์ ํ๋ณตํ ๋๋ฌด๋ค์ ์๊ฐํด ๋ณด์ธ์. ์ฑ๋ฅ ์ต์ ํ๋ ํ์ํ ์ธํ๋ผ์ ์์ ์ค์ด๊ณ , ๊ฒฐ๊ณผ์ ์ผ๋ก ํ๊ฒฝ์ ๋ฏธ์น๋ ๋ถ์ ์ ์ธ ์ํฅ์ ๊ฐ์์ํฌ ์ ์์ต๋๋ค.
- ๋น์ฉ 1/2(Cost): ํจ์จ์ ์ธ ์ฑ๋ฅ์ ๋น์ฉ์ ์ ๋ฐ์ผ๋ก ์ค์ด๋ ๋ฐ ๊ธฐ์ฌํฉ๋๋ค. ์ด๋ ๊ธฐ์ ์ ์์์ ์ ์ฝํ๊ณ ์ฅ๊ธฐ์ ์ผ๋ก ๊ฒฝ์ ์ ์ง์ ๊ฐ๋ฅ์ฑ์ ๋ฌ์ฑํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
์ ์ฒด์ ์ผ๋ก ์ด ์ฌ๋ผ์ด๋๋ ์ฑ๋ฅ ์ต์ ํ๊ฐ ๊ธฐ์ ์ ํ์ฅ์ฑ, ๋น์ฉ ํจ์จ์ฑ, ๊ทธ๋ฆฌ๊ณ ํ๊ฒฝ ๋ณดํธ์ ์ผ๋ง๋ ์ค์ํ์ง ๊ฐ์กฐํ๊ณ ์์ต๋๋ค. ์ด๋ "์ฑ๋ฅ์ด ์ค์ํ๋ค(Performance is critical)"๋ผ๋ ๋ฉ์์ง๋ฅผ ํตํด ๊ฐ์กฐ๋ฉ๋๋ค.
์ด ์ฌ๋ผ์ด๋๋ ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ์ ์ฑ๋ฅ ์ต์ ํ์ ์ด๋ ค์์ ์ค๋ช ํ๋ฉฐ, ๋ชจ๋ธ์ ํน์ฑ๊ณผ ์ต์ ํ๋ฅผ ์ํด ํ์ํ ์ง์์ ๋๋นํ์ฌ ์ค๋ช ํฉ๋๋ค.
์ผ์ชฝ ๋ถ๋ถ: ML ๋ชจ๋ธ์ ํน์ฑ๊ณผ ๋์ (Left Part: Characteristics and Challenges of ML Models)
- ML ๋ชจ๋ธ = ์ฝ๋ + ๋ฐ์ดํฐ(ML Model = Code + Data): ๋ชจ๋ธ์ ์ฝ๋์ ๋ฐ์ดํฐ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
- ๋ฐฐํฌ ํ๋์จ์ด ๋ฐ ์ธํ๋ผ์ ๋ํ ๋ฏผ๊ฐ๋(Very sensitive to deployment HW and infrastructure): ๋ชจ๋ธ์ ์ฌ์ฉํ๋ ํ๋์จ์ด์ ์ธํ๋ผ์ ๋ฏผ๊ฐํฉ๋๋ค.
- ๋ฉ๋ชจ๋ฆฌ ๋ฐ ๊ณ์ฐ ์์์ ๋ํ ์คํธ๋ ์ค(Stresses memory, compute/communication resources): ๋ชจ๋ธ์ ๋ง์ ๋ฉ๋ชจ๋ฆฌ์ ๊ณ์ฐ ์์์ ์ฌ์ฉํฉ๋๋ค.
- ์ ํ๋์ ์์ ์ฌ์ฉ์ ์์ถฉ ๊ด๊ณ(It can trade-off accuracy for lower resource usage): ๋๋ก๋ ๋ ๋ฎ์ ์์ ์ฌ์ฉ์ ์ํด ์ ํ๋๋ฅผ ํฌ์ํ ์ ์์ต๋๋ค.
์ค๋ฅธ์ชฝ ๋ถ๋ถ: ์ฑ๋ฅ ์ต์ ํ๋ฅผ ์ํ ํ์ ์ง์(Right Part: Required Knowledge for Performance Optimization)
- ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ ์ธ๋ถ ์ ๋ณด(Machine learning model details): ์์ง๋์ด๋ ๋ชจ๋ธ์ ๊ตฌ์กฐ์ ์๋ ๋ฐฉ์์ ์์์ผ ํฉ๋๋ค.
- ์ต์ ํ ๊ธฐ์ (Optimization techniques): ์ง์ญ์ฑ ์ต์ ํ (locality optimizations), ์ฝ๋ ์ค์ผ์ค๋ง (code scheduling), ์์ํ (quantization)๋ฑ์ ๊ธฐ์ ์ ์ ์ฉํด์ผ ํฉ๋๋ค.
- ์ปดํ์ผ๋ฌ ๋ฐ ์ปดํจํฐ ๊ตฌ์กฐ(Compilers and even computer architecture): ์ํํธ์จ์ด์ ํ๋์จ์ด ์ต์ ํ๋ฅผ ์ํ ๊น์ ์ดํด๊ฐ ํ์ํฉ๋๋ค.
์ด ์ค๋ช ์ ์ฑ๋ฅ ์ต์ ํ์ ์ค์์ฑ์ ๊ฐ์กฐํ๊ณ , ML ๋ชจ๋ธ์ ํจ๊ณผ์ ์ผ๋ก ๊ฐ๋ฐํ๊ณ ์ด์ํ๋ ๋ฐ ํ์ํ ๊ธฐ์ ์ ๊น์ด์ ์ง์์ ์ ์ํฉ๋๋ค.
์ด ์ฌ๋ผ์ด๋๋ ๋จธ์ ๋ฌ๋์ ์ต์ ํ์ ๋ฐฐํฌ ๊ณผ์ ์ ๋ ๋ง์ ์ฌ๋๋ค์ด ํ ์ ์๋๋ก ๋ง๋๋ ๊ฒ์ ์ค์์ฑ์ ์ค๋ช
ํ๊ณ ์์ต๋๋ค.
- ์ถฉ๋ถํ ์ฌ๋๋ค์ด ๋ชจ๋ธ ์ต์ ํ์ ๋ฐฐํฌ๋ฅผ ์์ง ๋ชปํจ(Not enough people know how to optimize and deploy models): ๋ง์ ์ฌ๋๋ค์ด ์์ง๊น์ง ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ์ ์ต์ ํ์ ๋ฐฐํฌ ๋ฐฉ๋ฒ์ ๋ํ ์ถฉ๋ถํ ์ง์์ด๋ ๊ธฐ์ ์ ๊ฐ์ถ์ง ๋ชปํ๊ณ ์๋ค๋ ํ์ค์ ์ง์ ํฉ๋๋ค.
- ์ด ์ํฉ์ ์ง์๋ ์ ์์(It canโt stay that way or it will be in the hands of too few players): ๋จธ์ ๋ฌ๋ ๊ธฐ์ ๊ณผ ์ง์์ด ์์์ ์ํด์๋ง ํต์ ๋๋ ๊ฒ์ ๋ฐฉ์งํ๊ณ , ์ด ๋ถ์ผ๋ฅผ ๋ ๋ง์ ์ฌ๋๋ค์๊ฒ ๊ฐ๋ฐฉํ ํ์๊ฐ ์๋ค๊ณ ๊ฐ์กฐํฉ๋๋ค.
- ML ์ฑ๋ฅ์ ๋์ ๋ฒ์์ ์ค๋ฌด์๋ค์๊ฒ ์ ๊ทผ ๊ฐ๋ฅํ๊ฒ ํด์ผ ํจ(Need to make performance in ML accessible to a wide range of practitioners): ๋จธ์ ๋ฌ๋์ ์ฑ๋ฅ ์ต์ ํ ๊ณผ์ ์ ๋ ๋ง์ ์ค๋ฌด์๋ค์ด ์ดํดํ๊ณ ์ ๊ทผํ ์ ์๋๋ก ์ง์๊ณผ ๋๊ตฌ๋ฅผ ๋ณด๊ธํด์ผ ํ๋ค๋ ์ ์ ๊ฐ์กฐํฉ๋๋ค.
- ๋ ๋ง์ ์ฌ๋๋ค์ด ๋น ๋ฅด๊ฒ ML์ ์ํํ ์ ์๊ฒ ๋จ(More people able to do fast ML): ์ง์ ํ์ฐ์ ํตํด ๋ ๋ง์ ์ฌ๋๋ค์ด ๋จธ์ ๋ฌ๋์ ๋น ๋ฅด๊ณ ํจ๊ณผ์ ์ผ๋ก ์ํํ ์ ์๊ฒ ๋จ์ผ๋ก์จ, ๊ธฐ์ ์ ์ฌ์ฉ ๋ฒ์์ ํจ์จ์ฑ์ ์ฆ๊ฐ์ํฌ ์ ์๋ค๋ ๊ธฐ๋๋ฅผ ํํฉ๋๋ค.
- ML์์์ ํ์ ์ฆ๊ฐ(More innovation in ML): ์ง์๊ณผ ๋๊ตฌ์ ํ์ฐ์ด ๋ ๋ค์ํ ๋ฐฐ๊ฒฝ์ ๊ฐ์ง ์ฌ๋๋ค๋ก๋ถํฐ์ ์๋ก์ด ์์ด๋์ด์ ํ์ ์ ๊ฐ๋ฅํ๊ฒ ํจ์ผ๋ก์จ, ML ๋ถ์ผ ์ ๋ฐ์ ๊ฑธ์ณ ๋ฐ์ ์ ์ด์งํ ์ ์๋ค๊ณ ์ค๋ช ํฉ๋๋ค.
์ด๋ฌํ ์ธ๋ถ ์ฌํญ๋ค์ ๋จธ์ ๋ฌ๋์ ์ต์ ํ ๋ฐ ๋ฐฐํฌ ๊ณผ์ ์ ๋ ๋ง์ ์ฌ๋๋ค์๊ฒ ์๋ ค, ์ ์ฒด์ ์ธ ํ์ ๊ณผ ๋ฐ์ ์ ๋๋ชจํ๊ธฐ ์ํ ํ์์ฑ์ ๊ฐ์กฐํ๋ ๋ฐ ์ค์ ์ ๋ก๋๋ค.
- ์๋ํ๋ ML Deployment๋ฅผ Scalingํ๋๋ฐ ์์ด ํต์ฌ์ ๋๋ค.
์ด ์ฌ๋ผ์ด๋๋ ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ ๋ฐฐํฌ๋ฅผ ์ํ ์์์ ์์ง๋์ด๋ง์ ํ๊ณ์ ์๋ํ์ ํ์์ฑ์ ๋ค๋ฃจ๊ณ ์์ต๋๋ค. ์ฌ๊ธฐ์๋ ํฌ๊ฒ ๋ ๋ถ๋ถ์ ๋ด์ฉ์ด ํฌํจ๋์ด ์์ต๋๋ค:
1. ์์์ ์์ง๋์ด๋ง์ ๋ฌธ์ ์ (Hand Engineering for ML Deployment Doesnโt Scale):
- ๋ชจ๋ธ์ ์์ฐ์ผ๋ก ๊ฐ์ ธ๊ฐ๋ ๋ฐ ๋ช ๋ฌ์ด ๊ฑธ๋ฆด ์ ์์(Getting a model to production can take months!): ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ์ ์ค์ ์์ฐ ํ๊ฒฝ์ ๋ฐฐํฌํ๋ ๋ฐ๋ ์๊ฐ์์ด ์์๋ ์ ์์ต๋๋ค. ์ด ๊ณผ์ ์ ๋ณต์กํ๊ณ ์๊ฐ์ด ๋ง์ด ๊ฑธ๋ฆฝ๋๋ค.
- AI/ML์ ์ฑ์ฅ ์ถ์ธ๋ฅผ ๋ฐ๋ผ์ก์ ์ ์๋ ์์ง๋์ด๊ฐ ๋ถ์กฑํจ(And given the growth trends in AI/ML, there are not enough engineers to keep up with demand): AI ๋ฐ ML ๋ถ์ผ์ ๊ธ์ํ ์ฑ์ฅ์ ๋นํด ์ถฉ๋ถํ ์์ ์์ง๋์ด๊ฐ ์์ด, ์์๋ฅผ ์ถฉ์กฑ์ํค๊ธฐ ์ด๋ ต์ต๋๋ค.
2. ์๋ํ๊ฐ ํ์ํ ๋ถ๋ถ(What needs to be automated?):
- ๋ชจ๋ ๋ฐฐํฌ ํ๋์จ์ด ์ต์ ์์ ๋ชจ๋ธ ๊ตฌํ์ ์กฐ์ ํด์ผ ํจ(Tuning model implementation on all deployment hardware options): ๋ค์ํ ํ๋์จ์ด ์ต์ ์์ ๋ชจ๋ธ์ ์ต์ ํํ๊ณ ์กฐ์ ํ๋ ๊ณผ์ ์ ์๋ํํ ํ์๊ฐ ์์ต๋๋ค.
- ๊ท๋ชจ์ ๋ง๋ ๋ฐฐํฌ๋ฅผ ์ํด ์ต์ ์ ํ๋์จ์ด ์ ํํ๊ธฐ(Choosing what hardware is best for deployment at scale): ๊ฐ์ฅ ํจ์จ์ ์ธ ํ๋์จ์ด๋ฅผ ์ ํํ๋ ๊ฒ์ ์ค์ํ ๊ฒฐ์ ์ ๋๋ค. ์ฌ๊ธฐ์๋ ์ฒ๋ฆฌ๋ ๋๋น ์๋์ง ํจ์จ(throughput/watt), ์ฒ๋ฆฌ๋ ๋๋น ๋น์ฉ(throughput/$), ๋๋ ์๋ต ์๊ฐ(latency) ๋ฑ์ด ๊ณ ๋ ค๋ฉ๋๋ค.
- ๋ฐฐํฌ๋ฅผ ์ฝ๊ฒ ํ๊ธฐ ์ํ ๋ชจ๋ธ ํจํค์ง(Packaging model for easy deployment): ๋ชจ๋ธ์ ์ฝ๊ฒ ๋ฐฐํฌํ ์ ์๋๋ก ํจํค์งํ๋ ๊ณผ์ ๋ ์๋ํ๋์ด์ผ ํฉ๋๋ค.
์ด ์ฌ๋ผ์ด๋๋ ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ ๋ฐฐํฌ ๊ณผ์ ์์ ์๋ํ์ ์ค์์ฑ์ ๊ฐ์กฐํ๊ณ ์์ผ๋ฉฐ, ์์์ ์ผ๋ก ์ฒ๋ฆฌํ๊ธฐ ์ด๋ ค์ด ๋ค์ํ ๊ณผ์ ๋ค์ ํด๊ฒฐํ๊ธฐ ์ํด ์๋ํ ๊ธฐ์ ์ ์ ์ฉํ ํ์๊ฐ ์์์ ๋ณด์ฌ์ค๋๋ค. ์ด๋ ์์ฐ์ฑ์ ๋์ด๊ณ , ๋ ๋น ๋ฅด๊ณ ํจ์จ์ ์ธ ๋ชจ๋ธ ๋ฐฐํฌ๋ฅผ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค.
์ด ์ฌ๋ผ์ด๋๋ Apache TVM์ ์ฌ์ฉํ ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ์ ์ฑ๋ฅ ์๋ํ์ ๋ํด ์ค๋ช ํ๊ณ ์์ต๋๋ค. ์ฃผ์ ๋ด์ฉ์ ์์ฝํ๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
1. ML ๋ชจ๋ธ(ML Model):
- ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ์ ์ถ๋ฐ์ ์ ๋ํ๋ ๋๋ค. ์ด ๋ชจ๋ธ์ ๋ค์ํ ํ๋ ์์ํฌ์ ํ๊ฒฝ์์ ๊ฐ๋ฐ๋ ์ ์์ต๋๋ค.
2. TVM ์ฌ์ฉ(TVM: ML-based optimizations to obviate need for hand-tuning for target HW):
- Apache TVM์ ๋จธ์ ๋ฌ๋ ๊ธฐ๋ฐ์ ์ต์ ํ๋ฅผ ์ ๊ณตํ์ฌ, ํน์ ํ๋์จ์ด๋ฅผ ์ํ ์์์ ํ๋์ ํ์์ฑ์ ์์ ์ค๋๋ค. ์ด๋ ๊ฐ๋ฐ์๋ค์ด ํ๋์จ์ด์ ๋ํ ๊น์ ์ง์ ์์ด๋ ๋ชจ๋ธ์ ์ต์ ํํ ์ ์๊ฒ ํด์ฃผ๋ ๋๊ตฌ์ ๋๋ค.
3. ์ต์ ํ๋ ์ฝ๋(Optimized code specific to target HW):
- TVM์ ํน์ ๋์ ํ๋์จ์ด์ ๋ง์ถ์ด ์ต์ ํ๋ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค. ์ด ๊ณผ์ ์ NVIDIA, Intel, AMD์ ๊ฐ์ ๋ค์ํ ํ๋์จ์ด ํ๋ซํผ์์ ๋ชจ๋ธ์ ์ฑ๋ฅ์ ๊ทน๋ํํฉ๋๋ค.
4. ๋ค์์ฑ์ ๊ธฐ๋ฐํ ๊ฐ์ (Thrives on diversity: models, frameworks, types of optimizations, HW targets):
- Apache TVM์ ๋ค์ํ ๋ชจ๋ธ, ํ๋ ์์ํฌ, ์ต์ ํ ์ ํ ๋ฐ ํ๋์จ์ด ๋์์ ์ง์ํ๋ ๊ฐ์ ์ ๊ฐ์ง๊ณ ์์ต๋๋ค. ์ด๋ก ์ธํด TVM์ ๊ด๋ฒ์ํ ํ๊ฒฝ์์์ ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ ์ต์ ํ์ ๋งค์ฐ ์ ์ฉํฉ๋๋ค.
์ด ์ฌ๋ผ์ด๋๋ Apache TVM์ด ์ด๋ป๊ฒ ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ์ ์ฑ๋ฅ์ ์๋ํํ๊ณ , ๋ณต์กํ ์๋ ํ๋ ์์ด๋ ๋ค์ํ ํ๋์จ์ด์์ ๋ชจ๋ธ์ ์ต์ ํํ ์ ์๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํ๋์ง๋ฅผ ๋ณด์ฌ์ค๋๋ค. ์ด๋ ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ์ ๋ฐฐํฌ์ ํ์ฅ์ฑ์ ํฌ๊ฒ ํฅ์์ํฌ ์ ์๋ ์ค์ํ ๋๊ตฌ์์ ๊ฐ์กฐํฉ๋๋ค.
์ด ์ฌ๋ผ์ด๋๋ Apache TVM์ ์ฌ์ฉํ์ฌ Apple์ M1, M1 Pro, ๋ฐ M1 Max ํ๋์จ์ด์์ BERT ๋ชจ๋ธ์ ์ต์ ํํ๋ ์ฌ๋ก ์ฐ๊ตฌ๋ฅผ ๋ณด์ฌ์ค๋๋ค. ์ฃผ์ ๋ด์ฉ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
1. BERT ๋ชจ๋ธ(BERT Model):
- BERT๋ ์์ฐ์ด ์ฒ๋ฆฌ๋ฅผ ์ํ ์ธ๊ธฐ ์๋ ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ์ ๋๋ค. ์ด ์ฌ๋ก ์ฐ๊ตฌ์์๋ BERT ๋ชจ๋ธ์ ์์์ ์ผ๋ก ์ฌ์ฉํฉ๋๋ค.
2. Apache TVM์ ์ญํ (Apache TVM):
- TVM์ ์ด ๋ชจ๋ธ์ Apple์ ์ ํ ํ๋์จ์ด์ ๋ง๊ฒ ์ต์ ํํฉ๋๋ค. TVM์ ํตํด ๊ฐ๋ฐ์๋ ์์์ ํ๋์ ํ์ง ์๊ณ ๋ ํ๋์จ์ด์ ํนํ๋ ์ฑ๋ฅ ์ต์ ํ๋ฅผ ์๋์ผ๋ก ์ํํ ์ ์์ต๋๋ค.
3. ์ต์ ํ๋ ์ฝ๋(Optimized code for Apple Hardware):
- TVM์ ์ฌ์ฉํ์ฌ ์์ฑ๋ ์ฝ๋๋ Apple์ M1, M1 Pro, ๋ฐ M1 Max ์นฉ์ ์ ์ํด ํน๋ณํ ์ต์ ํ๋์ด, ์ด ํ๋ซํผ๋ค์์ BERT ๋ชจ๋ธ์ ์ฑ๋ฅ์ ๊ทน๋ํํฉ๋๋ค.
4. ๊ฒฐ๊ณผ ๋ฐ ์ฑ๋ฅ(Enabled M1 and M1 Pro/Max weeks after they were released. Demonstrates generality and automation):
- TVM์ Apple ํ๋์จ์ด๊ฐ ์ถ์๋ ์ง ๋ช ์ฃผ ๋ง์ ์ด๋ค์ ๋ํ ์ง์์ ํ์ฑํํ์ต๋๋ค. ์ด๋ TVM์ ๋ฒ์ฉ์ฑ๊ณผ ์๋ํ ๋ฅ๋ ฅ์ ์ ์ฆํ๋ ์๋ก, ์๋ก์ด ํ๋์จ์ด์ ๋น ๋ฅด๊ฒ ์ ์ํ๊ณ ์ต์ ํํ ์ ์๋ ๋ฅ๋ ฅ์ ๋ณด์ฌ์ค๋๋ค.
์ด ์ฌ๋ก ์ฐ๊ตฌ๋ TVM์ด ์ด๋ป๊ฒ ๋ค์ํ ํ๋์จ์ด ํ๋ซํผ์ ๊ฑธ์ณ ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ์ ์ฑ๋ฅ ์ต์ ํ๋ฅผ ์๋ํํ ์ ์๋์ง๋ฅผ ๋ณด์ฌ์ฃผ๋ ํ์ํ ์์ ๋๋ค. ํนํ, ์๋ก์ด ํ๋์จ์ด ์ถ์ ํ ์ ์ํ ์ง์๊ณผ ์ฑ๋ฅ ํฅ์์ ๊ฐ๋ฅํ๊ฒ ํจ์ผ๋ก์จ, TVM์ ์ ์ฉ์ฑ๊ณผ ํจ์จ์ฑ์ ๊ฐ์กฐํฉ๋๋ค.
์ด ์ฌ๋ผ์ด๋๋ Apple M1 Max ์นฉ์ ์ฌ์ฉํ๋ ํ๊ฒฝ์์ Apache TVM์ ํตํด TensorFlow๋ฅผ ์ต์ ํํ๋ ์ฑ๋ฅ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ฌ์ค๋๋ค. ๊ตฌ์ฒด์ ์ธ ๋ด์ฉ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
1. CPU ์ฑ๋ฅ ํฅ์(Appleโs Most Powerful Chips with ~3X CPU Performance Speedups with Apache TVM):
- TensorFlow on MBP16 w/ M1 Max: Apple M1 Max๋ฅผ ์ฌ์ฉํ๋ MacBook Pro 16์์ TensorFlow๋ฅผ ์คํํ ๋์ CPU ์ง์ฐ ์๊ฐ์ 113.63ms์ ๋๋ค.
- TVM on MBP16 w/ M1 Max: ๊ฐ์ ์ค์ ์์ Apache TVM์ ์ฌ์ฉํ์ฌ ์ต์ ํํ ๊ฒฝ์ฐ, CPU ์ง์ฐ ์๊ฐ์ด 36.36ms๋ก ์ค์ด๋ค์ด ์ฝ 3๋ฐฐ ๋นจ๋ผ์ก์ต๋๋ค.
2. GPU ์ฑ๋ฅ ํฅ์(Appleโs Most Powerful Chips with ~2X GPU Performance Speedups with Apache TVM):
- TensorFlow on MBP16 w/ M1 Max (FP16): Apple M1 Max์ GPU๋ฅผ ์ฌ์ฉํ์ฌ TensorFlow๋ฅผ ์คํํ ๋์ GPU ์ง์ฐ ์๊ฐ์ 19.68ms์ ๋๋ค.
- TVM on MBP16 w/ M1 Max (FP16): Apache TVM์ ์ฌ์ฉํ์ฌ ์ต์ ํํ ๊ฒฝ์ฐ, GPU ์ง์ฐ ์๊ฐ์ด 10.88ms๋ก ์ค์ด๋ค์ด ๊ฑฐ์ 2๋ฐฐ์ ์ฑ๋ฅ ํฅ์์ ๋ณด์ฌ์ค๋๋ค.
3. ๊ฒฐ๋ก ๊ณผ ์ ๋ง(Still, need to widen to more users, need further automation, and to squeeze more performance):
- ์ด ๋ฐ์ดํฐ๋ Apache TVM์ด Apple์ ์ต์ ์นฉ์์ ๋งค์ฐ ํจ๊ณผ์ ์ผ๋ก ์ฑ๋ฅ์ ํฅ์์ํฌ ์ ์์์ ๋ณด์ฌ์ฃผ์ง๋ง, ์ด ๊ธฐ์ ์ ๋ ๋ง์ ์ฌ์ฉ์์๊ฒ ํ์ฐ์ํค๊ณ , ์ถ๊ฐ์ ์ธ ์๋ํ๋ฅผ ํตํด ์ฑ๋ฅ์ ๋์ฑ ๋์ฌ์ผ ํ๋ค๋ ํ์์ฑ์ ๊ฐ์กฐํฉ๋๋ค.
์ด ์ฌ๋ผ์ด๋๋ Apache TVM์ด ์ต์ ํ๋์จ์ด์์ ์ด๋ป๊ฒ ์ค์ง์ ์ธ ์ฑ๋ฅ ๊ฐ์ ์ ์ ๊ณตํ ์ ์๋์ง๋ฅผ ์ค์ ์์น๋ก ๋ณด์ฌ์ฃผ๋ฉฐ, ์ด ๊ธฐ์ ์ ์ ์ฌ๋ ฅ๊ณผ ๊ฐ์ ์ ํ์์ฑ์ ๊ฐ์กฐํฉ๋๋ค.
์ด ์ฌ๋ผ์ด๋๋ "์ ํ๊ถ์ด ๊ธฐ์ ๊ณ ๊ฐ์๊ฒ ์ ํ ๊ฐ๋ฅ์ฑ์ ์ ๊ณตํ๋ค(Choice Provides Optionality for Enterprise Customers)"๋ ๋ฉ์์ง๋ฅผ ์ ๋ฌํฉ๋๋ค. ์ฌ๊ธฐ์ ๊ฐ์กฐํ๋ ํต์ฌ ๋ด์ฉ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
์ ํ๊ถ(Choice):
- ๊ธฐ์ ๊ณ ๊ฐ๋ค์๊ฒ ๋ค์ํ ๊ธฐ์ ์ ์ ํ์ ์ ๊ณตํจ์ผ๋ก์จ, ๊ทธ๋ค์ ํน์ ๋น์ฆ๋์ค ์๊ตฌ์ ์๊ฑด์ ๊ฐ์ฅ ์ ๋ง๋ ์๋ฃจ์ ์ ์ ํํ ์ ์๋ ์ ์ฐ์ฑ์ ๋ถ์ฌํฉ๋๋ค.
์ ํ ๊ฐ๋ฅ์ฑ(Optionality):
- ๊ธฐ์ ๋ค์ด ๋ค์ํ ์ํฉ์ ๋ฐ๋ผ ์ต์ ์ ๊ธฐ์ ์ ๊ฒฝ๋ก๋ฅผ ์ ํํ ์ ์๋๋ก ํ์ฌ, ์ ์ฒด์ ์ธ ๋น์ฆ๋์ค ์ ๋ต์ ๋ง๊ฒ ์กฐ์ ํ ์ ์๋ ์ต์ ์ ์ ๊ณตํฉ๋๋ค.
์ด ์ฌ๋ผ์ด๋๋ ๊ธฐ์ ๊ณ ๊ฐ๋ค์ด ์์ ๋ค์ ํ์์ ๋ง์ถฐ ๊ธฐ์ ์๋ฃจ์ ์ ๋ง์ถคํํ ์ ์๋ ์ค์์ฑ์ ๊ฐ์กฐํ๊ณ , ์ด๋ฌํ ์ ํ๊ถ์ด ๊ธฐ์ ์ ์ ๋ต์ ์ ์ฐ์ฑ์ ํฅ์์ํค๊ณ ์์ฅ์์์ ๊ฒฝ์๋ ฅ์ ๊ฐํํ ์ ์์์ ์์ฌํฉ๋๋ค.
์ด ์ฌ๋ผ์ด๋๋ ์ธ๊ณต์ง๋ฅ(AI)๊ณผ ๋จธ์ ๋ฌ๋(ML)์์์ ์ฑ๋ฅ ์ด์์ฑ(performance portability)์ ๋ํ ์ ํ์ ์ค์์ฑ์ ์ค๋ช ํ๊ณ ์์ต๋๋ค. ์ด๋ฅผ ํตํด ํ๋์จ์ด์ ๋ชจ๋ธ ๊ฐ์ ๊ฒฐํฉ์ ๋์ด๋ด๊ณ , ๋ ๋์ ์ฌ์ฉ๊ณผ ํ์ ์ ๊ฐ๋ฅํ๊ฒ ํ๋ ๋ฐฉ๋ฒ์ ์ ์ํฉ๋๋ค. ์ฃผ์ ๋ด์ฉ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
1. ํ๋์จ์ด ์ ํ(Choice of HW for Your Model):
- ์ฌ์ฉ์๋ ์์ ์ ML ๋ชจ๋ธ์ ๊ฐ์ฅ ์ ํฉํ ๋ค์ํ ํ๋์จ์ด ์ต์ ์ค์์ ์ ํํ ์ ์์ต๋๋ค. ์ด ์ฌ๋ผ์ด๋์์๋ USB ๋๋ผ์ด๋ธ, Intel ํ๋ก์ธ์, ๋ชจ๋ฐ์ผ ๊ธฐ๊ธฐ, ๊ทธ๋ฆฌ๊ณ ๋ค์ํ ์นฉ์ ๊ณผ ๋ณด๋ ๋ฑ ๋ค์ํ ํ๋์จ์ด๊ฐ ๊ทธ ์๋ก ๋ํ๋ ์์ต๋๋ค.
2. ๋ชจ๋ธ ์ ํ(Choice of Models for Your HW):
- ๋ฐ๋๋ก, ํน์ ํ๋์จ์ด๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ฐ์ฅ ์ ํฉํ ML ๋ชจ๋ธ์ ์ ํํ ์ ์๋ ์ต์ ๋ ์ ๊ณต๋ฉ๋๋ค. ์ด๋ ํ๋์จ์ด์ ์ฑ๋ฅ์ ์ต๋ํํ๊ณ , ํน์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ์ฅ ์ ํฉํ ๋ชจ๋ธ์ ์ฌ์ฉํ ์ ์๊ฒ ํฉ๋๋ค.
3. ML๊ณผ ํ๋์จ์ด์ ํ๊ฒฐํฉ(Breaking ML from the HW box):
- โML์ ํ๋์จ์ด ๋ฐ์ค์์ ํด๋ฐฉ์ํจ๋คโ๋ ์ค๋ช ์, ML ์ํํธ์จ์ด์ ํ๋์จ์ด ๊ฐ์ ์ ์ฐํ ๊ฒฐํฉ์ ํตํด ๋ ๋ง์ ํ์ ๊ณผ ์ฐ์ ์ฑ์ฅ์ ๊ฐ๋ฅํ๊ฒ ํ ๊ฒ์ด๋ผ๋ ์ ์ ๊ฐ์กฐํฉ๋๋ค. ์ด๋ 1980๋ ๋ ์ด์ ์ฒด์ ์ ๋ฐ์ ๊ณผ ์ ์ฌํ ๋ฐฉ์์ผ๋ก, ๊ธฐ์ ์ ๋ฐ์ ๊ณผ ๋ณด๊ธ์ ๊ฐ์ํํ ์ ์๋ค๊ณ ์ค๋ช ํ๊ณ ์์ต๋๋ค.
์ด ์ฌ๋ผ์ด๋๋ ๊ธฐ์ ๊ณ ๊ฐ๋ค์ด ๋ค์ํ ํ๋์จ์ด์ ๋ชจ๋ธ ์ต์ ์ ์ ํํจ์ผ๋ก์จ ์ต์ ์ ์ฑ๋ฅ๊ณผ ํจ์จ์ฑ์ ๋ฌ์ฑํ ์ ์๋ ๋ ๋ง์ ๊ธฐํ๋ฅผ ๊ฐ๊ฒ ๋จ์ ๊ฐ์กฐํ๊ณ ์์ต๋๋ค. ์ด๋ ์ ์ฒด ์ฐ์ ์ ๊ฑธ์ณ ๋ ๋ง์ ๋ง์ถคํ์ ํ์ ์ ์ด์งํ ๊ฒ์์ ์์ฌํฉ๋๋ค.
์ด ์ฌ๋ผ์ด๋๋ AI ๋ฐ ML์ ์ ํ ์ต์ ์ ๊ตฌ์ถํ๋๋ฐ ์์ด์ ํ๋ ฅ์ ์ค์์ฑ์ ๊ฐ์กฐํ๊ณ ์์ต๋๋ค. "ํผ์์๋ ์ ํ์ ๊ตฌ์ถํ ์ ์๋ค(Can't Build Choice Alone...)"๋ ๋ฉ์์ง๋ ๋ค์๊ณผ ๊ฐ์ ์ฃผ์ ๋ด์ฉ์ ๋ด๊ณ ์์ต๋๋ค:
1. TVM ๊ณตํ์(TVM Contributors):
- TVM ํ๋ก์ ํธ์ ๊ธฐ์ฌ์ ์ปค๋ฎค๋ํฐ๋ฅผ ๋ํ๋ด๋ ์ด๋ฏธ์ง๊ฐ ํฌํจ๋์ด ์์ต๋๋ค. ์ด ์ด๋ฏธ์ง๋ ๋ค์ํ ๋ฐฐ๊ฒฝ๊ณผ ์ ๋ฌธ์ฑ์ ๊ฐ์ง ๊ฐ์ธ๋ค๋ก ๊ตฌ์ฑ๋ ์ปค๋ฎค๋ํฐ์ ๋ค์์ฑ์ ๋ณด์ฌ์ฃผ๋ฉฐ, ์ด๋ค์ด ๊ณต๋์ผ๋ก ๊ธฐ์ ๊ฐ๋ฐ์ ์ฐธ์ฌํ๊ณ ์์์ ์์ฌํฉ๋๋ค.
2. ์ฃผ์ ๊ธฐ์ ํํธ๋(Major Tech Partners):
- Microsoft Azure, Amazon AWS, Qualcomm ๋ฑ ์ฃผ์ ๊ธฐ์ ํ์ฌ๋ค์ ๋ก๊ณ ๊ฐ ๋ํ๋ ์์ต๋๋ค. ์ด๋ OctoML์ด ์ด๋ฌํ ๋ํ ํ๋ซํผ๊ณผ ํ๋ ฅํ์ฌ ๊ทธ๋ค์ ํ๋์จ์ด์ ์๋น์ค์์ AI/ML ๋ชจ๋ธ์ ์ต์ ํ์ ๋ฐฐํฌ๋ฅผ ์ง์ํ๊ณ ์์์ ๋ํ๋ ๋๋ค.
์ด ์ฌ๋ผ์ด๋์ ํต์ฌ ๋ฉ์์ง๋, ์ ํ๊ณผ ์ต์ ํ๋ฅผ ์ํ ๋ค์ํ ์๋ฃจ์ ์ ๊ฐ๋ฐํ๊ณ ๊ตฌํํ๋ ๊ฒ์ ํ๋ ฅ์ ํตํด์๋ง ๊ฐ๋ฅํ๋ค๋ ๊ฒ์ ๋๋ค. ๋๊ท๋ชจ ํ ํฌ ๊ธฐ์ ๋ค๊ณผ์ ํํธ๋์ญ์ ๊ธฐ์ ํ์ ์ ์ด์งํ๊ณ , ์ฌ์ฉ์์๊ฒ ๋ ๋ง์ ์ ํ๊ถ๊ณผ ์ ์ฐ์ฑ์ ์ ๊ณตํ๋ ๋ฐ ํ์์ ์ ๋๋ค. ์ด๋ฌํ ํ๋ ฅ์ AI์ ML ๋ถ์ผ์์ ๋ ๋์ ์ ์ฉ ๊ฐ๋ฅ์ฑ๊ณผ ์ฑ์ฅ์ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค.
์ด ์ฌ๋ผ์ด๋๋ ์ฑ๋ฅ, ์๋ํ, ์ ํ์ด๋ผ๋ ์ธ ๊ฐ์ง ์ฃผ์ ์์๊ฐ AI/ML์ ์ง์ ๊ฐ๋ฅ์ฑ๊ณผ ํ์ ์ ์ด๋ป๊ฒ ๊ธฐ์ฌํ๋์ง ์ค๋ช
ํ๊ณ ์์ต๋๋ค. ๊ฐ ์์๋ค์ด ๊ฒฐํฉ๋ ๋ ๋ฐ์ํ๋ ํจ๊ณผ๋ฅผ ์์ธํ ์ดํด๋ณด๊ฒ ์ต๋๋ค:
1. ์ฑ๋ฅ๊ณผ ์๋ํ์ ๊ฒฐํฉ (Performance + Automation = Sustainability)
- ์ฑ๋ฅ (Performance): ์ด ์์๋ AI/ML ์์คํ ์ด ์ต๋ํ ํจ์จ์ ์ผ๋ก ์๋ํ๋๋ก ํ๋๋ฐ ์ค์ ์ ๋ก๋๋ค. ๋ ๋น ๋ฅด๊ณ ์ ํํ ์ฒ๋ฆฌ๋ฅผ ๊ฐ๋ฅํ๊ฒ ํ์ฌ, ๊ธฐ์ ์ ํ๊ณ๋ฅผ ๋์ด์๋ ๊ฒฐ๊ณผ๋ฅผ ๋ฌ์ฑํ๋ ค๊ณ ํฉ๋๋ค.
- ์๋ํ (Automation): ๋ฐ๋ณต์ ์ด๊ฑฐ๋ ๋ณต์กํ ํ๋ก์ธ์ค๋ฅผ ์๋ํํจ์ผ๋ก์จ, ์ธ๊ฐ์ ๊ฐ์ ์ ์ต์ํํ๊ณ ์ค๋ฅ๋ฅผ ์ค์ด๋ฉฐ, ์๋์ ํจ์จ์ฑ์ ํฅ์์ํต๋๋ค.
- ์ง์ ๊ฐ๋ฅ์ฑ (Sustainability): ์ฑ๋ฅ๊ณผ ์๋ํ์ ๊ฒฐํฉ์ ์๋์ง ์๋น๋ฅผ ์ต์ ํํ๊ณ , ์์ ์ฌ์ฉ์ ํจ์จํํ์ฌ ์ ๋ฐ์ ์ธ ํ๊ฒฝ ์ํฅ์ ๊ฐ์์ํต๋๋ค. ์๋ฅผ ๋ค์ด, ๋ ๋น ๋ฅธ ์๊ณ ๋ฆฌ์ฆ์ ์ ์ ์๋์ง๋ก ๋ ๋ง์ ์์ ์ ์ํํ ์ ์๊ณ , ์๋ํ๋ ํ์ํ ์ฐ์ฐ ์์์ ๋ญ๋น๋ฅผ ์ค์ฌ์ค๋๋ค.
2. ์ง์ ๊ฐ๋ฅ์ฑ๊ณผ ์ ํ์ ๊ฒฐํฉ (Sustainability + Choice = More innovation, more ways to use AI/ML thoughtfully)
- ์ง์ ๊ฐ๋ฅ์ฑ (Sustainability): ์ด๋ ์์์ ์ฑ ์๊ฐ ์๊ฒ ์ฌ์ฉํ๊ณ , ์ฅ๊ธฐ์ ์ผ๋ก ํ๊ฒฝ์ , ์ฌํ์ , ๊ฒฝ์ ์ ์ํฅ์ ๊ณ ๋ คํ๋ ๊ฒ์ ํฌํจํฉ๋๋ค.
- ์ ํ (Choice): ์ฌ์ฉ์๊ฐ ๋ค์ํ ๊ธฐ์ ์ ์ต์ ์ค์์ ์ ํํ ์ ์๋๋ก ํจ์ผ๋ก์จ, ๊ทธ๋ค์ ํน์ ์๊ตฌ์ ๊ฐ์ฅ ์ ํฉํ ์๋ฃจ์ ์ ์ ํํ ์ ์์ต๋๋ค. ์ด๋ ํ๋์จ์ด๋ ์๊ณ ๋ฆฌ์ฆ ์ ํ์ ์์ด์์ ์ ์ฐ์ฑ์ ์๋ฏธํ๋ฉฐ, ๊ฐ ์ฌ์ฉ์์ ๋ ํนํ ํ์๋ฅผ ์ถฉ์กฑ์ํฌ ์ ์๋ ๋ค์ํ ๊ฐ๋ฅ์ฑ์ ์ ๊ณตํฉ๋๋ค.
- ํ์ ๋ฐ ์ ์คํ AI/ML ์ฌ์ฉ (More innovation, more ways to use AI/ML thoughtfully): ์ง์ ๊ฐ๋ฅํ๊ณ ๋ค์ํ ์ ํ์ง๋ฅผ ์ ๊ณตํจ์ผ๋ก์จ, ๊ธฐ์ ๊ณผ ๊ฐ๋ฐ์๋ AI์ ML์ ๋ ์ ์คํ๊ณ ํ์ ์ ์ธ ๋ฐฉ์์ผ๋ก ํ์ฉํ ์ ์์ต๋๋ค. ์ด๋ ์๋ก์ด ์ฌ์ฉ ์ฌ๋ก ๋ฐ๊ฒฌ, ๋น์ฉ ํจ์จ์ฑ ์ฆ๊ฐ, ๊ทธ๋ฆฌ๊ณ ์ฌํ์ , ํ๊ฒฝ์ ์ฑ ์์ ์คํ์ผ๋ก ์ด์ด์ง๋๋ค.
์ด ์ฌ๋ผ์ด๋์์๋ ์ด๋ฌํ ์์๋ค์ด ์ด๋ป๊ฒ ์ํธ ์์ฉํ์ฌ AI์ ML์ ์ฅ๊ธฐ์ ์ธ ์ฑ๊ณต๊ณผ ๋ฐ์ ์ ๊ธฐ์ฌํ๋์ง๋ฅผ ๋ณด์ฌ์ค๋๋ค. ์ฑ๋ฅ๊ณผ ์๋ํ๋ ํจ์จ์ฑ๊ณผ ๋น ๋ฅธ ๊ฒฐ๊ณผ๋ฅผ ์ ๊ณตํ๋ ๋์์, ์ ํ์ ์ฌ์ฉ์์๊ฒ ๋ง์ถคํ ์๋ฃจ์ ์ ์ ๊ณตํ์ฌ ๋ ๋์ ์ ์ฉ ๋ฒ์์ ํ์ ์ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค. ์ด๋ฐ ์ ๊ทผ ๋ฐฉ์์ ๊ธฐ์ ์ด ์ง์ ๊ฐ๋ฅํ๊ณ ์ฑ ์๊ฐ ์๊ฒ ๋ฐ์ ํ ์ ์๋๋ก ๋์ต๋๋ค.