Hugging Face์ Intel์ด SetFit ๋ชจ๋ธ์ Optimum Intel์ Post-Training Quantization์ ์ ์ฉํด Intel Xeon CPU์์ 7.8๋ฐฐ ์ถ๋ก ์๋ ํฅ์ ๋ฌ์ฑ
Blazing Fast SetFit Inference with ๐ค Optimum Intel on Xeon
AI ์์ฝ
Context
SetFit์ ๋ผ๋ฒจ ๋ฐ์ดํฐ ๋ถ์กฑ ํ๊ฒฝ์์ Sentence Transformers๋ฅผ ํจ์จ์ ์ผ๋ก ํ์ธํ๋ํ๋ ํ๋ ์์ํฌ์ด๋, Intel CPU ๊ธฐ๋ฐ ์ธํ๋ผ์์ ์ถ๋ก ์ฑ๋ฅ์ด ์ ํ์ ์ด์๋ค. ํ๋ก๋์ ํ๊ฒฝ์ SetFit ๋ฐฐํฌ ์ ์ฒ๋ฆฌ๋(throughput) ํ๋๊ฐ ์ฃผ์ ๊ณผ์ ์๋ค.
Technical Solution
- Post-Training Quantization (PTQ) ์ ์ฉ: Intel Neural Compressor๋ฅผ ์ฌ์ฉํด SetFit ๋ชจ๋ธ์ ๊ฐ์ค์น๋ฅผ FP32์์ INT8๋ก ๋ณํํ์ฌ ๋ฉ๋ชจ๋ฆฌ ํํธํ๋ฆฐํธ ๊ฐ์
- Intel CPU ํ๋์จ์ด ๊ฐ์ ํ์ฉ: Intel AVX-512, VNNI, Intel AMX ๋ช ๋ น์ด ์ธํธ๋ฅผ ํตํด ์ ์ ์ฐ์ฐ ๊ฐ์ํ (BFloat16 ๋ฐ INT8 GEMM ๊ฐ์๊ธฐ ํ์ฉ)
- ๋ฌด๋ ์ด๋ธ ์บ๋ฆฌ๋ธ๋ ์ด์ ์ธํธ ํ์ฉ: 100๊ฐ์ ์ธ๋ ์ด๋ธ ์ํ๋ก PTQ ์ํํ์ฌ ์ ํ๋ ์์ค ์์ด ์ต์ ํ (์ถ๊ฐ ํ์ต ๋ถํ์)
- PyTorch 2.0 ๋ฐ Intel Extension for PyTorch (IPEX) ํตํฉ: ์ต์ ๋ฐํ์ ์ต์ ํ ๊ธฐ๋ฒ ์ ์ฉ์ผ๋ก ๋ค์ํ ์ฐ์ฐ์ ๊ฐ์ํ
- ๋ชจ๋ธ ํฌ๊ธฐ ์ถ์: ์ ๋ํ ๊ฒฐ๊ณผ ๋ชจ๋ธ ํฌ๊ธฐ 2.85๋ฐฐ ๊ฐ์๋ก ๋ฐฐํฌ ๋น์ฉ ๋ฐ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋ ์ ๊ฐ
Impact
- ์ต๊ณ ์ฒ๋ฆฌ๋(batch size ๋ณ ์ต๋๊ฐ ๊ธฐ์ค) ๊ธฐ์ค 7.8๋ฐฐ ์ถ๋ก ์๋ ํฅ์ ๋ฌ์ฑ
- ์ ํ๋ ์์ค ์์(virtually no drop in accuracy ๋ณด๊ณ )
- ๋ชจ๋ธ ํฌ๊ธฐ 2.85๋ฐฐ ์ถ์
Key Takeaway
Post-Training Quantization์ ๊ธฐ์กด ํ์ต๋ ๋ชจ๋ธ์ ๋ํ ์ฌํ์ต ๋น์ฉ ์์ด CPU ํ๋์จ์ด ๋ช ๋ น์ด ์ธํธ๋ฅผ ํ์ฉํ ์ถ๋ก ์ต์ ํ๋ฅผ ๊ฐ๋ฅํ๊ฒ ํ๋ค. SetFit ๊ฐ์ ๊ฒฝ๋ ๋ชจ๋ธ์ ํนํ INT8 ์ ๋ํ๋ฅผ ํตํด ์ ํ๋ ์ ์งํ๋ฉด์ ๋ํญ์ ์ธ ์ฑ๋ฅ ํฅ์์ ๋ฌ์ฑํ ์ ์๋ค.
์ค์ฒ ํฌ์ธํธ
Hugging Face SetFit์ Intel Xeon ๊ธฐ๋ฐ ํ๋ก๋์ ํ๊ฒฝ์ ๋ฐฐํฌํ๋ ํ์์๋ Optimum Intel์ Post-Training Quantization์ ์ ์ฉํ๋ฉด, 100๊ฐ ์ ๋์ ์ธ๋ ์ด๋ธ ์ํ๋ง์ผ๋ก ์ฌํ์ต ์์ด 7.8๋ฐฐ์ ์ฒ๋ฆฌ๋ ํฅ์์ ์ป์ ์ ์๋ค.