Intel์ด Optimum Intel์ ํตํด StarCoder 15B ๋ชจ๋ธ์ INT8/INT4 ์์ํ์ Speculative Decoding์ ์ ์ฉํด Xeon์์ 7๋ฐฐ ์ด์์ ์ถ๋ก ๊ฐ์ ๋ฌ์ฑ
Accelerate StarCoder with ๐ค Optimum Intel on Xeon: Q8/Q4 and Speculative Decoding
AI ์์ฝ
Context
LLM ์ถ๋ก ์ ์๋ํ๊ท ๋ฐฉ์์ ํ ํฐ ์์ฑ์ผ๋ก ์ธํด ๋งค ํ ํฐ๋ง๋ค ์ ์ฒด ๋ชจ๋ธ์ DRAM์์ CPU๋ก ๋ก๋ํด์ผ ํ๋ฉฐ, ์คํ์นฉ ๋ฉ๋ชจ๋ฆฌ์ CPU ๊ฐ ๋์ญํญ์ด ํ ํฐ ์์ฑ์ ์ฃผ์ ๋ณ๋ชฉ์ด ๋๋ค.
Technical Solution
- INT8 ์ ์ ์์ํ ๋์ : SmoothQuant ์๊ณ ๋ฆฌ์ฆ์ ํ์ฉํด ํ์ฑํ ํจ์์ ์ด์์น๋ฅผ ์ค๋ฌด๋ฉํ๊ณ ์์ํ ๋ ๋ฒจ ํ์ฉ์ ์ต์ ํํ์ฌ TTFT 2.19๋ฐฐ, TPOT 2.20๋ฐฐ ๊ฐ์
- INT4 ๊ฐ์ค์น ์ ์ฉ ์์ํ ์ ์ฉ: RTN(Round-To-Nearest) ๋ฐฉ์์ผ๋ก ๋ชจ๋ธ ํฌ๊ธฐ๋ฅผ ์ถ๊ฐ ๊ฐ์์์ผ TPOT 3.35๋ฐฐ ๊ฐ์ ๋ฌ์ฑ
- Speculative Decoding ํตํฉ: ์ด์ ๋ชจ๋ธ์ด ์์ฑํ K๊ฐ ํ ํฐ์ ๋์ ๋ชจ๋ธ์ด ๋ณ๋ ฌ ์ฒ๋ฆฌํ๋๋ก ๋ณ๊ฒฝํ์ฌ ๋ฉ๋ชจ๋ฆฌ ๋์ญํญ์์ ์ปดํจํธ ๋ณ๋ชฉ์ผ๋ก ์ ํ
- INT8 ์์ํ ๋์ ๋ชจ๋ธ ์ ์ฉ: Speculative Decoding์์๋ INT4์ ์ญ์์ํ ์ค๋ฒํค๋๋ก ์ธํด INT8 ๋์ ๋ชจ๋ธ์ด INT4๋ณด๋ค ๋์ ์ฑ๋ฅ ๋ฌ์ฑ
- ๐ค Optimum Intel ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํ์ฉ: IPEXModelForCausalLM ํด๋์ค๋ก AutoModelForCausalLM ๋์ฒดํ์ฌ ์ต์ ํ๋ ๋ชจ๋ธ ๋ก๋ ๋ฐ ์ถ๋ก ์คํ
Impact
- TTFT: INT8 ์์ํ ๋จ๋ 2.19๋ฐฐ, INT8 + Speculative Decoding 1.95๋ฐฐ
- TPOT: INT8 ์์ํ ๋จ๋ 2.20๋ฐฐ, INT4 ์์ํ 3.35๋ฐฐ, INT8 + Speculative Decoding 7.30๋ฐฐ
- ์ ํ๋ ์ ์ง: INT8 ์์ํ ์ HumanEval pass@1 ๊ธฐ์ค 33.54% โ 33.96%(์คํ๋ ค ๋ฏธ๋ฏธํ ์ํฅ), INT4๋ 32.80%
- ํตํฉ ์ต์ ํ(INT8 + Speculative Decoding): ๊ธฐ์ค ๋๋น 7๋ฐฐ ์ด์์ ์ถ๋ก ๊ฐ์
Key Takeaway
LLM ์ถ๋ก ์ ๋ฉ๋ชจ๋ฆฌ ๋์ญํญ ๋ณ๋ชฉ์ ์์ํ๋ก ํด๊ฒฐํ๋, ์์ฑ ๊ตฌ์กฐ์ ๋ฐ๋ผ ์ ์ ํ ์์ํ ์ ๋ฐ๋๋ฅผ ์ ํํด์ผ ํ๋ค: ์์ฐจ ์ฒ๋ฆฌ(TPOT ์ค์ฌ)์์๋ INT4 ๊ฐ์ค์น ์์ํ, Speculative Decoding ๊ฐ์ ๋ณ๋ ฌ ์ฒ๋ฆฌ(์ปดํจํธ ์ค์ฌ) ํ๊ฒฝ์์๋ ์ญ์์ํ ์ค๋ฒํค๋๊ฐ ์์ INT8์ด ๋ ํจ๊ณผ์ ์ด๋ค.
์ค์ฒ ํฌ์ธํธ
CPU ๊ธฐ๋ฐ LLM ์ถ๋ก ์๋น์ค์์ Intel Xeon ํ์ฉ ์, Optimum Intel์ IPEXModelForCausalLM๊ณผ SmoothQuant INT8 ์์ํ๋ฅผ ๊ธฐ๋ณธ์ผ๋ก ์ ์ฉํ๋ฉด 2๋ฐฐ ์ด์์ ์ฑ๋ฅ ํฅ์์ ์ป์ ์ ์์ผ๋ฉฐ, Speculative Decoding ๊ฐ์ ๋ณ๋ ฌ ํ ํฐ ์ฒ๋ฆฌ ๊ธฐ๋ฒ์ ์ถ๊ฐํ๋ฉด 7๋ฐฐ ์ด์์ ๊ฐ์์ ๋ฌ์ฑํ ์ ์๋ค.