๐ Mamba Drafters: ์ ํ SSM์ผ๋ก ์ธ๋ถ Speculative Decoding SOTA ๋ค์ ์ฐ๊ธฐ
ํ ์ค ์์ฝ (TL;DR)
Transformer ๋์ Mamba SSM์ ์ธ๋ถ ๋๋ํํฐ๋ก ์ฐ๊ณ , ํธ๋ฆฌ ์ด์ + UCB ํ์์ ๊ฒฐํฉํด ์ฌํ์ต ์์ด๋ Self-spec(EAGLE) ์์ค ์๋ยทํ์ง์ ๋ฌ์ฑํ๋ฉฐ ๋ฉ๋ชจ๋ฆฌ๊น์ง ์ ๊ฐํ๋ค.
ํต์ฌ ์์ด๋์ด
โ์ ํ-์ํ SSM = KV-์บ์ ์๋ ๋๋ํํฐโ
๊ณ ์ ๊ธธ์ด ์ํ
๐ฌโ
๋ง ๋ณต์ฌํ๋ฉด ๋๋ฏ๋ก ๋๋ํํ ์ด O(L), ๋ฉ๋ชจ๋ฆฌ๋ O(1). ์ฌ๊ธฐ์ ํธ๋ฆฌ ํ๋ณด๋ฅผ ํ๊บผ๋ฒ์ ๋ฐฐ์น ์์ฑํ๊ณ , UCB ๋ฐด๋ง์ผ๋ก ๊ตฌ์กฐ๋ฅผ ์ค์๊ฐ ์ต์ ํํด Transformer ์ธ๋ถ ๋๋ํํฐ์ ๋ณ๋ชฉ์ ๋ชจ๋ ์ ๊ฑฐํ๋ค.
๋ฐฐ๊ฒฝ: ๊ทธ๋ค์ด ํด๊ฒฐํ ๋ฌธ์
์ธ๋ถ ๋๋ํํฐ
- ๋ชจ๋ธ ๋ ๋ฆฝยท๋ฐฐํฌ ์ ์ฐ์ฑ ๐
- ํ์ง๋ง Transformer ๊ธฐ๋ฐ์ด๋ผ ๋๋ฆฌ๊ณ ๋ฉ๋ชจ๋ฆฌโ
Self-spec(EAGLE)
- ํ๊น LLM ๋ด๋ถํํ์ผ๋ก ๋น ๋ฅด์ง๋ง ๋ชจ๋ธ๋ง๋ค ์ฌํ์ต ํ์
์ฐ๊ตฌ ๊ณต๋ฐฑ
- โ๋น ๋ฅด๊ณ ๊ฐ๋ฒผ์ฐ๋ฉฐ Plug-and-Playโํ ๋๋ํํฐ ๋ถ์ฌ
์๋ก์ด ์ ๊ทผ๋ฒ: Mamba Drafters
๊ตฌ์ฑ์์ | ํ ์ค ์ค๋ช |
---|---|
Mamba-130 M SSM ๋๋ํํฐ | ์ ํ ์ํ ๊ฐฑ์ ์ ๐ฌ_{t+1}=๐๐ฌ_t+๐๐ฎ_t |
Batch-Cache Tree Drafting | ์ํ ๋ณต์ ๋ง์ผ๋ก ํญ N, ๊น์ด ฮณ ํธ๋ฆฌ๋ฅผ ํ ๋ฒ์ ์์ฑ |
UCB Multi-Armed Bandit | ์ ๋ ฅ๋ณ๋ก ํธ๋ฆฌ ํญยท๊น์ด๋ฅผ ์ค์๊ฐ ํ์ |
์๋ ์๋ฆฌ: ๊ตฌ์ฒด์ ์ธ ์์๋ก ์ดํด๋ณด๊ธฐ
ํ๋กฌํํธ: โI likeโ, ์ด์ ๊ธธ์ด ฮณ=2, ํธ๋ฆฌ ๊ตฌ์ฑ (3, 2)
๋๋ํํ
TEXTsโ = Aยทsโ + Bยทu("I") โโ ์ํ โ ["to", "the", "my"] (ํญ 3) sโa, sโb โฆ ๊ฐ ์ํ ๋ณต์ โ 2๋ฒ์งธ ํ ํฐ ๋ฐฐ์น ์์ฑ
๊ฒ์ฆ(Verifier: ํ๊น LLM) ํ๋ฅ ๋น์จ
p/q
๋ก accept/reject. ์) โtoโ(โ) โ โeatโ(โ) โ ํ๊น์ด โpizzaโ ์ง์ ์ํUCB ๋ณด์ ์ ๋ฐ์ดํธ throughput ๋ณด์์ด ํฐ ํธ๋ฆฌ ๊ตฌ์กฐ ์ ํ ํ๋ฅ โ
๊ฒฐ๊ณผ: โI like to pizzaโฆโ ํ ํด์ 2 ํ ํฐ ํ์ . ์ง์ฐ์ Mamba ์ ํ ์ฐ์ฐ๋งํผ๋ง ์ฆ๊ฐ.
์ฑ๋ฅ ๊ฒ์ฆ: ์ฃผ์ ๊ฒฐ๊ณผ
๋ฒค์น๋งํฌ | Mamba Drafters | ๋ฒ ์ด์ค๋ผ์ธ | ํ์ด๋ผ์ดํธ |
---|---|---|---|
GSM-8K | 149 tok/s | 76 tok/s (Transformer) | 2 ร ๊ฐ์ |
HumanEval | 172 tok/s | 122 tok/s (EAGLE) | +41 % |
LongBench 8 k | 24.9 tok/s, 52 GB | 26.1 tok/s, 72 GB (EAGLE) | ๊ฐ์ ์๋ยท๋ฉ๋ชจ๋ฆฌ โ20 GB |
Cross-target (Mistral drafter โ Pythia) | 93 tok/s (ํ๋ จ ็ก) | 95 tok/s (์ฌํ์ต) | Plug-and-Play ์ ์ง |
ํธ๋ฆฌ ON + UCB โ HumanEval +15 % ์ถ๊ฐ ๊ฐ์ (149โ172)
์ฐ๋ฆฌ์ ๊ด์ : ๊ฐ์ , ํ๊ณ, ๊ทธ๋ฆฌ๊ณ ์ด ์ฐ๊ตฌ๊ฐ ์ค์ํ ์ด์
โ ๊ฐ์
- ์๋ยท๋ฉ๋ชจ๋ฆฌ ๋์ ๊ฐ์ โ์ธ๋ถ ๋๋ํํฐ ์ค ๋จ์ฐ ์ต๊ณ ์ฑ๋ฅ
- ์ฌํ์ต ํ์ ์์โ์์ง๋์ด๋งยท๋ฐฐํฌ ๋น์ฉ โ
- ํธ๋ฆฌ + ๋ฐด๋งโ๋ฐ์ดํฐยทํ๋กฌํํธ๋ณ ์๋ ์ต์ ํ
โ ๏ธ ํ๊ณ
- Mamba ์ํ ๋ณต์ ๋ฉ๋ชจ๋ฆฌโ8 k ์ดํ์์ OK, 16 k+๋ ๋ฏธ๊ฒ์ฆ
- ๋ํํ(Mistral) ์๋๋ฆฌ์คโself-spec๋ณด๋ค ๊ทผ์ ์ด์
- ์ด๊ธฐ SSM ์ฌ์ ํ์ต ๋น์ฉโ130 M ๋ชจ๋ธ๋ ํ๋ฃจ ๋จ์ GPU ์๊ฐ ํ์
- ์์ ์ฑยท์ค์ฉ ๋ฐฉ์งโ๊ฐ์์ด ์ ์ฉ๋ ๋ฆฌ์คํฌ๋ ๋ณ๋ ๋ ผ์ ์์
๐ ์ ์ค์ํ๊ฐ?
LLM ์๋น์์ KV-์บ์ ๋ฉ๋ชจ๋ฆฌ์ ์ง์ฐ์ด ์ต๋ ๋น์ฉ. Mamba Drafters๋ โSSM โ ์ ํ ๋ณต์ก๋โ ๋ผ๋ ๋จ์ํ ์์ด๋์ด๋ก ๋ฒ์ฉยท์ ๋น์ฉ ๊ฐ์์ ๊ธธ์ ์ด์๋ค.
๋ค์ ๋จ๊ณ๋?: ์์ผ๋ก์ ๊ธธ
- ์ํ ๋ฉ๋ชจ๋ฆฌ ์ต์ ํโ๋ฒํผ ์์ถยทchunk ์ฌ์ฌ์ฉ ์ฐ๊ตฌ
- ํธ๋ฆฌยทUCB ์์ ์๋ํโํ์ดํผํ๋ผ๋ฏธํฐ ํ๋ฆฌ ๋ฐํ์ ํ๋
- Self-drafting Mambaโ๋๋ํํฐ+๊ฒ์ฆ๊ธฐ ๋จ์ผํ๋ก ํ์ดํ๋ผ์ธ ๋จ์ํ
- ์ด์ฅ๋ฌธยท๋ฉํฐ๋ชจ๋ฌ ๋ฒค์น๋งํฌโ16 k+ ํ ํฐ ๋ฐ ์ด๋ฏธ์งยท์ฝ๋ ํผํฉ ์ ๋ ฅ ๊ฒ์ฆ
- RAG & ์์ ํํฐ ๊ฒฐํฉโ์๋ฝ๋ฅ โยท์ ํด ์ฝํ ์ธ โ ๋์์ ๋ฌ์ฑ
๊ฒฐ๋ก : Mamba Drafters๋ โ์ธ๋ถ ๋๋ํํฐ = ๋๋ฆฌ๋คโ๋ ํต๋ ์ ๊นจ๊ณ , SSM์ด LLM ์ถ๋ก ์ธํ๋ผ์ ๋ค์ ๊ณ์ฐ ํจ๋ฌ๋ค์์ด ๋ ์ ์ฌ๋ ฅ์ ๋ณด์ฌ์ค๋ค. ์ด์ ๋จ์ ๊ณผ์ ๋ ๋ฉ๋ชจ๋ฆฌ ํ์ง ์ต์ ํ์ ์ค์๊ฐยท์ค๋ฆฌ์ ์๋น์ผ๋ก ๋ฒ์ฉ์ฑ์ ํ์ฅํ๋ ์ผ์ด๋ค.
ํ ๊ธ์ ํด๋ฆญํ๋ฉด ๋ ผ๋ฌธ์ ๋ํ ์์ธํ LLM ์ง์์๋ต ๋ด์ฉ์ ํ์ธํ ์ ์์ต๋๋ค.
โถ๏ธํด๋ฆญํ์ฌ ํผ์น๊ธฐ
ํ๋กฌํํธ 1.1.1 (์ฐ๊ตฌ์ ๊ณต๋ฐฑ)
"๋
ผ๋ฌธ์ 'Introduction'๊ณผ 'Related Work' ์น์
์ ๋ถ์ํ์ฌ, ์ด ์ฐ๊ตฌ๊ฐ ๋ช
์์ ์ผ๋ก ํด๊ฒฐํ๊ณ ์ ํ๋ ํต์ฌ์ ์ธ ์ฐ๊ตฌ ๊ณต๋ฐฑ(research gap), ๊ธฐ์กด ์ฐ๊ตฌ์ ๊ฒฐ์ ์ ํ๊ณ, ๋๋ ๋ฏธํด๊ฒฐ ์ง๋ฌธ์ด ๋ฌด์์ธ์ง ์ค๋ช
ํด ์ค. ์ ์๋ค์ด ์ค๋ช
ํ๋, ์ด ๋
ผ๋ฌธ ์ถํ ์์ ์ '์ต์ ๊ธฐ์ (state of the art)'์ ์ด๋ค ์ํ์๋์ง ์์ฝํด ์ค."
๐ ์ฐ๊ตฌ ๊ณต๋ฐฑ (Research Gap)
๊ตฌ๋ถ | ์ธ๋ถ ๋ด์ฉ |
---|---|
์ธ๋ถ(External) vs ์์ฒด(Self-Speculation) ๋๋ํํฐ์ ๋๋ ๋ง | ์ธ๋ถ ๋๋ํํฐ๋ ๋ค์ํ ํ๊น LLM์ ๊ทธ๋๋ก ์ฐ๊ฒฐํ ์ ์์ง๋ง, Transformer ๊ธฐ๋ฐ์ด๋ผ ๋๋ํํ ์์ฒด๊ฐ ๋๋ฆฌ๊ณ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ด ํฌ๋ค๋ ํ๊ณ๊ฐ ์์. ๋ฐ๋๋ก ์์ฒด ๋๋ํํฐ(Self-speculation)๋ ํ๊น ๋ชจ๋ธ ๋ด๋ถ ์๋ ํํ์ ์ด์ฉํด ์ด๊ณ ์ ๋๋ํํ ์ด ๊ฐ๋ฅํ์ง๋ง, ๋ชจ๋ธ๋ง๋ค ์ฌํ์ต ๋น์ฉ์ด ๋ง๋ํ๊ณ ๋ฐฐํฌ ์ ์ฐ์ฑ์ด ๋จ์ด์ง๋ค. ๊ฒฐ๊ตญ โ๋น ๋ฅด๊ณ ๊ฐ๋ฒผ์ฐ๋ฉด์๋ ํ๊น-๋ชจ๋ธ ๋ ๋ฆฝ์ โ์ธ ๋๋ํํฐ๊ฐ ๋ถ์ฌํจ. |
Transformer Attention = O(Lยฒ) | ๊ธฐ์กด speculative decoding ์ฐ๊ตฌ๋ค์ ๋๋ถ๋ถ Transformer ๋๋ํํฐ๋ฅผ ์ฑํํด ๊ธธ์ด๊ฐ ๊ธธ์ด์ง์๋ก ๋๋ํํ ์๋ยท๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ด ๊ธ๊ฒฉํ ์ ํ. ์ด๋ ์ค์ ์๋น์ค์์ ๊ธด ํ๋กฌํํธ(์ ์ฒ~์ ๋ง ํ ํฐ)๋ฅผ ์ฒ๋ฆฌํ ๋ ๋ณ๋ชฉ์ด ๋จ. |
๋น-Transformer ๋์์ ๋ถ์ฌ | SSM(State-Space Model) ๊ธฐ๋ฐ ์๋๊ฐ ์ด๊ธฐ ๋จ๊ณ(ํ๋์จ์ด ์ต์ ํย ยท ์์ฑยท์์ ๋ฑ ์ ํ์ ์ ์ฉ)์ด๋ฉฐ, LLM ํ๊น ํ ์คํธ draft-and-verify ์๋๋ฆฌ์ค์ ์ฒด๊ณ์ ์ผ๋ก ์ ์ฉยทํ๊ฐ๋ ์ฌ๋ก๊ฐ ์์์. |
์ ๋ฆฌ ์ ์๋ค์ โ(1) Transformer์ O(Lยฒ) ํ๊ณ๋ฅผ ๋ฒ์ด๋, (2) ์ฌํ์ต ์์ด ํ๊น ๋ชจ๋ธ์ ์์ ๋กญ๊ฒ ๋ฐ๊ฟ ์ ์๋, (3) ์ค์ ์๋ยท๋ฉ๋ชจ๋ฆฌ ์ธก๋ฉด์์ โ์์ฒด ๋๋ํํฐโ ์์ค์ ํจ์จ์ ๊ฐ๋ ์๋ก์ด ์ธ๋ถ ๋๋ํํฐโ๊ฐ ํ์ํ๋ค๊ณ ๊ท์ ํฉ๋๋ค.
๐ ๊ธฐ์กด SOTA (State of the Art) ์์ฝ
๋ฒ์ฃผ | ๋ํ ์ฐ๊ตฌ & ํน์ง | ํ๊ณ |
---|---|---|
External Speculation | Leviathan et al., 2023 โspeculative samplingโ; ์์ Transformer(Mistral-160M ๋ฑ)๋ก ๋ค์ ํ ํฐ ์ด์ ์์ฑ ํ ํฐ LLM์ด ๊ฒ์ฆ | ์ด์ ์์ฑ ์๋โ, ๊ธด ๋ฌธ๋งฅ์์ KV ์บ์ ๋ฉ๋ชจ๋ฆฌโ, ์ฌ์ ํ O(Lยฒ) |
Self-Speculation | EAGLE (Li et al., 2024): ํ๊น LLM ๋ง์ง๋ง ์ธต ์์ 1-layer Transformer head ์ฝ์ โ ๋๋ํํ ์๋โ, ์์ฉ ๊ธธ์ดโ | ํ๊น ๋ชจ๋ธ ๋ฐ๋ ๋๋ง๋ค ์ฌํ์ต ํ์(์๊ฐยท๋น์ฉ ๋ถ๋ด), ํ๋ จ ์์๋ ํฐ LLM ์ ์ธต forward ํ์ |
Tree-Structured Drafting | Multi-candidate/Tree attention (Miao et al., 2024; Yang et al.*, 2024)๋ก draft token ํญ๋ฐ์ ์์ฑ ํ ๋ณ๋ ฌ ๊ฒ์ฆ | ์ฌ์ ํ Transformer ๊ตฌ์กฐ ์ ์ , ๋๋ํํ ์ด ์์ ํ O(L) ๋์ง ์์ |
SSM/๊ธฐํ Non-Transformer | Lookahead SSM (He et al., 2023), H/W ์ต์ ํ SSM (Wang et al., 2024) ๋ฑ ์ด๊ธฐ ์๋ | ํ๊น ๋ชจ๋ธ ๊ฒ์ฆ ๋จ๊ณ์ ํตํฉ๋ end-to-end ํ๊ฐ ๋ถ์กฑ, ์ค์ฉ์ tree-draft ์๊ณ ๋ฆฌ์ฆ ๋ฏธ๋น |
๋ ผ๋ฌธ ์์ (2025 ๋ 6 ์) ๊ธฐ์ค์ผ๋ก Transformer ์ค์ฌ SOTA๊ฐ โ์๋-๋ฉ๋ชจ๋ฆฌ-์ ์ฐ์ฑโ 3 ์์๋ฅผ ๋์์ ๋ง์กฑํ์ง ๋ชปํ๋ ์ํ๋ผ ํ๊ฐ๋ฉ๋๋ค. ์ด์ ์ ์๋ค์ Mamba SSM์ ์ธ๋ถ ๋๋ํํฐ๋ก ๋์ ํ๊ณ , ํธ๋ฆฌ ๊ฒ์ + MAB(๋ค์ค ํ ๋ฐด๋ง) ๊ธฐ๋ฐ ๋์ draft ๊ตฌ์กฐ ์ต์ ํ๋ฅผ ์ ์ํด, ์ ํ๊ณ๋ฅผ ๋์์ ํด๊ฒฐํ๋ ค ํฉ๋๋ค.
ํ๋กฌํํธ 1.1.2 (ํต์ฌ ๊ฐ์ค)
"์ด ๋
ผ๋ฌธ์ ์ค์ฌ ๊ฐ์ค(central hypothesis) ๋๋ ํต์ฌ ์ฃผ์ฅ์ ๋ฌด์์ธ๊ฐ? '์ ์๋ค์ [์ ์ ๊ธฐ๋ฒ]์ ์ฌ์ฉํจ์ผ๋ก์จ [๊ธฐ์กด ํ๊ณ์ ]์ ๊ทน๋ณตํ๋ [๊ตฌ์ฒด์ ๊ฒฐ๊ณผ]๋ฅผ ๋ฌ์ฑํ ์ ์๋ค๊ณ ๊ฐ์ ํ๋ค'์ ๊ฐ์ ํ์์ผ๋ก, ๋ช
ํํ๊ณ ๊ฐ๊ฒฐํ ํ ๋ฌธ์ฅ์ผ๋ก ์์ ํด ์ค."
์ ์๋ค์ Mamba ๊ธฐ๋ฐ ์ ํ-๋ณต์ก๋ SSM ๋๋ํํฐ์ ๋ฐด๋ง ์ต์ ํ ํธ๋ฆฌ ์ด์ ํ์ ๊ธฐ๋ฒ์ ๊ฒฐํฉํจ์ผ๋ก์จ, Transformer ์ธ๋ถ ๋๋ํํฐ์ ๋๋ฆฐ ์๋ยท๋์ ๋ฉ๋ชจ๋ฆฌ ํ๊ณ๋ฅผ ์ ๊ฑฐํ๊ณ ์ฌํ์ต ์์ด๋ ๊ธฐ์กด self-speculation(EAGLE ๋ฑ)๊ณผ ๋๊ธ์ด๊ฑฐ๋ ์ต๋ 2ร ๋น ๋ฅธ ํ ํฐ ์ฒ๋ฆฌ ์๋์ 30โ40 % ๋ฎ์ ํผํฌ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ฌ์ฑํ ์ ์๋ค๊ณ ๊ฐ์ ํ๋ค.
ํ๋กฌํํธ 1.2.1 (๋ ์ฐฝ์ฑ ์๋ณ)
"๋
ผ๋ฌธ ์ ์ฒด๋ฅผ ๋ฐํ์ผ๋ก, ๊ฐ์ฅ ์ค์ํ๊ณ ๋
์ฐฝ์ ์ธ ๊ธฐ์ฌ(contribution) 1~3๊ฐ์ง๋ฅผ ๊ตฌ๋ณ๋๋ ํญ๋ชฉ์ผ๋ก ๋์ดํด ์ค. ๊ฐ๊ฐ์ด ์๋ก์ด ์ํคํ
์ฒ ๊ตฌ์ฑ์์, ์๋ก์ด ํ์ต ๊ธฐ๋ฒ, ์๋ก์ด ์ด๋ก ์ ํต์ฐฐ, ์๋ก์ด ๋ฐ์ดํฐ์
, ๋๋ ๊ธฐ์กด ๋ฐฉ๋ฒ๋ก ์ ์๋ก์ด ์ ์ฉ ์ค ์ด๋์ ํด๋นํ๋์ง ๋ช
ํํ ๊ตฌ๋ถํด ์ค."
๐ ๋ ์ฐฝ์ ๊ธฐ์ฌ 3๊ฐ์ง โ ๋ฌด์์ด ์๋กญ๋?
# | ๊ธฐ์ฌ ๋ด์ฉ | ๋ถ๋ฅ |
---|---|---|
1. Mamba SSM์ ์ธ๋ถ ๋๋ํํฐ๋ก ์ต์ด ๋์
Transformer ๋์ ์ ํ ๋ณต์ก๋ SSM(Mamba-130 M) ๋ฅผ ์จ์ ๋๋ํํ ์ ์ํํจ์ผ๋ก์จ ๊ธฐ์กด ์ธ๋ถ ๋๋ํํฐ์ ๋๋ฆฐ ์๋ยทKV ์บ์ ๋ฉ๋ชจ๋ฆฌ ํญ์ฆ ๋ฌธ์ ๋ฅผ ์ ๊ฑฐํ๊ณ ๋ self-speculation ์์ค์ ์ฒ๋ฆฌ๋์ ๋ฌ์ฑํจ. ์ด๋ Mamba๋ผ๋ ๊ธฐ์กด ๋ชจ๋ธ์ โLLM speculative decoding์ฉ ์ธ๋ถ ๋๋ํํฐโ๋ก ์ ์ฉํ ๊ธฐ์กด ๋ฐฉ๋ฒ๋ก ์ ์๋ก์ด ์ ์ฉ์ด๋ค. | ๊ธฐ์กด ๋ฐฉ๋ฒ๋ก ์ ์๋ก์ด ์ ์ฉ + ์๋ก์ด ์ํคํ ์ฒ ๊ตฌ์ฑ์์ | |
2. SSM ์ ์ฉ โBatch-Cache Tree Draftingโ ์ค๊ณ Mamba์ ์์ฐจ ์ํ๋ง ๋ณต์ ํ๋ฉด ๋๋ ํน์ง์ ํ์ฉํด, ํธ๋ฆฌ ํ์ฅ์ ๋ฐฐ์น ์์ฑ์ผ๋ก ๋น ๋ฅด๊ฒ ์ํํ๊ณ ์ํยท๊ทธ๋ํ ์บ์๋ฅผ ๋ฏธ๋ฆฌ ํ ๋นํด ๋ฉ๋ชจ๋ฆฌ ์ฌํ ๋น ๋น์ฉ์ ์์ฐ. ๊ฒฐ๊ณผ์ ์ผ๋ก Transformer ํธ๋ฆฌ-์ดํ ์ ์์ด๋ ํธ๋ฆฌ ๋๋ํํ ์ ์๋ยท์์ฉ ๊ธธ์ด ์ด๋์ ๋ฌ์ฑ. ์ด๋ ์๋ก์ด ๋์ฝ๋ฉ/์ํคํ ์ฒ ๊ธฐ๋ฒ์ด๋ค. | ์๋ก์ด ์ํคํ ์ฒ/์๊ณ ๋ฆฌ์ฆ ๊ตฌ์ฑ์์ | |
**3. ๋ค์ค ํ ๋ฐด๋ง(UCB) ๊ธฐ๋ฐ ์ค์๊ฐ Tree ๊ตฌ์กฐ ํ์ ์ ๋ ฅยท๊ณผ์ ๋ณ๋ก ์ต์ ์ ํธ๋ฆฌ ํญยท๊น์ด๊ฐ ๋ฌ๋ผ์ง๋ ์ ์ ์ด์ฉํด, ํ ์คํธ ์ MAB-UCB ์ ์ฑ ์ผ๋ก ์ฌ๋ฌ ํธ๋ฆฌ ๊ตฌ์ฑ์ ํ์ยท์ ์์ ์ผ๋ก ์ ํ โ ์ต๋ 10 % ์ด์์ ์ถ๊ฐ ์ฒ๋ฆฌ๋ ์์น์ ํ์ธ. ์ด๋ ์๋ก์ด ์ถ๋ก ์ต์ ํ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. | ์๋ก์ด ์๊ณ ๋ฆฌ์ฆ/์ถ๋ก ๊ธฐ๋ฒ |
ํ๋กฌํํธ 1.2.2 (์ ์ ๊ด์ ์์์ ๊ฐ์ )
"์ ์๋ค์ ๊ด์ ์์, ์์ ๋ค์ ์ ๊ทผ๋ฒ์ด ์ด์ ๋ฐฉ๋ฒ๋ค๋ณด๋ค ์ฐ์ํ ์ด์ ๋ ๋ฌด์์ธ๊ฐ? ๊ทธ๋ค์ด ์์ ๋ค์ ์ฐ๊ตฌ๊ฐ ์ง๋ ๋
์ฐฝ์ฑ๊ณผ ๊ฐ์ ์ ๋ท๋ฐ์นจํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ํต์ฌ ๋
ผ๊ฑฐ๋ฅผ ์ธ์ฉํ๊ฑฐ๋ ์๊ธฐ ์ฝ๊ฒ ์ค๋ช
ํด ์ค."
โ ์ ์ ๊ด์ ์์ ๊ฐ์กฐํ๋ 4๊ฐ์ง โ์ฐ์์ฑโ๊ณผ ํต์ฌ ๊ทผ๊ฑฐ
์๋ ํญ๋ชฉ๋ง๋ค โโฉ ๋ฌด์์ด ๋ ๋ซ๋คโ โ โ์ ๊ทธ๋ฐ ๊ฒฐ๊ณผ๊ฐ ๋์ค๋๊ฐโ โ โ์ฆ๊ฑฐ(์ ์ ์ ๊ณต ์์นยท๋ํ)โ ์์ผ๋ก ๊ฐ๋จ ๋ช ๋ฃํ๊ฒ ์ ๋ฆฌํ์ต๋๋ค.
# | ์ ์ ์ฃผ์ฅ์ ์์ง | ๋ ผ๊ฑฐ & ๊ทผ๊ฑฐ ์ธ์ฉ |
---|---|---|
1. ์๋ยท๋ฉ๋ชจ๋ฆฌ ๋ชจ๋ Transformer ์ธ๋ถ ๋๋ํํฐ๋ณด๋ค ์๋์ | โฉ **Mamba ๋๋ํํฐ๋ ์
๋ ฅ ๊ธธ์ด์ ๋ฌด๊ดํ๊ฒ ๊ฑฐ์ ์ผ์ ํ ๋์ฝ๋ฉ ์ง์ฐยท๋ฉ๋ชจ๋ฆฌ(์ ํ O(L))**๋ฅผ ์ ์งํด, Mistral-160M Transformer ๋๋ํํฐ๋ณด๋ค ์ต๋ 2ร ๋์ ํ ํฐ ์ฒ๋ฆฌ๋์ ๊ธฐ๋ก. โณ SSM์ ๊ณ ์ -ํฌ๊ธฐ ์ํ ๋๋ถ์ KV cache๊ฐ ํ์ ์๊ณ , Figure 1aโc์ ๋ฉ๋ชจ๋ฆฌยท์ง์ฐ ๊ณก์ ์ด ์ด๋ฅผ ๋ท๋ฐ์นจ . โณ GSM-8K ๋ฑ ์ค์ ์์ ์์ Transformer ๋๋ํํฐ ๋๋น 2ร, Pythia-410M baseline ๋๋น 2ร throughput ํ์ธ . | |
2. Self-speculation(EAGLE) ์์ค ์ฑ๋ฅ์ โ์ฌํ์ต ์์ดโ ๋ฌ์ฑ | โฉ EAGLE๊ณผ ๋น์ทํ ์๋ฝ ๊ธธ์ดยท์ฒ๋ฆฌ๋์ ๋ด๋ฉด์๋, ์ด๋ค ํ๊น LLM์๋ ๊ทธ๋๋ก ๊ฝ์ ์ธ ์ ์๋ค. โณ LongBench 8 k ํ ํฐ์์ EAGLE๋ณด๋ค โค 20 GB ์ ์ ํผํฌ ๋ฉ๋ชจ๋ฆฌ๋ก ๋น์ทํ throughput . โณ Pythia 6.9B๋ฅผ ์ฒ์ ๋ง๋๋ ์ธํ ์์๋ EAGLE ์์ค throughput ํ๋ณด โ โplug-and-playโ ์ธ๋ถ ๋๋ํํฐ์์ ๊ฐ์กฐ . | |
3. โ์์โ Mamba๊ฐ โํฐโ Transformer๋ณด๋ค ํจ๊ณผ์ | โฉ 130 M Mamba๊ฐ 160 M~410 M Transformer๋ณด๋ค calibration(ECE)ยท์๋ฝ ๊ธธ์ด ๋ฉด์์ ์ฐ์ โ ๋ชจ๋ธ ํฌ๊ธฐ๋ฅผ ํค์ฐ์ง ์์๋ ๋์ throughput ํ๋ณด. โณ Reliability diagram์์ Pythia-160M ๋๋น ๋ ๋ฎ์ ECE, Figure 3โ์ฐธ์กฐ . | |
4. ํธ๋ฆฌ ๋๋ํํ + UCB ๋ฐด๋ง ํ์์ผ๋ก ์ถ๊ฐ 5 โ 10 % ๊ฐ์ | โฉ Mamba์ โ์ํ ๋ณต์ ๋ง ํ๋ฉด ๋๋โ ํน์ฑ์ ์ด์ฉํด ํธ๋ฆฌ ํ์ฅ์ ๋ฐฐ์น generation์ผ๋ก ์ฒ๋ฆฌ โ Transformer์์ ํ์์๋ โํธ๋ฆฌ ์ดํ
์
โ ์์ด๋ ์ค๋ฒํค๋ ์ต์ํ . โณ ๊ณ ์ ํธ๋ฆฌ(3-2-2-1-1) ๋๋น MAB(UCB) ํ์์ผ๋ก HumanEval throughput์ด 149 โ 172 tokens/s(+16 %) ์์น, Table 6โ์ฐธ์กฐ . |
๐ ์ ๋ฆฌ โ ์ ์๋ค์ ํต์ฌ ๋ฉ์์ง
- **โ์ธ๋ถ ๋๋ํํฐ์ ์ ์ฐ์ฑโ**๊ณผ **โSelf-speculation์ ์๋โ**๋ฅผ ๋์์ ์ป์๋ค.
- SSM ํน์ ์ ์ ํ ๋ณต์ก๋ ๋๋ถ์ ๊ธด ์ปจํ ์คํธ์์๋ ์์ ์ ์ด๊ณ ํ๋์จ์ด ๋ฉ๋ชจ๋ฆฌ ๋น์ฉ๊น์ง ์ ๊ฐ๋๋ค.
- ์ถ๊ฐ ํ์ต์ด๋ ํน์ ์ดํ ์ ์์ด๋ ํธ๋ฆฌ ํ์ฅยท๋ฐด๋ง ํ์์ ์น์ด ๋ฐ์ดํฐ์ ยท์ง๋ฌธ ์ ํ๋ณ๋ก ์๋ ์ต์ ํ๋๋ค.
๊ฒฐ๊ตญ, โMamba + Tree Drafting + MABโ ์กฐํฉ์ด ์๋ยท๋ฉ๋ชจ๋ฆฌยท๋ฒ์ฉ์ฑ ์ธ ๋ง๋ฆฌ ํ ๋ผ๋ฅผ ์ก์๋ค๋ ์ ์ด ์ ์๋ค์ด ๋ด์ธ์ฐ๋ ์ฃผ๋ ๊ฐ์ ์ด๋ค.
ํ๋กฌํํธ 1.3.1 (์๊ณ ๋ฆฌ์ฆ ๋จ๊ณ๋ณ ์ค๋ช )
"ํต์ฌ ์๊ณ ๋ฆฌ์ฆ, ๋ชจ๋ธ ์ํคํ
์ฒ, ๋๋ ์ฃผ์ ๋ฐฉ๋ฒ๋ก ์ ๋จ๊ณ๋ณ(step-by-step)๋ก ์ค๋ช
ํด ์ค. ๋
์๋ AI ๋ถ์ผ์ ๋ํ์์ ์์ค์ด๋ผ๊ณ ๊ฐ์ ํด. ํนํ, ๊ฐ๋จํ ๋ฌธ์ฅ, 3x3 ํฝ์
์ด๋ฏธ์ง, ์์ ์ํ ๊ณต๊ฐ(state space) ๋ฑ ์์ฃผ ๊ฐ๋จํ๊ณ ๊ตฌ์ฒด์ ์ธ ์์(toy example)์ ์ํ ์
๋ ฅ์ ๋ง๋ค์ด์, ์ด ์์๋ฅผ ํตํด ๊ฐ ๋จ๊ณ๋ฅผ ๊ฑฐ์น๋ฉฐ ์
๋ ฅ์ด ์ต์ข
์ถ๋ ฅ์ผ๋ก ์ด๋ป๊ฒ ๋ณํ๋๋์ง ์ ์ฒด ๊ณผ์ ์ ๋ณด์ฌ์ค. ๋ฑ์ฅํ๋ ๋ชจ๋ ํต์ฌ ์ฉ์ด์ ๋ณ์๋ ๊ทธ ์ฆ์ ์ ์ํด ์ค."
๐ฐ ํ๋์ ๋ณด๋ ์ ์ฒด ํ์ดํ๋ผ์ธ
[ํ๋กฌํํธ xprefix] โโถ โ Mamba ๋๋ํํฐ(์ธ๋ถ) โโถ โก ํธ๋ฆฌ ์ด์(batch-cache) โโถ โข ๊ฒ์ฆ(ํ๊น LLM) โโถ โฃ UCB๋ก ํธ๋ฆฌ๊ตฌ์กฐ ์
๋ฐ์ดํธ โโถ โฆ ๋ฐ๋ณต
๊ด์ ํฌ์ธํธ Mamba๋ ์ ํ ์ํ ๊ณต๊ฐ ๋ชจ๋ธ(SSM) ์ด๋ผ โํ์ฌ ๋จ์ผ ์ํ sโ๋ง ์์ผ๋ฉด ๋๋ค โ ํธ๋ฆฌ ํ์ฅ ์ ์ํ ๋ฒกํฐ๋ง ๋ณต์ฌํ๋ฉด ๋! Transformer์ฒ๋ผ ์ ์ฒ ร d ํฌ๊ธฐ์ KV-cache๋ฅผ ๋ณต์ ํ ํ์๊ฐ ์๋ค .
0๏ธโฃ ์ฉ์ด & ๊ธฐํธ ์ ์
๊ธฐํธ | ๋ป | toy ๊ฐ |
---|---|---|
xprefix | ํ๋กฌํํธ(๊ธฐ์กด ํ ํฐ) | "I like" |
ฮณ | ํ ๋ฒ์ ๋ฏธ๋ฆฌ ๊ทธ๋ ค๋ณผ ์ด์ ๊ธธ์ด | 2 |
Mq | Mamba ๋๋ํํฐ (130 M) | โ |
Mp | ํ๊น LLM (7 B) | โ |
st | Mamba ๋ด๋ถ ์ํ (ํฌ๊ธฐ 2) | [0.3, 0.1] |
T = (Nโ,โฆ,Nฮณ) | ํธ๋ฆฌ ๊ตฌ์ฑ(๊น์ด = ฮณ, ํญ N) | (3, 2) |
1๏ธโฃ Mamba ๋๋ํํฐ โ ํ ์ค์ฉ ์์ธก
์ํ ์ ๋ฐ์ดํธ(SSM) toy ๋ฒ์
s_{t+1} = A ยท s_t + B ยท u_t
y_t = C ยท s_{t+1}
ํ๋ ฌ | toy | ์ค๋ช |
---|---|---|
A | [[0.7,0.0],[0.0,0.5]] | ์ํ ๊ด์ฑ |
B | [[1.0],[1.0]] | ์ ๋ ฅ ์ํฅ |
C | [1.0, 1.0]^โค | ์ถ๋ ฅ ๊ฐ์ค์น |
ํ ํฐ "I"
(id=17) โ uโ=0.17 ์
๋ ฅ
sโ = Aยทsโ + Bยท0.17 = [0.37, 0.27]
softmax(Cยทsโ)=softmax(0.64)
๋ฑ์ผ๋ก ์ฒซ ํ๋ณด ํ ํฐ โtoโ ๋ฑ 3๊ฐ๋ฅผ ์ํ๋ง โ ํญ Nโ = 3 ๊ฐ ๋
ธ๋ ์์ฑ.
(์ ํ ์ฐ์ฐ๋ง์ด๋ฏ๋ก O(ฮณ) ์๋ยท๋ฉ๋ชจ๋ฆฌ)
2๏ธโฃ Batch-Cache Tree Drafting
๊น์ด 2 ํธ๋ฆฌ ์์
sโ
โ โ โ โ 1 step, ํญ 3
sโa sโb sโc
โ โ โ โ โ โ โ 2 step, ํญ 2
- ํ์ฌ ์ํ s ๋ณต์ฌํ์ฌ batch=[s,s,s].
- ๊ฐ ๋ณต์ฌ๋ณธ์์ ๋ ๋ฆฝ์ ์ผ๋ก ๋ค์ ํ ํฐ 2๊ฐ(ฮณ=2)์ฉ ์ํ โ ์ด 3 ร 2 = 6 ๊ฐ ํ๋ณด.
- ๋๋ํํ ๋์ ๋ฐฐ์น๋ณ state-cache & graph-cache๋ฅผ ๋ฏธ๋ฆฌ ํ ๋นํด ์ฌํ ๋น ๋น์ฉ 0 .
3๏ธโฃ ๊ฒ์ฆ(Verification) โ Algorithm 1
ํ๊น ๋ชจ๋ธ Mp๊ฐ ๋ณ๋ ฌ๋ก ํ๋ฅ pโโฆpฮณ ๋ฅผ ๊ณ์ฐ.
๊ฐ ์ด์ ํ ํฐ xฬt ๋ ๋ฌด์์ u ~ U(0,1) ๋ก u < min(1, p_t / q_t)
์ด๋ฉด accept, ์๋๋ฉด ๊ฑฐ๊ธฐ์ ์ค๋จยท์ฌ์ํ .
toy
์ด์ "to","eat" (qโ=0.35, qโ=0.20)
Mp ํ๋ฅ (pโ=0.40, pโ=0.02)
uโ=0.12 < 0.40/0.35=1.14 โ accept "to"
uโ=0.81 > 0.02/0.20=0.10 โ reject "eat" โ Mp๊ฐ ์ ํ ํฐ "pizza" ์ง์ ์ํ
โ ์ต์ข ์ถ๋ ฅ โI like to pizzaโโฆ (์์)
4๏ธโฃ UCB ๊ธฐ๋ฐ ํธ๋ฆฌ ๊ตฌ์กฐ ํ์ (Multi-Armed Bandit)
ํ(arm) = ์ฌ์ ์ ์ ํธ๋ฆฌ ๋ชจ์ { (3,2), (3,3,2,1), (2,2,2) โฆ }.
๋งค ๋ผ์ด๋ t ์์ UCB ์ ์ฑ ์ด
PLAINTEXTk* = argmax_k rฬ_k(t) + ฮป โ(2 ln t / n_k(t))
๋ก ํธ๋ฆฌ Tk* ์ ํ .
๋ณด์ r(t) =
โ(1/N_accept + ฮปฮณ ยท ฮณ/N_accept)
โ SD speed-up ์์์ ์ ๋ .ํด๋จผ์ด ๊ฐ์ ์์ด 5-10 % ์ถ๊ฐ ํ ํฐ/์ด โ (Table 6) .
5๏ธโฃ ๋ฃจํ & ์ข ๋ฃ
์๋ฝ๋ ํ ํฐ์ด ์ํ๋ ๊ธธ์ด์ ๋๋ฌํ ๋๊น์ง โ โโฃ ๋ฐ๋ณต. ๋ชจ๋ ์ด์์ด ์๋ฝ๋๋ฉด Mp ๊ฐ tail token ํ๋๋ฅผ ๋ ์ํํด ๋ฌธ์ฅ์ ์ด์ด ๊ฐ๋ค .
๐งธ ์ ์ฒด ๊ณผ์ ์ ํ๋์ ๋ณด๋ Toy Walk-Through
์ ๋ ฅ
xprefix = "I like"
ํธ๋ฆฌ ํ๋ณด ์ ํ : UCB โ T = (3,2)
Step 1 (ํญ 3) โ
["to","the","my"]
Step 2 (ํญ 2) โ
- from โtoโ โ
["eat","code"]
- from โtheโ โ
["pizza","game"]
- from โmyโ โ
["bike","cat"]
- from โtoโ โ
๊ฒ์ฆ
- โtoโ โ๏ธ, โeatโ โ โ โpizzaโ โ๏ธ
- ์ดํ ๋ค๋ฅธ ๊ฐ์ง ๋ฌดํจํ
์ถ๋ ฅ ๋์ :
"I like to pizza โฆ"
UCB ์ ๋ฐ์ดํธ : (3,2) reward โ โ ์ ํ ํ๋ฅ ๊ฐ์ค
๋ค์ ๋ฃจํ (ํ์ํ๋ฉด ์งํ)
ํต์ฌ์ โ์ํ๋ง ๋ณต์ฌโ๋ฐฐ์น ์์ฑโํ ๋ฒ์ ๊ฒ์ฆโ๋ณด์์ผ๋ก ๊ตฌ์กฐ ์๋ ์ ์โ ์ด๋ผ๋ 4-๋จ๊ณ ํจํด์ด๋ค.
๐ ์ ๋ฆฌ
- ์ ํ-์ํ Mamba ๋๋ถ์ O(ฮณ) ๋ณต์ก๋๋ก ๋๋ํํ .
- Batch-cache ํธ๋ฆฌ๊ฐ Transformer์ KV-cache ํญ์ฆ ์์ด ๋ณ๋ ฌ ํ๋ณด ์์ฑ.
- Algorithm 1 ๊ฒ์ฆ์ผ๋ก ๋ชฉํ LLM๊ณผ ์๋ฒฝํ ๋์ผํ ๋ถํฌ ์ ์ง.
- UCB ๋ฐด๋ง์ผ๋ก ์ ๋ ฅยท๊ณผ์ ๋ณ ์ต์ ํธ๋ฆฌ ํญ/๊น์ด๋ฅผ ๋ฐํ์์ ํ์ต.
์ด๋ ๊ฒ ํด์ โ์ธ๋ถ ๋๋ํํฐ์ ๋ฒ์ฉ์ฑโ + โSelf-spec ์ ์๋/๋ฉ๋ชจ๋ฆฌโ ๋ฅผ ๋์์ ๋ฌ์ฑํ๋ค.
ํ๋กฌํํธ 1.3.2 (‘๋น๋ฐ ๋ณ๊ธฐ’ ์๋ณ)
"์ด ๋
ผ๋ฌธ์ ํต์ฌ ๊ธฐ์ฌ๋ฅผ ๊ฐ๋ฅํ๊ฒ ํ๋ ๊ฐ์ฅ ๊ฒฐ์ ์ ์ธ ๋จ์ผ ์ํ ๊ณต์, ์๊ณ ๋ฆฌ์ฆ ๋จ๊ณ, ๋๋ ์ํคํ
์ฒ ๊ตฌ์ฑ์์๋ฅผ ์๋ณํด ์ค. ๊ทธ๊ฒ์ ๊ธฐ๋ฅ๊ณผ, ๊ทธ๊ฒ์ด ์ด ๋ฐฉ๋ฒ๋ก ์ ์ฑ๊ณต์ ์ ํ์์ ์ธ์ง ์ค๋ช
ํด ์ค."
๐ โ๋น๋ฐ ๋ณ๊ธฐโ โ Mamba SSM์ ๊ณ ์ -ํฌ๊ธฐ ์ ํ ์ํ ๊ฐฑ์ ์
$$ \boxed{;s_{t+1}=A,s_t;+;B,u_t,\qquad y_t=C,s_{t+1};} $$
์ฌ๊ธฐ์
- $s_t\in\mathbb R^{d}$ : ๊ณ ์ ๊ธธ์ด(state) ๋ฒกํฐโ๋ชจ๋ธ์ด ์ง๊ธ๊น์ง ๋ณธ ๋ชจ๋ ํ ํฐ์ ์์ฝ
- $u_t$ : ์ด๋ฒ ํ ํฐ์ ์๋ฒ ๋ฉ
- $A,B,C$ : ํ์ต ๊ฐ๋ฅํ ์ ํ ๋ณํ(๋๋ element-wise ๊ฒ์ดํธ)
์ ์ด ํ ์ค์ด ํต์ฌ์ธ๊ฐ?
KV-์บ์๊ฐ ์ฌ๋ผ์ง๋ค โ ๋ฉ๋ชจ๋ฆฌ O(1) Transformer ์ธ๋ถ ๋๋ํํฐ๋ ๊ธธ์ด $L$๋ง๋ค $O(Ld)$ ํฌ๊ธฐ์ KV-cache๋ฅผ ๋ณต์ฌยท์ ์งํด์ผ ํ๋ค. ๋ฐ๋ฉด Mamba๋ โ$s_t$ ํ๋๋ง ๋ณต์ โํ๋ฉด ๋๋ฏ๋ก ํธ๋ฆฌ ํ์ฅ ์์๋ ์บ์ ํญ๋ฐ์ด ์์ .
ํ ํฐ๋ง๋ค ์ฐ์ฐยท๋ฉ๋ชจ๋ฆฌ O(1) โ ์ ํ( $O(L)$ ) ์๊ฐ ์ ํ ์ฌ๊ท๋ ๊ณฑ์ ๋ช ๋ฒ์ด๋ฉด ๋์ด๋ผ ์ด์ ๊ธธ์ด๊ฐ ๊ธธ์ด์ ธ๋ ๋๋ํํ ์ง์ฐ์ด ๊ฑฐ์ ์ฆ๊ฐํ์ง ์๋๋ค .
โ์ํ ๋ณต์ ๋ง์ผ๋ก ๋ฐฐ์น-ํธ๋ฆฌ Draftingโ ๊ฐ๋ฅ ํธ๋ฆฌ์ ๊ฐ ์์ ๋ ธ๋๊ฐ ๋ถ๋ชจ์ $s_t$๋ฅผ ๊ทธ๋๋ก ๋ณต์ ํด ์ฌ์ฉํ๋ฏ๋ก, Transformer์์ ํ์์๋ โํธ๋ฆฌ-์ดํ ์ โ ๊ฐ์ ํน์ ์ฐ์ฐ์ด ํ์ ์๋ค .
์ธ๋ถ ๋๋ํํฐ์์๋ Self-spec ์์ค์ ์๋ ์ ๋ ํน์ฑ ๋ํ์ 130 M Mamba๊ฐ 160 M-410 M Transformer ๋๋ํํฐ๋ณด๋ค ์ต๋ 2ร ๋น ๋ฅธ ํ ํฐ ์ฒ๋ฆฌ๋๊ณผ 30โ40 % ๋ฎ์ ํผํฌ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ณด์ธ๋ค(๋ ผ๋ฌธ Fig. 1ยท2) .
๊ธฐ๋ฅ ์์ฝ
๋จ๊ณ | ๋ฌด์์ ํ๋? | ๊ฒฐ๊ณผ |
---|---|---|
โ ํ์ฌ ๋ ธ๋์ $s_t$ ๋ณต์ | ํธ๋ฆฌ ํญ๋งํผ state ๋ฐฐ์น ์ค๋น | ๋ณต์ฌ ๋น์ฉ $O(d)$ |
โก ์ $s_{t+1}=A s_t+B u_t$ ๋ก ๋ค์ ์ํ ๊ณ์ฐ | ๊ฐ ๋ณต์ ๋ณธ์ด ๋์์ ์ ํ ํฐ ์ํ | ์ฐ์ฐยท๋ฉ๋ชจ๋ฆฌ $O(Bd)$ |
โข ํ๋ณด ํ ํฐ ๊ฒ์ฆ | ํ๊น LLM ํ ๋ฒ ํธ์ถ๋ก ๋ณ๋ ฌ ๊ฒ์ฆ | SD ์๋ฝ/๊ฑฐ์ |
์ด์ฒ๋ผ **โํ ์ค์ง๋ฆฌ ์ ํ ์ฌ๊ทโ**๊ฐ ์๋, ๋ฉ๋ชจ๋ฆฌ, ํธ๋ฆฌ drafting์ ๋ชจ๋ ๊ฐ๋ฅํ๊ฒ ๋ง๋ ๋ค. ๋ง์ฝ ์ด ์์ด ์์๋ค๋ฉด, ์ ์๋ค์ด ์ฃผ์ฅํ๋ โ์ธ๋ถ ๋๋ํํฐ์ ๋ฒ์ฉ์ฑ๊ณผ Self-spec ์์ค ํจ์จโ์ ๋ฌ์ฑ๋์ง ๋ชปํ์ ๊ฒ์ด๋ค.
ํ๋กฌํํธ 1.4.1 (ํต์ฌ ๊ฒฐ๊ณผ ๋ถ์)
"'Experiments' ๋๋ 'Results' ์น์
์ ํ์ ๊ทธ๋ฆผ์ ํฌํจํ ์ฃผ์ ๊ฒฐ๊ณผ๋ฅผ ๋ถ์ํด ์ค. ์ฌ์ฉ๋ ํต์ฌ ์ฑ๋ฅ ์งํ(performance metrics)๋ ๋ฌด์์ธ๊ฐ? ์ด๋ค ๋ฒค์น๋งํฌ ๋ฐ์ดํฐ์
์์ ๊ฒฐ๊ณผ๊ฐ ๋ณด๊ณ ๋์๋๊ฐ? ์ ์๋ค์ด ์์ ๋ค์ ๋ฐฉ๋ฒ๋ก ์ ์ฑ๊ณต ์ฆ๊ฑฐ๋ก ๊ฐ์ฅ ๊ฐ์กฐํ๋ ์ฃผ์ ๊ฒฐ๊ณผ๋ฅผ ์์ฝํด ์ค."
๐ ํต์ฌ ๊ฒฐ๊ณผ ํ๋์ ๋ณด๊ธฐ โ ์คํโยทโ๊ฒฐ๊ณผ(Results) ๋ถ์
1. ์ฌ์ฉ๋ ์ฑ๋ฅ ์งํ
์งํ | ์ ์ | ๋ฑ์ฅ ์์น |
---|---|---|
Throughput (ํ ํฐ/s) | ์ด๋น ์์ฑยท๊ฒ์ฆ ์๋ฃ๋ ํ ํฐ ์ โ ์๋์ ์ข ํฉ ์งํ | Table 1, 2, 3 , 5 โ 6 |
Acceptance length | ํ ๋ฒ์ ๊ฒ์ฆ์์ ์๋ฝ๋ ์ด์ ํ ํฐ ํ๊ท ๊ธธ์ด | ๊ฐ์ ํ์ ๊ดํธ๋ก ๋ณ๊ธฐ |
Latency | ๋๋ํํฐ 1 ์คํ ์ ์ง์ฐ ์๊ฐ | Table 4 (ํธ๋ฆฌ on/off) |
Peak Memory | ํ๋ฆฌํ(prefill) ๋จ๊ณ์์ drafter+target ํฉ์ฐ ๋ฉ๋ชจ๋ฆฌ | LongBench Table 2 |
ECE | Expected Calibration Error, ๋๋ํํฐ-ํ๊น ๋ถํฌ ์ ํฉ๋ | Figure 3 ์ค๋ช |
์์ฝ โ ์ ์๋ค์ โ์๋(Throughput) โ ์ ํ์ฑ(Accept len) โ ์์(LatencyยทMemory)โ ์ธ ์ถ์ ๋์์ ๊ฐ์ ํ์์ ๊ฐ์กฐํ๋ค.
2. ํ๊ฐ ๋ฐ์ดํฐ์ (6 + LongBench)
์นดํ ๊ณ ๋ฆฌ | ๋ฒค์น๋งํฌ | ์ฉ๋ |
---|---|---|
Pre-trained | XSum, CNN-DailyMail, GSM-8K | ์์ฝยท์ผ๋ฐ LMยท์ํ ์ถ๋ก |
Instruction-tuned | MT-Bench, Alpaca, HumanEval | ๋ํยท์ผ๋ฐ ์ง์ ์ํยท์ฝ๋ ์์ฑ |
Long Context | LongBench 6 ์ข (NarrativeQA ๋ฑ) | 1 k ~ 8 k ํ ํฐ QA |
Cross-target | MT-Bench (ํ๊น Pythia 6.9 B โ drafter Mistral Tok.) | ์ฌํ์ต ์๋ plug-and-play ๊ฒ์ฆ |
๋ฐ์ดํฐ์ ๊ตฌ์ฑ์ Appendix A.1 ํ๊ธฐ์ ์คํ ํ/Table ์ ๋ฐ์ ์ฌํ๋๋ค.
3. ์ฃผ์ ๊ฒฐ๊ณผ ํ์ด๋ผ์ดํธ
3-1. Pre-trained ๋ชจ๋ธ (Table 1a)
- Mamba-130 M โ 2 ร ์ด์ ์ฒ๋ฆฌ๋ XSum throughput 138.8 vs 70.5 (Pythia-410 M)โ&โCNN-DM, GSM-8K๋ ๋น์ทํ ๋ฐฐ์ ํฅ์.
- ์๋ฝ ๊ธธ์ด๋ ๋ํ Transformer๋ณด๋ค ์ฝ๊ฐ ์งง์ง๋ง, ์๋ ์ด๋์ด ๋ ํผ.
3-2. Instruction-tuned ๋ชจ๋ธ (Table 1b)
- Pythia 6.9 B ํ๊น: HumanEval 172 tokens/s(์ฐ๋ฆฌ) vs 122(EAGLE) โ 41 % ๊ฐ์.
- Mistral 7 B ํ๊น์์๋ Mamba๊ฐ Transformer drafterยทEAGLE ๋ ๋ค ์ ์ณ, ๋ชจ๋ธ-๋ถ๋ฌธ ๋ฒ์ฉ์ฑ ์ ์ฆ.
3-3. LongBench 8 k ์๋๋ฆฌ์ค (Table 2)
Throughput (8 k) | Peak Mem | |
---|---|---|
EAGLE (Self-spec) | 26.1 | 72 GB |
Mamba (External) | 24.9 | 52 GB |
20 GB โ ๋ฉ๋ชจ๋ฆฌ๋ก ๋น์ทํ ์๋ ์ ์ง โ SSM ์ ํ state์ ์ฅ์ ์ ์ ๋ณด์ฌ์ค.
3-4. ํธ๋ฆฌ-๋๋ํํ & MAB ํ์
- ํธ๋ฆฌ on : MT-Bench throughput 112 โ 127 (+13 %) (Table 4)
- MAB(UCB) ๊ฒ์ : HumanEval 149 โ 172 (+15 %) & ํ๊ท 6 % ์ถ๊ฐ ๊ฐ์ (Table 6)
- ๋ค์ํ ํธ๋ฆฌ ๊ตฌ์ฑ์์๋ ์ฒ๋ฆฌ๋ ๊ฑฐ์ ํํ(Table 5) โ Mamba draft ์๋๊ฐ ๋ณ๋ชฉ์ ์์.
3-5. ํจ์จ Figure 1 & 2
- Prefill ยท KV ์บ์ ๋ฉ๋ชจ๋ฆฌ ๊ฑฐ์ ์์ โ Transformer/EAGLE์ Lยฒ ์ฆ๊ฐ์ ๋์กฐ์ .
- GSM-8K Figure 2 : Transformer drafter ๋๋น โ 2ร throughput .
3-6. Cross-target ์ ์์ฑ (Table 3)
- ํ ํฌ๋์ด์ ๋ค๋ฅธ Mamba โ Pythia ๊ตฌ์ฑ์์๋ EAGLE (์ฌํ์ต) ์์ค ์ฒ๋ฆฌ๋ 93 vs 94 tokens/s ๋ฌ์ฑ โ zero-retrain ๋ฒ์ฉ์ฑ ์ ์ฆ.
4. ์ ์๋ค์ด ์ฃผ์ฅํ๋ โ์ฑ๊ณต์ ์ฆ๊ฑฐโ
- ์๋ (Throughput): ๋ชจ๋ ๋ฒค์น๋งํฌ์์ Transformer drafter ๋๋น โฅ 2 ร, Self-spec (EAGLE) ๋๋น๋ ๋น์ทํ๊ฑฐ๋ ์ฐ์ (ํนํ HumanEval, GSM-8K).
- ์์ ์ ๊ฐ: ๊ธด ์ปจํ ์คํธ์์ ์ต๋ 20 GB ๋ฉ๋ชจ๋ฆฌ ์ ๊ฐ + ํธ๋ฆฌ ํญ/๊น์ด ๋๋ ค๋ ์์ .
- ๋ฒ์ฉ์ฑ: ํ๊น ๋ชจ๋ธ์ ๋ฐ๊พธ์ด๋ ์ฌํ์ต ์์ด ๋์ผํ ๊ฐ์ ํจ๊ณผ (Cross-target ์คํ).
- ์ถ๊ฐ ์ต์ ํ ์ฌ์ง: ํ ์คํธ-ํ์ MAB ํ์์ผ๋ก โ+5 ~ 10 % ๋ฌด๋ฃ ๊ฐ์โ ํ๋ณด.
๐ ์ ๋ฆฌ โ ๋ฌด์์ ์ฆ๋ช ํ๋?
- ์ ํ-์ํ SSM ๋๋ํํฐ ํ๋๋ง์ผ๋ก Transformer drafter์ ์๋ยท๋ฉ๋ชจ๋ฆฌ ๋ณ๋ชฉ์ ํด์ํ๊ณ ,
- self-spec ์์ค์ ์ฑ๋ฅ์ ํ์ต ๋น์ฉ ์์ด ๋ฌ์ฑ,
- ํธ๋ฆฌ + ๋ฐด๋ง์ผ๋ก ๋ฐ์ดํฐยทํ๋กฌํํธ ๋ณ ๋์ ์ต์ ํ๊น์ง ๊ฐ๋ฅํจ์ ์คํ์ผ๋ก ๋ท๋ฐ์นจํ๋ค.
์ฆ, โ๋ฒ์ฉ plug-and-play ์ธ๋ถ ๋๋ํํฐ๊ฐ Self-spec ๋๋น ํจ์จยท์ ์ฐ์ฑ์ ๋์์ ์ก์ ์ ์๋คโ๋ ๊ฒ์ด ์ ์๋ค์ด ๊ฐ์กฐํ๋ ํต์ฌ ๋ฉ์์ง๋ค.
ํ๋กฌํํธ 1.4.2 (๋นํ์ ๋น๊ต)
"์ ์๋ ๋ฐฉ๋ฒ๋ก ์ ๋
ผ๋ฌธ์์ ์ธ๊ธ๋ ์ฃผ์ ๋ฒ ์ด์ค๋ผ์ธ ๋ฐ SOTA(State-of-the-Art) ๋ชจ๋ธ๋ค๊ณผ ๋น๊ตํ์ฌ ์ด๋ค ์ฑ๋ฅ์ ๋ณด์ด๋๊ฐ? ์ ์๋ค์ ์ฐ์์ฑ ์ฃผ์ฅ์ ๊ฐ์ฅ ๊ฐ๋ ฅํ๊ฒ ๋ท๋ฐ์นจํ๋ ํน์ ๊ฒฐ๊ณผ๋ ๋น๊ต ์ง์ ์ ์๋ณํด ์ค. ๋ฐ๋๋ก, ์ ์๋ ๋ฐฉ๋ฒ๋ก ์ด ๊ฒฝ์ ๋ชจ๋ธ์ ๋ฅ๊ฐํ์ง ๋ชปํ๊ฑฐ๋ ๊ฐ์ ํจ๊ณผ๊ฐ ๋ฏธ๋ฏธํ๋ ๊ฒฐ๊ณผ๋ ์๋์ง ์ฐพ์๋ด. ๋ง์ฝ ์๋ค๋ฉด, ์ ์๋ค์ ์ด๋ฌํ ๊ฒฝ์ฐ์ ๋ํด ์ด๋ค ์ด์ ๋ฅผ ์ ์ํ๋๊ฐ?"
๐ฌ ์ฃผ์ ๋ฒ ์ด์ค๋ผ์ธยทSOTA ๋๋น ์ฑ๋ฅ ๋น๊ต
์คํ ์ค์ | ๋ํ ๋ฒ ์ด์ค๋ผ์ธ | ์ ์๋ฒ Mamba-130 M | ์ฑ๋ฅ ํ์ |
---|---|---|---|
Pre-trained (XSumยทCNN-DMยทGSM-8K) | Pythia-410 M Transformer drafter | โ 2 ร ๋ ๋น ๋ฅธ ํ ํฐ/s (149 vs 76, GSM-8K) | ๋ํญ ์ฐ์ |
Instruction-tuned, Pythia-6.9 B ํ๊น | EAGLE self-spec | HumanEval +41 % (172 vs 122); MT-bench โ ๋๊ธ; Alpaca โ3 pts | ์ฐ์ (์ฝ๋), ๋น์ท(๋ํ), ๊ทผ์ ์ด์(Alpaca) |
Instruction-tuned, Mistral-7 B ํ๊น | EAGLE | MT-bench โ5 pts, Alpaca โ, HumanEval โ14 pts | ์ํญ ์ด์ |
LongBench 1 kโ8 k (๊ธธ์ด ํ์ฅ) | EAGLE (self-spec) | Throughput ๊ฑฐ์ ๋์ผ(24.9 vs 26.1) + ๋ฉ๋ชจ๋ฆฌ โ20 GB @8 k | ์์ ํจ์จ ์ฐ์ |
Cross-target (Mistral drafter โ Pythia 6.9 B) | EAGLE (์ฌํ์ต) | ๋น์ทํ 93 vs 95 tokens/s (ํ๋ จ ็ก) | ์ฌํ์ต ์์ด ๋๊ธ |
๊ฐ์ฅ ๊ฐ๋ ฅํ ์ฆ๊ฑฐ
- GSM-8K ์ํ๋ง์์ 2 ร ๋น ๋ฅธ ํ ํฐ ์ฒ๋ฆฌ๋์ผ๋ก Transformer ๋์์ ์ผ๊ฑฐ์ ์๋
- HumanEval ์ฝ๋ ์์ฑ์์ EAGLE ๋๋น 41 % ๊ฐ์ โ self-spec์กฐ์ฐจ ๋์๋ค
- 8 k ํ ํฐ LongBench์์ ๋์ผ ์๋ + ํผํฌ ๋ฉ๋ชจ๋ฆฌ 52 GB(๋ 72 GB) โ ๊ธด ๋ฌธ๋งฅ ์ค์ฌ์ฉ ์ฅ์ ์ ์ฆ
- ํ ์คํธ-ํ์ ๋ฐด๋ง ํธ๋ฆฌ ํ์์ผ๋ก ์ถ๊ฐ 15 % ๊ฐ์ (149 โ 172 tokens/s)
โ ๊ฐ์ ์ด ๋ฏธ๋ฏธํ๊ฑฐ๋ ๋ค์ฒ์ง ์ง์ & ์ ์ ํด์
๊ด์ฐฐ | ์์ธ ์์น | ์ ์ ํด์ยท์์ธ |
---|---|---|
Alpaca(Pythia): throughput 114 vs 117 (EAGLE โ3 %) | acceptance-length๊ฐ EAGLE(3.53)๋ณด๋ค ์ฝ๊ฐ ๋ฎ์ ์๋ฝ๋ฅ ์ํด | ์ธ๋ถ drafter๋ผ ํ๊น ๋ด๋ถํํ์ ๋ชป ์จ alignment๊ฐ ์ด์ง ๋จ์ด์ง |
Mistral ํ๊น MT-bench/HumanEval: 102 vs 107, 118 vs 133 | self-spec์ ํ๊น hidden state๋ก ํ์ต๋ผ ๊ธธ์ด-์๋ฝ๋ฅ ์ด ๋์ | โํ๋ จ ์๋ plug-and-play ์ ์ฐ์ฑโ๊ณผ ๋ฉ๋ชจ๋ฆฌ 20 GB ์ ๊ฐ์ ๋์ ๊ฐ์น๋ก ๊ฐ์กฐ |
Tree OFF vs ON: latency โ1.7 ms (6.6 โ 8.3) | ํธ๋ฆฌ ํ์ฅ ์์ฒด ์ค๋ฒํค๋. ๊ทธ๋ฌ๋ acceptance ๊ธธ์ด +27 %๋ก ์ด throughput โ | |
์จ์ ๋น์ฉ: SSM state ์ ์ง ๋ฉ๋ชจ๋ฆฌ | Limitations ์น์ ์์ โhidden state ๋ฉ๋ชจ๋ฆฌ ์ต์ ํ๋ ํฅํ ๊ณผ์ โ ์ธ๊ธ |
๐ ์ข ํฉ ํ๊ฐ
- ์๋ยท๋ฉ๋ชจ๋ฆฌ: Transformer ์ธ๋ถ ๋๋ํํฐ ๋๋น ์ผ๊ด๋ 2 ร ๊ฐ์ & KV-cache ํญ๋ฐ ์์.
- ๋-Self-Spec(EAGLE): ํ๊ท ์ โ๋๊ธ ยฑ 10 %โ ์์ค์ด์ง๋ง, ์ฝ๋ยท์ฅ๋ฌธ ์๋๋ฆฌ์ค์์ ํ์คํ ์ฐ์, ๋ฐ๋๋ก Mistral+๋ํ์ฒ๋ผ ํ๊น-ํนํ alignment๊ฐ ์ค์ํ ๊ฒฝ์ฐ์ ๋ค์ ๋ฐ๋ฆฐ๋ค.
- ์ ์ ๋ ผ๋ฆฌ: โ์ฌํ์ต์ด ํ์ ์๋ ๋ฒ์ฉ์ฑ + ๊ธด ์ ๋ ฅ์์๋ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ โ๊ฐ ์์ ์ด์๋ณด๋ค ๋ ํฐ ์ค์ฉ ์ด๋์ด๋ผ๊ณ ์ฃผ์ฅํ๋ค.
๊ฒฐ๊ตญ Mamba SSM ๋๋ํํฐ๋ ์ธ๋ถ drafter ๊ณ์ด์์ ๋จ์ฐ SOTA์ด๋ฉฐ, self-spec ์์ ๋ชจ๋ธ(EAGLE)๊ณผ๋ ๋๋ถ๋ถ ๋น๋ฑํ๊ฑฐ๋ ์์๋ฉด์ ์์ ์๋ชจ๋ ๋ ๋ฎ๋ค โ ์ด๊ฒ์ด ์ ์๋ค์ ํต์ฌ ์ฃผ์ฅ์ด๋ฉฐ ์ ํ๋ค์ด ์ด๋ฅผ ๋ท๋ฐ์นจํ๋ค.
ํ๋กฌํํธ 1.5.1 (์ธ๊ธ๋ ํ๊ณ์ ์ ์ฌ์ ํ๊ณ)
"์ ์๋ค์ด ๋
ผ๋ฌธ์์ ๋ช
์์ ์ผ๋ก ์ธ์ ํ ํ๊ณ์ , ์ฝ์ , ๋๋ ์คํจ ์ฌ๋ก(failure modes)๋ ๋ฌด์์ธ๊ฐ? ๋ค์์ผ๋ก, ๋ฐฉ๋ฒ๋ก ๊ณผ ๊ฒฐ๊ณผ์ ๋ํ ๋น์ ์ ๋ถ์์ ๋ฐํ์ผ๋ก, ์ ์๋ค์ด ์ธ๊ธํ์ง ์์์ ์ ์๋ ์ ์ฌ์ ์ธ ํ๊ณ๋ ์ฝ์ ์ ๋ฌด์์ด๋ผ๊ณ ์๊ฐํ๋๊ฐ? (์: ๊ฐ๋ ฅํ ๊ฐ์ ์ ๋ํ ์์กด์ฑ, ํ์ฅ์ฑ ๋ฌธ์ , ๋์ ์ฐ์ฐ ๋น์ฉ, ์ผ๋ฐํ์ ํ๊ณ, ์ ์ฌ์ ์ธ ๋ถ์ ์ ์ฌํ ์ํฅ ๋ฑ)"
๐ ๏ธ ์ ์๋ค์ด ์ค์ค๋ก ๋ฐํ ํ๊ณ (Limitations)
๊ตฌ๋ถ | ๋ด์ฉ | ๊ทผ๊ฑฐ |
---|---|---|
์ํ ๋ฒกํฐ ๋ฉ๋ชจ๋ฆฌ | Mamba SSM์ KV-cache ๋์ **๊ณ ์ ์ํ s **๋ง ๋ณด๊ดํ์ง๋ง, ๊ทธ๋๋ ํ ํฐ๋ง๋ค ์ํ๋ฅผ ๋ณต์ ํด์ผ ํ๋ฏ๋ก ์จ์ ๋ฉ๋ชจ๋ฆฌ ์ค๋ฒํค๋๊ฐ ๋จ๋๋ค. ์ ์๋ค์ โํจ์จ์ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ก ์ต์ ํ ๊ฐ๋ฅโํ๋ค๊ณ ๋ง ์ธ๊ธํ๋ค. | |
ํธ๋ฆฌ ํ์ ํ์ดํผํ๋ผ๋ฏธํฐ ์์กด | ๋ค์ค ํ ๋ฐด๋ง(UCB) ํ์์ ฮปUCB, ํธ๋ฆฌ ํ๋ณด ๊ตฌ์ฑ ๋ฑ์ ๋ฏผ๊ฐํ๋ค. ๋ฐ์ดํฐยท๊ณผ์ ๋ง๋ค ์ต์ ์ธํ ์ด ๋ฌ๋ผ ์ฌ์ฉ์๊ฐ ์ฌ์กฐ์ ํด์ผ ํ๋ค. | |
โ์ฌ-์ธ-์(Mono-Model) Mambaโ ๋ฏธ์ง์ | โMamba ํ ๋ชจ๋ธ์ด ๋๋ํํฐ์ ํ๊น์ ๋ชจ๋ ๋งก๋ Self-drafting์ ํฅํ ๊ณผ์ โ๋ผ๊ณ ๋ช ์ํ๋ฉฐ, ํ์ฌ ํ๋ ์์ํฌ๋ ์ธ๋ถ ๋๋ํํฐ๋ง ๋ค๋ฃฌ๋ค. |
๐ ์ถ๊ฐ๋ก ์ถ์ ๋๋ ์ ์ฌ์ ํ๊ณ (๋น๊ณต์ ๋ถ์)
์ ์ฌ ํ๊ณ | ์ค๋ช ยท ๊ทผ๊ฑฐ |
---|---|
โ ํ์ตยท๋ฐฐํฌ ๋น์ฉ | Mamba-130 M (ํ ํฌ๋์ด์ ๋ง์ถค ๋ฒ์ )์ ์๋ก ์ฌ์ ํ์ตํ๋ ค๋ฉด 8ร H200 GPU๋ก ํ๋ฃจ๊ฐ ๊ฑธ๋ฆฐ๋ค. ํ๊น์ด ๋ ๋๋ง๋ค โํ๋ จ ์์ด plug-and-playโ๊ฐ ๊ฐ๋ฅํ๊ธด ํ์ง๋ง, ์ด๊ธฐ ์ฌ์ ํ์ต ๋น์ฉ์ ๊ฒฐ์ฝ ๊ฐ๋ณ์ง ์๋ค . |
โก ์๋ฝ ๊ธธ์ด ๊ฐ์ โ ํ์ง ์ ํ ๊ฐ๋ฅ์ฑ | AlpacaยทMT-Bench(๋ฏธ์คํธ๋ ํ๊น) ๋ฑ ์ผ๋ถ ์ธํ ์์ EAGLE๋ณด๋ค ์งง์ acceptance length๋ก ์ธํด ํ ํฐ/s๋ ๊ทผ์ ์ด์์ด๋ฉฐ, ๋๋ํํฐ-ํ๊น ๋ถํฌ ๋ถ์ผ์น๊ฐ ๊ธธ์ด์ง ๋ฌธ์ฅ ํ์ง์ ์ํฅ์ ์ค ์๋ ์๋ค . |
โข ํ ํฌ๋์ด์ ยท์ธ์ด๊ถ ๋ถ์ผ์น | Cross-target ์คํ์์ ํ ํฌ๋์ด์ ๊ฐ ๋ค๋ฅธ Mistral-Mamba โ Pythia 6.9 B ์กฐํฉ์ EAGLE ์์ค throughput์ ๊ทธ์ณค์ง๋ง ์ํญ ํ๋ฝ (93 vs 95 t/s) . ํ๊น์ด ๋๋ํํฐ ํ ํฌ๋์ด์ ๋ฅผ ๋ํญ ๋ฒ์ด๋๋ฉด ๋ ํฐ ์ฑ๋ฅ ์์ค์ด ์์ ์ ์๋ค. |
โฃ ๊ธด ์ปจํ ์คํธ์ ๊ทน๋จ์ ํ์ฅ(16 k โ) | 8 k๊น์ง๋ ๋ฉ๋ชจ๋ฆฌ 20 GB ์ ๊ฐ์ ์ฑ๊ณตํ์ผ๋ 52 GB๊ฐ ์ฌ์ ํ ํ์ํ๋ค . 16 kยท32 k ํ ํฐ ์ค์๋น์ค์์ ๋์ผํ ์ฅ์ ์ด ์ ์ง๋ ์ง๋ ๋ฏธ๊ฒ์ฆ์ด๋ค. |
โค ์ค์๊ฐ ์์คํ ์ง์ฐ ์์ธ | ํธ๋ฆฌ ON ์ throughput์ โ13 %์ง๋ง ๋๋ํํฐ ์ง์ฐ(Latency) 6.6 โ 8.3 ms๋ก ์ฆ๊ฐํ๋ค . ์ด์ ์ง์ฐ(โค 5 ms) ์ฑํ ์๋ฒ์๋ ์ถ๊ฐ ์ต์ ํ๊ฐ ํ์ํ ์ ์๋ค. |
โฅ ์ฌํ-์ค๋ฆฌ์ ์ํฅ | 2ร ๊ฐ์ยท๋ฉ๋ชจ๋ฆฌ ์ ๊ฐ์ด ๋๊ท๋ชจ ์คํธยท๋ฅํ์ดํฌ ํ ์คํธ ์์ฐ ๋น์ฉ์ ๋ ๋ฎ์ถ ์ ์๋ค. ๋ณธ ๋ ผ๋ฌธ์ ์คยท๋จ์ฉ ๋ฐฉ์ง์ฑ ์ด๋ ์ํ ์ํ ์ ๋ต์ ๋ ผ์ํ์ง ์๋๋ค. |
โฆ ํ๋กฌํํธ ์ค์ผยท์ทจ์ฝ์ฑ ๋ฏธ๊ฒ์ฆ | Speculative Decoding์ ๊ฒ์ฆ ํ๋ฅ ๋น์จ p/q ์ ์์กดํ๋ค. ๋๋ํํฐ๊ฐ ์
์ฑ ํ๋กฌํํธ(ํ์ค์ํยท๊ต๋ฌํ ์ฌํ์)์ ๋
ธ์ถ๋ ๋ ์๋ฝ๋ฅ ๊ธ๋ฝยท์ง์ฐ ํญ์ฆ ๊ฐ๋ฅ์ฑ์ด ์์ผ๋, ์คํจ ์ฌ๋ก ๋ถ์์ด ์๋ค. |
์ ๋ฆฌ โ ์ ์๋ค์ ๋ฉ๋ชจ๋ฆฌยทํ์ดํผํ๋ผ๋ฏธํฐยท๋จ์ผ ๋ชจ๋ธ ํตํฉ ๋ฑ ์์คํ ์ ํ๊ณ๋ฅผ ์ฃผ๋ก ์ธ์ ํ๋ค. ๋ฐ๋ฉด ํ์ต ๋น์ฉ, ํ ํฌ๋์ด์ ยท์ธ์ด๊ถ ์ผ๋ฐํ, ์ด์ ์ง์ฐยท์ด์ฅ๋ฌธ, ์์ ์ฑยท์ค๋ฆฌ ๋ฆฌ์คํฌ ๋ฑ์ ์ถฉ๋ถํ ๋ค๋ฃจ์ง ์์๋ค. ํฅํ ์ฐ๊ตฌยท์ค๋ฌด ์ ์ฉ ์ ์ด ์ง์ ์ ๋ํ ์ถ๊ฐ ๊ฒ์ฆ๊ณผ ์ํ ์ ๋ต์ด ํ์ํ๋ค.
ํ๋กฌํํธ 1.5.2 (๋ฏธ๋ ์ฐ๊ตฌ ๊ถค์ )
"์ ์๋ค์ด ์ ์ํ๋ ๊ตฌ์ฒด์ ์ธ ํฅํ ์ฐ๊ตฌ ๋ฐฉํฅ์ ๋ฌด์์ธ๊ฐ? ์ด ๋
ผ๋ฌธ์ ํ๊ณ์ ์ ๋ฐํ์ผ๋ก, ์ด ์ฐ๊ตฌ๋ฅผ ๋ฐ์ ์ํค๊ฑฐ๋ ์ฝ์ ์ ๊ทน๋ณตํ๊ธฐ ์ํด ์ถ๊ตฌํ ์ ์๋ ๋ค๋ฅธ ๋
ผ๋ฆฌ์ ์ธ ๋ค์ ๋จ๊ณ๋ ๋์์ ์ธ ์ฐ๊ตฌ ๋ฐฉํฅ์ ๋ฌด์์ด ์์๊น?"
๐ญ ์ ์๋ค์ด ๋ช ์ํ โ๋ค์ ์คํ โ (๋ ผ๋ฌธ LimitationsยทConclusion ๊ธฐ๋ฐ)
๊ตฌ์ฒด์ ์ฐ๊ตฌ ๋ฐฉํฅ | ์ ํ์ํ๊ฐ? | ์ถ์ฒ |
---|---|---|
โ Mamba hidden-state ๋ฉ๋ชจ๋ฆฌ ์ต์ ํ | SSM์ KV-cache๊ฐ ์์ง๋ง ํ ํฐ๋ง๋ค s_t ๋ฅผ ๋ณต์ ํด์ผ ํด ์ฌ์ ํ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ ๋ค. ํจ์จ์ ์ธ ๋ฒํผยท์์ถ ๊ธฐ๋ฒ์ ์ค๊ณํด ์ถ๊ฐ๋ก ์์ ์ ๊ฐ ๊ฐ๋ฅ | |
โก ํธ๋ฆฌยทMAB ํ์ดํผํ๋ผ๋ฏธํฐ๋ฅผ ์๋์ผ๋ก ์กฐ์ | ฮปUCB, ํธ๋ฆฌ ํญยท๊น์ด ๋ฑ์ด ํ์คํฌ๋ง๋ค ๋ฌ๋ผ ์์์ ํ๋์ด ํ์. ์ ๋ ฅ๋ณ adaptive optimizer๋ฅผ ๊ฐ๋ฐํด ์ธ๊ฐ ๊ฐ์ ์ ์์ ๊ฒ ๋ค๊ณ ์ ์ | |
โข โSelf-drafting Mambaโ ํ๊ตฌ | ํ๋์ Mamba๊ฐ drafter + verifier ์ญํ ์ ๋์์ ์ํํ๋ฉด ๋ชจ๋ธโยทโ์๋น ํ์ดํ๋ผ์ธ์ ๋จ์ผํํ ์ ์๋ค | |
โฃ ๋ ์งํํ SSM ํ์ฉ (์: Mamba-2) | Mamba-2์ฒ๋ผ ์ฐ์ฐ ๊ตฌ์กฐ๊ฐ ๊ฐ์ ๋ ์ฐจ์ธ๋ SSM์ด ๋์ค๋ฉด ๊ทธ๋๋ก ์๋ยทํ์ง์ ๋์ด์ฌ๋ฆด ์ ์๋ค๋ ์ ์ ๊ฐ์กฐ |
๐ง ์ถ๊ฐ๋ก ๊ณ ๋ คํ ์ ์๋ ๋ ผ๋ฆฌ์ ์ฐ๊ตฌ ๊ถค์ (ํ๊ณ ๋ถ์ ๊ธฐ๋ฐ ์ ์)
์ ์ ๋ฐฉํฅ | ๊ธฐ๋ ํจ๊ณผ / ํด๊ฒฐํ๋ ค๋ ์ฝ์ | ๊ทผ๊ฑฐยท์ฐ๊ฒฐ ๊ณ ๋ฆฌ |
---|---|---|
A. ์ด์ฅ๋ฌธ (16 k โ)ยท๋ฉํฐ๋ชจ๋ฌ ์ปจํ ์คํธ ํ์ฅ | 8 k๊น์ง๋ ๊ฒ์ฆ๋์ง๋ง 52 GB ๋ฉ๋ชจ๋ฆฌ๊ฐ ํ์ํ๋ค โ ๋ ๊ธธ๊ฑฐ๋ ์ด๋ฏธ์งยท์ฝ๋ ํผํฉ ์ ๋ ฅ์์๋ ์ ํ state๊ฐ ์ ์ง๋๋์ง ๋ฒค์น๋งํน | ์ ์๋ ์ฅ๋ฌธ ํจ์จ์ ๊ฐ์ ์ผ๋ก ์ผ์์ผ๋ 8 k ์ด์์ ๋ฏธ๊ฒ์ฆ |
B. ํ ํฌ๋์ด์ ยท์ธ์ด๊ถ ๋ถ์ผ์น ์ํ ๊ธฐ๋ฒ | Cross-target ์คํ์ ๋์ผ ์ธ์ด๊ถ์ ๊ตญํ(๋ฏธ์คํธ๋ยทํ์ด์น์). ๋ค๊ตญ์ด LLM์ด๋ ๋น์์ด ํ ํฌ๋์ด์ ์ ์กฐํฉํ ๋ ์๋ฝ๋ฅ ์ด ๋จ์ด์ง ์ ์์ | ์คํ์์ ํ ํฌ๋์ด์ ๊ฐ ๋ค๋ฅธ ์กฐํฉ์ throughput์ด ๊ทผ์ ํ๋ฝ (93 vs 95) |
C. ๋๋ํํฐ ์ฌ์ ํ์ต ๋น์ฉ ๊ฒฝ๊ฐ | 130 M Mamba๋ฅผ ์ ํ ํฌ๋์ด์ ๋ก ์ฌํ์ตํ๋ ค๋ฉด H200 ร 8 ํ๋ฃจ ์์ . ์ง์ํ LoRAยทadapter ์ฌ์ฌ์ฉ, distillation ๋ฑ์ผ๋ก ์ด๊ธฐ๋น์ฉ์ ์ค์ด๋ ์ฐ๊ตฌ ํ์ | |
D. ์ค์๊ฐ ์๋น์ค์ฉ ์ต์ ์ง์ฐ ์ต์ ํ | ํธ๋ฆฌ ON ์ ๋๋ํํฐ ์ง์ฐ์ด 6.6 โ 8.3 ms๋ก ์ฆ๊ฐ. ์ฑํ ยท์์ฑ ์ธํฐ๋์ ์ฒ๋ผ < 5 ms SLA๊ฐ ์๊ตฌ๋ ๋ CUDA Graphsยทkernel fusion ์ ์ฉ | ํธ๋ฆฌ ํ์ฅ overhead ์ธ๊ธ |
E. ์์ ์ฑยท์ค์ฉ ๋ฐฉ์ง ๋งค์ปค๋์ฆ ํตํฉ | 2ร ๊ฐ์์ด ์คํธยท๋ฅํ์ดํฌ ์์ฐ๋น์ฉ์ ๋ฎ์ถ ์ฐ๋ ค. ๊ฒ์ฆ ๋จ๊ณ์ harmful-content filter๋ฅผ ์น์ด โ์กฐ๊ฑด๋ถ ์๋ฝ๋ฅ โ์ ๋์ด๋ ๋ฐฉํฅ ํ์ | ๋ ผ๋ฌธ์ ์ค๋ฆฌ ์ด์๋ฅผ ๋ค๋ฃจ์ง ์์ |
F. Retrieval-augmented Speculative Decoding | ๋๋ํํฐ๊ฐ ์ธ๋ถ DB๋ฅผ ์ฐธ์กฐํด context-aware draft๋ฅผ ์ ์ํ๋ฉด acceptance length โ, ๊ฒ์ฆ ํธ์ถ โ ๊ฐ๋ฅ์ฑ. ์ด๋ SSM state ๋ณต์ฌ ํน์ฑ๊ณผ ์์ฐ์ค๋ฝ๊ฒ ๋ง๋ฌผ๋ฆผ | acceptance length๊ฐ ์งง์ ์ฒ๋ฆฌ๋์ด ์ ํ๋ ์ผ์ด์ค(Alpaca) ๊ฐ์ ์ฌ์ง |
G. ํ์ด๋ธ๋ฆฌ๋ SSM ร Transformer ๋๋ํํฐ | ์ฝ๋ยทํยท์์์ฒ๋ผ ์ฅ๊ธฐ ์์กด๊ณผ ๊ตญ์ ํจํด์ด ๋์์ ํ์ํ ์ ๋ ฅ์์, ๋ ๋ชจ๋์ ์ฅ์ ์ ํผํฉํ dual-drafter๊ฐ ๋ ๋์ ์๋ฝ๋ฅ ์ ๋ฌ์ฑํ ์ ์์ | SSM์ด ๊ธธ์ด ์์ ์ฑ, Transformer๊ฐ ๊ตญ์ ์ ์ฐ์ฑ์ ๊ฐ์ |
โจ ์ ๋ฆฌ
- ์ ์ ์ ์ : ๋ฉ๋ชจ๋ฆฌ ์ต์ ํ โ ํ์ดํผํ๋ผ๋ฏธํฐ ์๋ํ โ ๋จ์ผ Mamba self-drafting โ ์ฐจ์ธ๋ SSM ์์ฉ.
- ์ฐ๋ฆฌ ์ ์ : ์ปจํ ์คํธ ํ์ฅยท์ธ์ด ์ผ๋ฐํยทํ๋ จ๋น์ฉ ๊ฒฝ๊ฐยท์ค์๊ฐ ์ง์ฐยท์์ ์ฑยทRAG ๊ฒฐํฉยทํ์ด๋ธ๋ฆฌ๋ ๋ชจ๋ธ ๋ฑ์ผ๋ก ์์ฉ ๋ฒ์๋ฅผ ๋ํ๊ณ ์ฝ์ ์ ๋ณด์.
์ด๋ฌํ ์ฐ๊ตฌ ๊ถค์ ์ ๋ฐ๋ผ๊ฐ๋ฉด **โ๋ฒ์ฉ ์ธ๋ถ SSM ๋๋ํํฐโ โ โ์ ๋น์ฉ ยท ์ด์ง์ฐํ ยท ๋ฉํฐ๋ชจ๋ฌ-์ธ์ดํํฐ ํตํฉ ์๋ฃจ์ โ**์ผ๋ก๊น์ง ์งํํ ์ ์์ ๊ฒ์ด๋ค.
๋๊ธ