Hugging Face๊ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ต์ ํ, ์ปดํ์ผ ๊ธฐ๋ฐ ๊ทธ๋ํ ์ต์ ํ, ํ๋์จ์ด๋ณ ํ๋์ ๋จ๊ณ์ ์ผ๋ก ์ ์ฉํด Transformer ์ถ๋ก ์๋ 100๋ฐฐ ํฅ์
How we sped up transformer inference 100x for ๐ค API customers
AI ์์ฝ
Context
๐ค Transformers ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ๊ตฌ์ถ๋ ๋๊ท๋ชจ ์ฌ์ ํ์ต ๋ชจ๋ธ๋ค์ ํ๋ก๋์ ๋ฐฐํฌ ์ ๋์ ๋ ์ดํด์๋ก ์ธํด ์ค์๊ฐ ์๋น์ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์์ฉ ๊ฐ๋ฅํ ์๋ต ์๊ฐ์ ๋ณด์ฅํ๊ธฐ ์ด๋ ค์ ๋ค.
Technical Solution
- ๐ค Transformers ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ต์ ํ๋ ํ์ดํ๋ผ์ธ๊ณผ Rust ๊ธฐ๋ฐ ๐ค Tokenizers ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํ์ฉํ ํ ํฌ๋์ด์ ์ด์ ์บ์ฑ์ผ๋ก ๊ธฐ๋ณธ ๋ฐฐํฌ ๋๋น 10๋ฐฐ ์๋ ํฅ์
- ONNX Runtime์ ์ฌ์ฉํ ์ ์ ๊ทธ๋ํ ์ปดํ์ผ๊ณผ ๋ชจ๋ธ ์ํคํ ์ฒ๋ณ ๋ง์ถค ์ต์ ํ(๊ทธ๋ํ ์ต์ ํ, ๋ ์ด์ด ํจ์ง, ์์ํ)๋ก ์ถ๊ฐ 10๋ฐฐ ์๋ ํฅ์
- CPU ์ถ๋ก ๊ณผ GPU ์ถ๋ก ์ ์์ฒญ ๋ฐฐ์น ํ๋กํ๊ณผ ๋ชจ๋ธ ๋ฉ๋ชจ๋ฆฌ ํฌ๊ธฐ์ ๋ฐ๋ผ ์ ํ์ ์ผ๋ก ๋ฐฐํฌํ์ฌ ํ๋์จ์ด๋ณ ์ต์ ํ ์ ์ฉ
- Intel, NVIDIA, Qualcomm, Amazon, Microsoft์์ ํํธ๋์ญ์ ํตํด ์ต์ ํ๋์จ์ด ์ต์ ํ ๊ธฐ๋ฒ ์ ์ฉ
Impact
- ์ด 100๋ฐฐ ์ถ๋ก ์๋ ํฅ์ ๋ฌ์ฑ (10๋ฐฐ + 10๋ฐฐ)
- ์๊ฐ ์ ๊ธฐ ๋ฆด๋ฆฌ์ค๋ฅผ ํตํด API ๊ณ ๊ฐ์ด ์๋์ผ๋ก ์ต์ ์ต์ ํ ๊ธฐ๋ฒ ์ ์ฉ ๊ฐ๋ฅ
Key Takeaway
Transformer ๋ชจ๋ธ์ ๊ทน๋จ์ ์ฑ๋ฅ ํฅ์์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์์ค์ ๋ฒ์ฉ ์ต์ ํ์์ ์์ํ์ฌ ์ปดํ์ผ ๊ธฐ๋ฐ ๊ทธ๋ํ ์ต์ ํ์ ๋ชจ๋ธยทํ๋์จ์ด๋ณ ์ ์์ค ๋ง์ถค ์ต์ ํ๊น์ง ๊ณ์ธต์ ์ผ๋ก ์ ์ฉํด์ผ ๋ฌ์ฑ ๊ฐ๋ฅํ๋ฉฐ, ๋จ์ผ ์ต์ ํ ๊ธฐ๋ฒ์ผ๋ก๋ ์ต๊ณ ์ฑ๋ฅ์ ๋๋ฌํ ์ ์๋ค.
์ค์ฒ ํฌ์ธํธ
Transformer ๊ธฐ๋ฐ NLP ์๋น์ค๋ฅผ ์ด์ํ๋ ํ์์ ์ถ๋ก ๋ ์ดํด์ ๊ฐ์ ์ด ํ์ํ ๋, ๋จผ์ ๐ค Transformers์ ์์ ๋ณ ์ต์ ํ๋ ํ์ดํ๋ผ์ธ(์: GPT์ ๊ฒฝ์ฐ ๋ง์ง๋ง ํ ํฐ ์ดํ ์ ๋ง ๊ณ์ฐ)๊ณผ Rust ๊ธฐ๋ฐ ํ ํฌ๋์ด์ ์ด์ ์ ์ ์ฉํ๋ฉด 10๋ฐฐ ํฅ์์ ๋ฌ์ฑํ ์ ์๊ณ , ์ดํ ONNX Runtime ์ปดํ์ผ๊ณผ ์์ํ๋ฅผ ๋ชจ๋ธ ์ํคํ ์ฒ์ ๋ง๊ฒ ํ๋ํ๋ฉด ์ถ๊ฐ 10๋ฐฐ ํฅ์์ผ๋ก ์ ์ฒด 100๋ฐฐ ์ฑ๋ฅ ๊ฐ์ ์ด ๊ฐ๋ฅํ๋ค.