Hugging Face๊ฐ ๐ค Optimum ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์คํ์์ค๋ก ๊ณต๊ฐํด Transformer ๋ชจ๋ธ์ ์์ํยท๊ฐ์ํ๋ฅผ ํ๋์จ์ด๋ณ๋ก ์๋ํ
Introducing Optimum: The Optimization Toolkit for Transformers at Scale
AI ์์ฝ
Context
Transformer ๊ธฐ๋ฐ ๋ชจ๋ธ(BERT, ViT, Speech2Text)์ NLPยท์ปดํจํฐ ๋น์ ยท์์ฑ ์ธ์์์ ์ต๊ณ ์ฑ๋ฅ์ ๊ธฐ๋กํ์ผ๋, ํ๋ก๋์ ๋ฐฐํฌ ์ ๋ง๋ํ ๊ณ์ฐ๋์ด ํ์ํ๋ค. Transformer ๋ชจ๋ธ ์์ํ๋ PyTorch eager mode์์ ๋ชจ๋ธ ๊ตฌํ ์ง์ ์์ , ์์ํ ์ฐ์ฐ์ ์ฐพ๊ธฐ, ์บ๋ฆฌ๋ธ๋ ์ด์ ํ๋ผ๋ฏธํฐ ํ๋ ๋ฑ์ผ๋ก ์ธํด ์ ๊ฐ์์ด ์์๋๋ ๋ณต์กํ ์์ ์ด์๋ค. TeslaยทGoogleยทMicrosoftยทFacebook ๊ฐ์ ๋๊ท๋ชจ ML ์์ง๋์ด๋งํ์ด ์๋ ๊ธฐ์ ๋ง ์ด๋ฅผ ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌํ ์ ์์๋ค.
Technical Solution
- Transformer ์ต์ ํ ์ถ์ํ: Transformers ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ฒ๋ผ ๋ชจ๋ธ ๊ฐ์ ๊ธฐ๋ฒ์ ๋ณต์ก์ฑ์ ์ถ์ํํ๋ Optimum ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ๊ณต
- ํ๋์จ์ด๋ณ ๊ฐ์ ๊ธฐ๋ฒ ํตํฉ: Intel Neural Compressor, ์์ํยท์คํ์ํฐ ๊ธฐ๋ฒ์ ๊ฐ ํ๋์จ์ด ํ๋ซํผ์ ์ต์ ํ ์ปค๋๊ณผ ํธํ๋๋๋ก ์ง์
- ๊ตฌ์ฑ ๊ธฐ๋ฐ ์์ํ ์ค์ : YAML ์ค์ ํ์ผ๋ก ์์ํ ์คํด(int8/uint8/int16), ์ต์ ๋ฒ ํ์ , ์บ๋ฆฌ๋ธ๋ ์ด์ ์ ๋ต์ ์ง์ ๊ฐ๋ฅ
- Model Hub ํตํฉ ๋ฐฐํฌ: ํ๋์จ์ด ํนํ ์ต์ ํ ๋ชจ๋ธ ๊ตฌ์ฑ๊ณผ ์ํฐํฉํธ๋ฅผ Hugging Face Model Hub๋ฅผ ํตํด ๋ฐฐํฌ
- ํ๋์จ์ด ํํธ๋ ํ์ ์ฒด๊ณ: Intel ๋ฑ ํ๋์จ์ด ํํธ๋์ ํ๋ ฅํด ํน์ ํ๋ซํผ์ฉ ๊ฐ์ ๊ธฐ๋ฒ ๊ฒ์ฆ ๋ฐ ์ ์ง๊ด๋ฆฌ
Key Takeaway
Transformer ํ๋ก๋์ ์ต์ ํ๋ ์ํํธ์จ์ด์ ํ๋์จ์ด์ 3์ฐจ์ ํธํ์ฑ ๋งคํธ๋ฆญ์ค(๋ชจ๋ธยทํ๋ ์์ํฌยทํ๋์จ์ด)๋ฅผ ๋ค๋ฃจ๋ ์์ ์ธ๋ฐ, ์ถ์ํ ๊ณ์ธต์ ํตํด ์ผ๋ฐ ML ์์ง๋์ด๋ ํ๋์จ์ด ํนํ ์ต์ ํ ๊ธฐ๋ฒ์ ์ ๊ทผ ๊ฐ๋ฅํ๊ฒ ๋ง๋๋ ๊ฒ์ด ํต์ฌ์ด๋ค.
์ค์ฒ ํฌ์ธํธ
Transformer ๊ธฐ๋ฐ ํ๋ก๋์ ์๋น์ค๋ฅผ ๊ตฌ์ถํ๋ ์์ง๋์ด๋งํ์์ Intel Xeon CPU ๊ฐ์ ํน์ ํ๋์จ์ด๋ฅผ ๋์์ผ๋ก ํ ๋, ๐ค Optimum + Intel Neural Compressor๋ฅผ ์กฐํฉํด YAML ์ค์ ๋ง์ผ๋ก ์์ํ ๋ชจ๋ธ์ ์์ฑํ๋ฉด ๋ชจ๋ธ ๊ตฌํ ์์ ์์ ์ ๊ฑฐ ๋ฐ ์บ๋ฆฌ๋ธ๋ ์ด์ ํ๋ ์๊ฐ์ ๋ํญ ๋จ์ถํ ์ ์๋ค.