๋…ผ๋ฌธ ๋งํฌ

๐Ÿ“ Mamba Drafters: ์„ ํ˜• SSM์œผ๋กœ ์™ธ๋ถ€ Speculative Decoding SOTA ๋‹ค์‹œ ์“ฐ๊ธฐ

ํ•œ ์ค„ ์š”์•ฝ (TL;DR)

Transformer ๋Œ€์‹  Mamba SSM์„ ์™ธ๋ถ€ ๋“œ๋ž˜ํ”„ํ„ฐ๋กœ ์“ฐ๊ณ , ํŠธ๋ฆฌ ์ดˆ์•ˆ + UCB ํƒ์ƒ‰์„ ๊ฒฐํ•ฉํ•ด ์žฌํ•™์Šต ์—†์ด๋„ Self-spec(EAGLE) ์ˆ˜์ค€ ์†๋„ยทํ’ˆ์งˆ์„ ๋‹ฌ์„ฑํ•˜๋ฉฐ ๋ฉ”๋ชจ๋ฆฌ๊นŒ์ง€ ์ ˆ๊ฐํ–ˆ๋‹ค.


ํ•ต์‹ฌ ์•„์ด๋””์–ด

โ€œ์„ ํ˜•-์ƒํƒœ SSM = KV-์บ์‹œ ์—†๋Š” ๋“œ๋ž˜ํ”„ํ„ฐโ€

๊ณ ์ • ๊ธธ์ด ์ƒํƒœ ๐ฌโ‚œ๋งŒ ๋ณต์‚ฌํ•˜๋ฉด ๋˜๋ฏ€๋กœ ๋“œ๋ž˜ํ”„ํŒ…์ด O(L), ๋ฉ”๋ชจ๋ฆฌ๋„ O(1). ์—ฌ๊ธฐ์— ํŠธ๋ฆฌ ํ›„๋ณด๋ฅผ ํ•œ๊บผ๋ฒˆ์— ๋ฐฐ์น˜ ์ƒ์„ฑํ•˜๊ณ , UCB ๋ฐด๋”ง์œผ๋กœ ๊ตฌ์กฐ๋ฅผ ์‹ค์‹œ๊ฐ„ ์ตœ์ ํ™”ํ•ด Transformer ์™ธ๋ถ€ ๋“œ๋ž˜ํ”„ํ„ฐ์˜ ๋ณ‘๋ชฉ์„ ๋ชจ๋‘ ์ œ๊ฑฐํ•œ๋‹ค.


๋ฐฐ๊ฒฝ: ๊ทธ๋“ค์ด ํ•ด๊ฒฐํ•œ ๋ฌธ์ œ

  1. ์™ธ๋ถ€ ๋“œ๋ž˜ํ”„ํ„ฐ

    • ๋ชจ๋ธ ๋…๋ฆฝยท๋ฐฐํฌ ์œ ์—ฐ์„ฑ ๐Ÿ‘
    • ํ•˜์ง€๋งŒ Transformer ๊ธฐ๋ฐ˜์ด๋ผ ๋А๋ฆฌ๊ณ  ๋ฉ”๋ชจ๋ฆฌโ†‘
  2. Self-spec(EAGLE)

    • ํƒ€๊นƒ LLM ๋‚ด๋ถ€ํ‘œํ˜„์œผ๋กœ ๋น ๋ฅด์ง€๋งŒ ๋ชจ๋ธ๋งˆ๋‹ค ์žฌํ•™์Šต ํ•„์š”
  3. ์—ฐ๊ตฌ ๊ณต๋ฐฑ

    • โ€œ๋น ๋ฅด๊ณ  ๊ฐ€๋ฒผ์šฐ๋ฉฐ 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)

  1. ๋“œ๋ž˜ํ”„ํŒ…

    TEXT
    sโ‚ = Aยทsโ‚€ + Bยทu("I")
    โ””โ”€ ์ƒ˜ํ”Œ โ†’ ["to", "the", "my"]   (ํญ 3)
    sโ‚‚a, sโ‚‚b โ€ฆ ๊ฐ ์ƒํƒœ ๋ณต์ œ โ†’ 2๋ฒˆ์งธ ํ† ํฐ ๋ฐฐ์น˜ ์ƒ์„ฑ
    ํด๋ฆญํ•˜์—ฌ ๋” ๋ณด๊ธฐ
  2. ๊ฒ€์ฆ(Verifier: ํƒ€๊นƒ LLM) ํ™•๋ฅ  ๋น„์œจ p/q๋กœ accept/reject. ์˜ˆ) โ€œtoโ€(โœ”) โ†’ โ€œeatโ€(โœ˜) โ†’ ํƒ€๊นƒ์ด โ€œpizzaโ€ ์ง์ ‘ ์ƒ˜ํ”Œ

  3. UCB ๋ณด์ƒ ์—…๋ฐ์ดํŠธ throughput ๋ณด์ƒ์ด ํฐ ํŠธ๋ฆฌ ๊ตฌ์กฐ ์„ ํƒ ํ™•๋ฅ  โ†‘

๊ฒฐ๊ณผ: โ€œI like to pizzaโ€ฆโ€ ํ•œ ํ„ด์— 2 ํ† ํฐ ํ™•์ •. ์ง€์—ฐ์€ Mamba ์„ ํ˜• ์—ฐ์‚ฐ๋งŒํผ๋งŒ ์ฆ๊ฐ€.


์„ฑ๋Šฅ ๊ฒ€์ฆ: ์ฃผ์š” ๊ฒฐ๊ณผ

๋ฒค์น˜๋งˆํฌMamba Drafters๋ฒ ์ด์Šค๋ผ์ธํ•˜์ด๋ผ์ดํŠธ
GSM-8K149 tok/s76 tok/s (Transformer)2 ร— ๊ฐ€์†
HumanEval172 tok/s122 tok/s (EAGLE)+41 %
LongBench 8 k24.9 tok/s, 52 GB26.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)


์šฐ๋ฆฌ์˜ ๊ด€์ : ๊ฐ•์ , ํ•œ๊ณ„, ๊ทธ๋ฆฌ๊ณ  ์ด ์—ฐ๊ตฌ๊ฐ€ ์ค‘์š”ํ•œ ์ด์œ 

โœ… ๊ฐ•์ 

โš ๏ธ ํ•œ๊ณ„

๐ŸŒŸ ์™œ ์ค‘์š”ํ•œ๊ฐ€?

LLM ์„œ๋น™์—์„œ KV-์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ์™€ ์ง€์—ฐ์ด ์ตœ๋Œ€ ๋น„์šฉ. Mamba Drafters๋Š” โ€œSSM โ†’ ์„ ํ˜• ๋ณต์žก๋„โ€ ๋ผ๋Š” ๋‹จ์ˆœํ•œ ์•„์ด๋””์–ด๋กœ ๋ฒ”์šฉยท์ €๋น„์šฉ ๊ฐ€์†์˜ ๊ธธ์„ ์—ด์—ˆ๋‹ค.


๋‹ค์Œ ๋‹จ๊ณ„๋Š”?: ์•ž์œผ๋กœ์˜ ๊ธธ

  1. ์ƒํƒœ ๋ฉ”๋ชจ๋ฆฌ ์ตœ์ ํ™”โ€”๋ฒ„ํผ ์••์ถ•ยทchunk ์žฌ์‚ฌ์šฉ ์—ฐ๊ตฌ
  2. ํŠธ๋ฆฌยทUCB ์™„์ „ ์ž๋™ํ™”โ€”ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ ํ”„๋ฆฌ ๋Ÿฐํƒ€์ž„ ํŠœ๋„ˆ
  3. Self-drafting Mambaโ€”๋“œ๋ž˜ํ”„ํ„ฐ+๊ฒ€์ฆ๊ธฐ ๋‹จ์ผํ™”๋กœ ํŒŒ์ดํ”„๋ผ์ธ ๋‹จ์ˆœํ™”
  4. ์ดˆ์žฅ๋ฌธยท๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ ๋ฒค์น˜๋งˆํฌโ€”16 k+ ํ† ํฐ ๋ฐ ์ด๋ฏธ์ง€ยท์ฝ”๋“œ ํ˜ผํ•ฉ ์ž…๋ ฅ ๊ฒ€์ฆ
  5. RAG & ์•ˆ์ „ ํ•„ํ„ฐ ๊ฒฐํ•ฉโ€”์ˆ˜๋ฝ๋ฅ  โ†‘ยท์œ ํ•ด ์ฝ˜ํ…์ธ  โ†“ ๋™์‹œ์— ๋‹ฌ์„ฑ

๊ฒฐ๋ก : Mamba Drafters๋Š” โ€œ์™ธ๋ถ€ ๋“œ๋ž˜ํ”„ํ„ฐ = ๋А๋ฆฌ๋‹คโ€๋Š” ํ†ต๋…์„ ๊นจ๊ณ , SSM์ด LLM ์ถ”๋ก  ์ธํ”„๋ผ์˜ ๋‹ค์Œ ๊ณ„์‚ฐ ํŒจ๋Ÿฌ๋‹ค์ž„์ด ๋  ์ž ์žฌ๋ ฅ์„ ๋ณด์—ฌ์ค€๋‹ค. ์ด์ œ ๋‚จ์€ ๊ณผ์ œ๋Š” ๋ฉ”๋ชจ๋ฆฌ ํ’ˆ์งˆ ์ตœ์ ํ™”์™€ ์‹ค์‹œ๊ฐ„ยท์œค๋ฆฌ์  ์„œ๋น™์œผ๋กœ ๋ฒ”์šฉ์„ฑ์„ ํ™•์žฅํ•˜๋Š” ์ผ์ด๋‹ค.


ํ† ๊ธ€์„ ํด๋ฆญํ•˜๋ฉด ๋…ผ๋ฌธ์— ๋Œ€ํ•œ ์ž์„ธํ•œ LLM ์งˆ์˜์‘๋‹ต ๋‚ด์šฉ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

โ–ถ๏ธํด๋ฆญํ•˜์—ฌ ํŽผ์น˜๊ธฐ

ํ”„๋กฌํ”„ํŠธ 1.1.1 (์—ฐ๊ตฌ์˜ ๊ณต๋ฐฑ)

PLAINTEXT
"๋…ผ๋ฌธ์˜ '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 SpeculationLeviathan et al., 2023 โ€œspeculative samplingโ€; ์ž‘์€ Transformer(Mistral-160M ๋“ฑ)๋กœ ๋‹ค์ˆ˜ ํ† ํฐ ์ดˆ์•ˆ ์ƒ์„ฑ ํ›„ ํฐ LLM์ด ๊ฒ€์ฆ์ดˆ์•ˆ ์ƒ์„ฑ ์†๋„โ†“, ๊ธด ๋ฌธ๋งฅ์—์„œ KV ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌโ†‘, ์—ฌ์ „ํžˆ O(Lยฒ)
Self-SpeculationEAGLE (Li et al., 2024): ํƒ€๊นƒ LLM ๋งˆ์ง€๋ง‰ ์ธต ์œ„์— 1-layer Transformer head ์‚ฝ์ž… โ†’ ๋“œ๋ž˜ํ”„ํŒ… ์†๋„โ†‘, ์ˆ˜์šฉ ๊ธธ์ดโ†‘ํƒ€๊นƒ ๋ชจ๋ธ ๋ฐ”๋€” ๋•Œ๋งˆ๋‹ค ์žฌํ•™์Šต ํ•„์ˆ˜(์‹œ๊ฐ„ยท๋น„์šฉ ๋ถ€๋‹ด), ํ›ˆ๋ จ ์‹œ์—๋„ ํฐ LLM ์ „์ธต forward ํ•„์š”
Tree-Structured DraftingMulti-candidate/Tree attention (Miao et al., 2024; Yang et al.*, 2024)๋กœ draft token ํญ๋ฐœ์  ์ƒ์„ฑ ํ›„ ๋ณ‘๋ ฌ ๊ฒ€์ฆ์—ฌ์ „ํžˆ Transformer ๊ตฌ์กฐ ์ „์ œ, ๋“œ๋ž˜ํ”„ํŒ…์ด ์™„์ „ํžˆ O(L) ๋˜์ง€ ์•Š์Œ
SSM/๊ธฐํƒ€ Non-TransformerLookahead 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 (ํ•ต์‹ฌ ๊ฐ€์„ค)

PLAINTEXT
"์ด ๋…ผ๋ฌธ์˜ ์ค‘์‹ฌ ๊ฐ€์„ค(central hypothesis) ๋˜๋Š” ํ•ต์‹ฌ ์ฃผ์žฅ์€ ๋ฌด์—‡์ธ๊ฐ€? '์ €์ž๋“ค์€ [์ œ์•ˆ ๊ธฐ๋ฒ•]์„ ์‚ฌ์šฉํ•จ์œผ๋กœ์จ [๊ธฐ์กด ํ•œ๊ณ„์ ]์„ ๊ทน๋ณตํ•˜๋Š” [๊ตฌ์ฒด์  ๊ฒฐ๊ณผ]๋ฅผ ๋‹ฌ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•œ๋‹ค'์™€ ๊ฐ™์€ ํ˜•์‹์œผ๋กœ, ๋ช…ํ™•ํ•˜๊ณ  ๊ฐ„๊ฒฐํ•œ ํ•œ ๋ฌธ์žฅ์œผ๋กœ ์„œ์ˆ ํ•ด ์ค˜."
ํด๋ฆญํ•˜์—ฌ ๋” ๋ณด๊ธฐ

์ €์ž๋“ค์€ Mamba ๊ธฐ๋ฐ˜ ์„ ํ˜•-๋ณต์žก๋„ SSM ๋“œ๋ž˜ํ”„ํ„ฐ์™€ ๋ฐด๋”ง ์ตœ์ ํ™” ํŠธ๋ฆฌ ์ดˆ์•ˆ ํƒ์ƒ‰ ๊ธฐ๋ฒ•์„ ๊ฒฐํ•ฉํ•จ์œผ๋กœ์จ, Transformer ์™ธ๋ถ€ ๋“œ๋ž˜ํ”„ํ„ฐ์˜ ๋А๋ฆฐ ์†๋„ยท๋†’์€ ๋ฉ”๋ชจ๋ฆฌ ํ•œ๊ณ„๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  ์žฌํ•™์Šต ์—†์ด๋„ ๊ธฐ์กด self-speculation(EAGLE ๋“ฑ)๊ณผ ๋™๊ธ‰์ด๊ฑฐ๋‚˜ ์ตœ๋Œ€ 2ร— ๋น ๋ฅธ ํ† ํฐ ์ฒ˜๋ฆฌ ์†๋„์™€ 30โ€“40 % ๋‚ฎ์€ ํ”ผํฌ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋‹ฌ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•œ๋‹ค.

ํ”„๋กฌํ”„ํŠธ 1.2.1 (๋…์ฐฝ์„ฑ ์‹๋ณ„)

PLAINTEXT
 "๋…ผ๋ฌธ ์ „์ฒด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ, ๊ฐ€์žฅ ์ค‘์š”ํ•˜๊ณ  ๋…์ฐฝ์ ์ธ ๊ธฐ์—ฌ(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 (์ €์ž ๊ด€์ ์—์„œ์˜ ๊ฐ•์ )

PLAINTEXT
"์ €์ž๋“ค์˜ ๊ด€์ ์—์„œ, ์ž์‹ ๋“ค์˜ ์ ‘๊ทผ๋ฒ•์ด ์ด์ „ ๋ฐฉ๋ฒ•๋“ค๋ณด๋‹ค ์šฐ์›”ํ•œ ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€? ๊ทธ๋“ค์ด ์ž์‹ ๋“ค์˜ ์—ฐ๊ตฌ๊ฐ€ ์ง€๋‹Œ ๋…์ฐฝ์„ฑ๊ณผ ๊ฐ•์ ์„ ๋’ท๋ฐ›์นจํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ํ•ต์‹ฌ ๋…ผ๊ฑฐ๋ฅผ ์ธ์šฉํ•˜๊ฑฐ๋‚˜ ์•Œ๊ธฐ ์‰ฝ๊ฒŒ ์„ค๋ช…ํ•ด ์ค˜."
ํด๋ฆญํ•˜์—ฌ ๋” ๋ณด๊ธฐ

โœ… ์ €์ž ๊ด€์ ์—์„œ ๊ฐ•์กฐํ•˜๋Š” 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โ€‚์ฐธ์กฐ .

๐Ÿ“ ์ •๋ฆฌ โ€” ์ €์ž๋“ค์˜ ํ•ต์‹ฌ ๋ฉ”์‹œ์ง€

  1. **โ€œ์™ธ๋ถ€ ๋“œ๋ž˜ํ”„ํ„ฐ์˜ ์œ ์—ฐ์„ฑโ€**๊ณผ **โ€œSelf-speculation์˜ ์†๋„โ€**๋ฅผ ๋™์‹œ์— ์–ป์—ˆ๋‹ค.
  2. SSM ํŠน์œ ์˜ ์„ ํ˜• ๋ณต์žก๋„ ๋•๋ถ„์— ๊ธด ์ปจํ…์ŠคํŠธ์—์„œ๋„ ์•ˆ์ •์ ์ด๊ณ  ํ•˜๋“œ์›จ์–ด ๋ฉ”๋ชจ๋ฆฌ ๋น„์šฉ๊นŒ์ง€ ์ ˆ๊ฐ๋œ๋‹ค.
  3. ์ถ”๊ฐ€ ํ•™์Šต์ด๋‚˜ ํŠน์ˆ˜ ์–ดํ…์…˜ ์—†์ด๋„ ํŠธ๋ฆฌ ํ™•์žฅยท๋ฐด๋”ง ํƒ์ƒ‰์„ ์–น์–ด ๋ฐ์ดํ„ฐ์…‹ยท์งˆ๋ฌธ ์œ ํ˜•๋ณ„๋กœ ์ž๋™ ์ตœ์ ํ™”๋œ๋‹ค.

๊ฒฐ๊ตญ, โ€œMamba + Tree Drafting + MABโ€ ์กฐํ•ฉ์ด ์†๋„ยท๋ฉ”๋ชจ๋ฆฌยท๋ฒ”์šฉ์„ฑ ์„ธ ๋งˆ๋ฆฌ ํ† ๋ผ๋ฅผ ์žก์•˜๋‹ค๋Š” ์ ์ด ์ €์ž๋“ค์ด ๋‚ด์„ธ์šฐ๋Š” ์ฃผ๋œ ๊ฐ•์ ์ด๋‹ค.

ํ”„๋กฌํ”„ํŠธ 1.3.1 (์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋‹จ๊ณ„๋ณ„ ์„ค๋ช…)

PLAINTEXT
"ํ•ต์‹ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜, ๋ชจ๋ธ ์•„ํ‚คํ…์ฒ˜, ๋˜๋Š” ์ฃผ์š” ๋ฐฉ๋ฒ•๋ก ์„ ๋‹จ๊ณ„๋ณ„(step-by-step)๋กœ ์„ค๋ช…ํ•ด ์ค˜. ๋…์ž๋Š” AI ๋ถ„์•ผ์˜ ๋Œ€ํ•™์›์ƒ ์ˆ˜์ค€์ด๋ผ๊ณ  ๊ฐ€์ •ํ•ด. ํŠนํžˆ, ๊ฐ„๋‹จํ•œ ๋ฌธ์žฅ, 3x3 ํ”ฝ์…€ ์ด๋ฏธ์ง€, ์ž‘์€ ์ƒํƒœ ๊ณต๊ฐ„(state space) ๋“ฑ ์•„์ฃผ ๊ฐ„๋‹จํ•˜๊ณ  ๊ตฌ์ฒด์ ์ธ ์˜ˆ์‹œ(toy example)์™€ ์ƒ˜ํ”Œ ์ž…๋ ฅ์„ ๋งŒ๋“ค์–ด์„œ, ์ด ์˜ˆ์‹œ๋ฅผ ํ†ตํ•ด ๊ฐ ๋‹จ๊ณ„๋ฅผ ๊ฑฐ์น˜๋ฉฐ ์ž…๋ ฅ์ด ์ตœ์ข… ์ถœ๋ ฅ์œผ๋กœ ์–ด๋–ป๊ฒŒ ๋ณ€ํ™˜๋˜๋Š”์ง€ ์ „์ฒด ๊ณผ์ •์„ ๋ณด์—ฌ์ค˜. ๋“ฑ์žฅํ•˜๋Š” ๋ชจ๋“  ํ•ต์‹ฌ ์šฉ์–ด์™€ ๋ณ€์ˆ˜๋Š” ๊ทธ ์ฆ‰์‹œ ์ •์˜ํ•ด ์ค˜."
ํด๋ฆญํ•˜์—ฌ ๋” ๋ณด๊ธฐ

๐Ÿฐ ํ•œ๋ˆˆ์— ๋ณด๋Š” ์ „์ฒด ํŒŒ์ดํ”„๋ผ์ธ

PLAINTEXT
[ํ”„๋กฌํ”„ํŠธ xprefix] โ”€โ–ถ โ‘  Mamba ๋“œ๋ž˜ํ”„ํ„ฐ(์™ธ๋ถ€) โ”€โ–ถ โ‘ก ํŠธ๋ฆฌ ์ดˆ์•ˆ(batch-cache) โ”€โ–ถ โ‘ข ๊ฒ€์ฆ(ํƒ€๊นƒ LLM) โ”€โ–ถ โ‘ฃ UCB๋กœ ํŠธ๋ฆฌ๊ตฌ์กฐ ์—…๋ฐ์ดํŠธ โ”€โ–ถ โ€ฆ ๋ฐ˜๋ณต
ํด๋ฆญํ•˜์—ฌ ๋” ๋ณด๊ธฐ

๊ด€์ „ ํฌ์ธํŠธ Mamba๋Š” ์„ ํ˜• ์ƒํƒœ ๊ณต๊ฐ„ ๋ชจ๋ธ(SSM) ์ด๋ผ โ€œํ˜„์žฌ ๋‹จ์ผ ์ƒํƒœ sโ€๋งŒ ์žˆ์œผ๋ฉด ๋œ๋‹ค โ†’ ํŠธ๋ฆฌ ํ™•์žฅ ์‹œ ์ƒํƒœ ๋ฒกํ„ฐ๋งŒ ๋ณต์‚ฌํ•˜๋ฉด ๋! Transformer์ฒ˜๋Ÿผ ์ˆ˜ ์ฒœ ร— d ํฌ๊ธฐ์˜ KV-cache๋ฅผ ๋ณต์ œํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค .


0๏ธโƒฃ ์šฉ์–ด & ๊ธฐํ˜ธ ์ •์˜

๊ธฐํ˜ธ๋œปtoy ๊ฐ’
xprefixํ”„๋กฌํ”„ํŠธ(๊ธฐ์กด ํ† ํฐ)"I like"
ฮณํ•œ ๋ฒˆ์— ๋ฏธ๋ฆฌ ๊ทธ๋ ค๋ณผ ์ดˆ์•ˆ ๊ธธ์ด2
MqMamba ๋“œ๋ž˜ํ”„ํ„ฐ (130 M)โ€”
Mpํƒ€๊นƒ LLM (7 B)โ€”
stMamba ๋‚ด๋ถ€ ์ƒํƒœ (ํฌ๊ธฐ 2)[0.3, 0.1]
T = (Nโ‚,โ€ฆ,Nฮณ)ํŠธ๋ฆฌ ๊ตฌ์„ฑ(๊นŠ์ด = ฮณ, ํญ N)(3, 2)

1๏ธโƒฃ Mamba ๋“œ๋ž˜ํ”„ํ„ฐ โ€• ํ•œ ์ค„์”ฉ ์˜ˆ์ธก

์ƒํƒœ ์—…๋ฐ์ดํŠธ(SSM) toy ๋ฒ„์ „

PLAINTEXT
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 ์ž…๋ ฅ

PLAINTEXT
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 ํŠธ๋ฆฌ ์˜ˆ์‹œ

PLAINTEXT
          sโ‚
       โ†™   โ†“    โ†˜          โ† 1 step, ํญ 3
     sโ‚‚a  sโ‚‚b  sโ‚‚c
    โ†™ โ†˜   โ†™ โ†˜   โ†™ โ†˜        โ† 2 step, ํญ 2
ํด๋ฆญํ•˜์—ฌ ๋” ๋ณด๊ธฐ
  1. ํ˜„์žฌ ์ƒํƒœ s ๋ณต์‚ฌํ•˜์—ฌ batch=[s,s,s].
  2. ๊ฐ ๋ณต์‚ฌ๋ณธ์—์„œ ๋…๋ฆฝ์ ์œผ๋กœ ๋‹ค์Œ ํ† ํฐ 2๊ฐœ(ฮณ=2)์”ฉ ์ƒ˜ํ”Œ โ†’ ์ด 3 ร— 2 = 6 ๊ฐœ ํ›„๋ณด.
  3. ๋“œ๋ž˜ํ”„ํŒ… ๋™์•ˆ ๋ฐฐ์น˜๋ณ„ 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

PLAINTEXT
์ดˆ์•ˆ "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 ์ •์ฑ…์ด

    PLAINTEXT
    k* = 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

  1. ์ž…๋ ฅ xprefix = "I like"

  2. ํŠธ๋ฆฌ ํ›„๋ณด ์„ ํƒ : UCB โ†’ T = (3,2)

  3. Step 1 (ํญ 3) โ†’ ["to","the","my"]

  4. Step 2 (ํญ 2) โ†’

    • from โ€œtoโ€ โ†’ ["eat","code"]
    • from โ€œtheโ€ โ†’ ["pizza","game"]
    • from โ€œmyโ€ โ†’ ["bike","cat"]
  5. ๊ฒ€์ฆ

    • โ€œtoโ€ โœ”๏ธŽ, โ€œeatโ€ โœ˜ โ†’ โ€œpizzaโ€ โœ”๏ธŽ
    • ์ดํ›„ ๋‹ค๋ฅธ ๊ฐ€์ง€ ๋ฌดํšจํ™”
  6. ์ถœ๋ ฅ ๋ˆ„์ : "I like to pizza โ€ฆ"

  7. UCB ์—…๋ฐ์ดํŠธ : (3,2) reward โ†‘ โ†’ ์„ ํƒ ํ™•๋ฅ  ๊ฐ€์ค‘

  8. ๋‹ค์Œ ๋ฃจํ”„ (ํ•„์š”ํ•˜๋ฉด ์ง„ํ–‰)

ํ•ต์‹ฌ์€ โ€œ์ƒํƒœ๋งŒ ๋ณต์‚ฌโ†’๋ฐฐ์น˜ ์ƒ์„ฑโ†’ํ•œ ๋ฒˆ์— ๊ฒ€์ฆโ†’๋ณด์ƒ์œผ๋กœ ๊ตฌ์กฐ ์ž๋™ ์ ์‘โ€ ์ด๋ผ๋Š” 4-๋‹จ๊ณ„ ํŒจํ„ด์ด๋‹ค.


๐Ÿ“ ์ •๋ฆฌ

  • ์„ ํ˜•-์ƒํƒœ Mamba ๋•๋ถ„์— O(ฮณ) ๋ณต์žก๋„๋กœ ๋“œ๋ž˜ํ”„ํŒ….
  • Batch-cache ํŠธ๋ฆฌ๊ฐ€ Transformer์˜ KV-cache ํญ์ฆ ์—†์ด ๋ณ‘๋ ฌ ํ›„๋ณด ์ƒ์„ฑ.
  • Algorithm 1 ๊ฒ€์ฆ์œผ๋กœ ๋ชฉํ‘œ LLM๊ณผ ์™„๋ฒฝํžˆ ๋™์ผํ•œ ๋ถ„ํฌ ์œ ์ง€.
  • UCB ๋ฐด๋”ง์œผ๋กœ ์ž…๋ ฅยท๊ณผ์ œ๋ณ„ ์ตœ์  ํŠธ๋ฆฌ ํญ/๊นŠ์ด๋ฅผ ๋Ÿฐํƒ€์ž„์— ํ•™์Šต.

์ด๋ ‡๊ฒŒ ํ•ด์„œ โ€œ์™ธ๋ถ€ ๋“œ๋ž˜ํ”„ํ„ฐ์˜ ๋ฒ”์šฉ์„ฑโ€ + โ€œSelf-spec ์˜ ์†๋„/๋ฉ”๋ชจ๋ฆฌโ€ ๋ฅผ ๋™์‹œ์— ๋‹ฌ์„ฑํ•œ๋‹ค.

ํ”„๋กฌํ”„ํŠธ 1.3.2 (‘๋น„๋ฐ€ ๋ณ‘๊ธฐ’ ์‹๋ณ„)

PLAINTEXT
"์ด ๋…ผ๋ฌธ์˜ ํ•ต์‹ฌ ๊ธฐ์—ฌ๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ๊ฐ€์žฅ ๊ฒฐ์ •์ ์ธ ๋‹จ์ผ ์ˆ˜ํ•™ ๊ณต์‹, ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋‹จ๊ณ„, ๋˜๋Š” ์•„ํ‚คํ…์ฒ˜ ๊ตฌ์„ฑ์š”์†Œ๋ฅผ ์‹๋ณ„ํ•ด ์ค˜. ๊ทธ๊ฒƒ์˜ ๊ธฐ๋Šฅ๊ณผ, ๊ทธ๊ฒƒ์ด ์ด ๋ฐฉ๋ฒ•๋ก ์˜ ์„ฑ๊ณต์— ์™œ ํ•„์ˆ˜์ ์ธ์ง€ ์„ค๋ช…ํ•ด ์ค˜."
ํด๋ฆญํ•˜์—ฌ ๋” ๋ณด๊ธฐ

๐Ÿ† โ€˜๋น„๋ฐ€ ๋ณ‘๊ธฐโ€™ โ€” 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 ๊ฒŒ์ดํŠธ)

์™œ ์ด ํ•œ ์ค„์ด ํ•ต์‹ฌ์ธ๊ฐ€?

  1. KV-์บ์‹œ๊ฐ€ ์‚ฌ๋ผ์ง„๋‹ค โ†’ ๋ฉ”๋ชจ๋ฆฌ O(1) Transformer ์™ธ๋ถ€ ๋“œ๋ž˜ํ”„ํ„ฐ๋Š” ๊ธธ์ด $L$๋งˆ๋‹ค $O(Ld)$ ํฌ๊ธฐ์˜ KV-cache๋ฅผ ๋ณต์‚ฌยท์œ ์ง€ํ•ด์•ผ ํ•œ๋‹ค. ๋ฐ˜๋ฉด Mamba๋Š” โ€œ$s_t$ ํ•˜๋‚˜๋งŒ ๋ณต์ œโ€ํ•˜๋ฉด ๋˜๋ฏ€๋กœ ํŠธ๋ฆฌ ํ™•์žฅ ์‹œ์—๋„ ์บ์‹œ ํญ๋ฐœ์ด ์—†์Œ .

  2. ํ† ํฐ๋งˆ๋‹ค ์—ฐ์‚ฐยท๋ฉ”๋ชจ๋ฆฌ O(1) โ†’ ์„ ํ˜•( $O(L)$ ) ์‹œ๊ฐ„ ์„ ํ˜• ์žฌ๊ท€๋Š” ๊ณฑ์…ˆ ๋ช‡ ๋ฒˆ์ด๋ฉด ๋์ด๋ผ ์ดˆ์•ˆ ๊ธธ์ด๊ฐ€ ๊ธธ์–ด์ ธ๋„ ๋“œ๋ž˜ํ”„ํŒ… ์ง€์—ฐ์ด ๊ฑฐ์˜ ์ฆ๊ฐ€ํ•˜์ง€ ์•Š๋Š”๋‹ค .

  3. โ€œ์ƒํƒœ ๋ณต์ œ๋งŒ์œผ๋กœ ๋ฐฐ์น˜-ํŠธ๋ฆฌ Draftingโ€ ๊ฐ€๋Šฅ ํŠธ๋ฆฌ์˜ ๊ฐ ์ž์‹ ๋…ธ๋“œ๊ฐ€ ๋ถ€๋ชจ์˜ $s_t$๋ฅผ ๊ทธ๋Œ€๋กœ ๋ณต์ œํ•ด ์‚ฌ์šฉํ•˜๋ฏ€๋กœ, Transformer์—์„œ ํ•„์ˆ˜์˜€๋˜ โ€˜ํŠธ๋ฆฌ-์–ดํ…์…˜โ€™ ๊ฐ™์€ ํŠน์ˆ˜ ์—ฐ์‚ฐ์ด ํ•„์š” ์—†๋‹ค .

  4. ์™ธ๋ถ€ ๋“œ๋ž˜ํ”„ํ„ฐ์ž„์—๋„ 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 (ํ•ต์‹ฌ ๊ฒฐ๊ณผ ๋ถ„์„)

PLAINTEXT
"'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
ECEExpected Calibration Error, ๋“œ๋ž˜ํ”„ํ„ฐ-ํƒ€๊นƒ ๋ถ„ํฌ ์ •ํ•ฉ๋„Figure 3 ์„ค๋ช…

์š”์•ฝ โ€” ์ €์ž๋“ค์€ โ€œ์†๋„(Throughput) โ†” ์ •ํ™•์„ฑ(Accept len) โ†” ์ž์›(LatencyยทMemory)โ€ ์„ธ ์ถ•์„ ๋™์‹œ์— ๊ฐœ์„ ํ–ˆ์Œ์„ ๊ฐ•์กฐํ•œ๋‹ค.


2. ํ‰๊ฐ€ ๋ฐ์ดํ„ฐ์…‹ (6 + LongBench)

์นดํ…Œ๊ณ ๋ฆฌ๋ฒค์น˜๋งˆํฌ์šฉ๋„
Pre-trainedXSum, CNN-DailyMail, GSM-8K์š”์•ฝยท์ผ๋ฐ˜ LMยท์ˆ˜ํ•™ ์ถ”๋ก 
Instruction-tunedMT-Bench, Alpaca, HumanEval๋Œ€ํ™”ยท์ผ๋ฐ˜ ์ง€์‹œ ์ˆ˜ํ–‰ยท์ฝ”๋“œ ์ƒ์„ฑ
Long ContextLongBench 6 ์ข… (NarrativeQA ๋“ฑ)1 k ~ 8 k ํ† ํฐ QA
Cross-targetMT-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.172 GB
Mamba (External)24.952 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. ์ €์ž๋“ค์ด ์ฃผ์žฅํ•˜๋Š” โ€˜์„ฑ๊ณต์˜ ์ฆ๊ฑฐโ€™

  1. ์†๋„ (Throughput): ๋ชจ๋“  ๋ฒค์น˜๋งˆํฌ์—์„œ Transformer drafter ๋Œ€๋น„ โ‰ฅ 2 ร—, Self-spec (EAGLE) ๋Œ€๋น„๋„ ๋น„์Šทํ•˜๊ฑฐ๋‚˜ ์šฐ์œ„ (ํŠนํžˆ HumanEval, GSM-8K).
  2. ์ž์› ์ ˆ๊ฐ: ๊ธด ์ปจํ…์ŠคํŠธ์—์„œ ์ตœ๋Œ€ 20 GB ๋ฉ”๋ชจ๋ฆฌ ์ ˆ๊ฐ + ํŠธ๋ฆฌ ํญ/๊นŠ์ด ๋Š˜๋ ค๋„ ์•ˆ์ •.
  3. ๋ฒ”์šฉ์„ฑ: ํƒ€๊นƒ ๋ชจ๋ธ์„ ๋ฐ”๊พธ์–ด๋„ ์žฌํ•™์Šต ์—†์ด ๋™์ผํ•œ ๊ฐ€์† ํšจ๊ณผ (Cross-target ์‹คํ—˜).
  4. ์ถ”๊ฐ€ ์ตœ์ ํ™” ์—ฌ์ง€: ํ…Œ์ŠคํŠธ-ํƒ€์ž„ MAB ํƒ์ƒ‰์œผ๋กœ โ€œ+5 ~ 10 % ๋ฌด๋ฃŒ ๊ฐ€์†โ€ ํ™•๋ณด.

๐Ÿ“ ์ •๋ฆฌ โ€” ๋ฌด์—‡์„ ์ฆ๋ช…ํ–ˆ๋‚˜?

  • ์„ ํ˜•-์ƒํƒœ SSM ๋“œ๋ž˜ํ”„ํ„ฐ ํ•˜๋‚˜๋งŒ์œผ๋กœ Transformer drafter์˜ ์†๋„ยท๋ฉ”๋ชจ๋ฆฌ ๋ณ‘๋ชฉ์„ ํ•ด์†Œํ–ˆ๊ณ ,
  • self-spec ์ˆ˜์ค€์˜ ์„ฑ๋Šฅ์„ ํ•™์Šต ๋น„์šฉ ์—†์ด ๋‹ฌ์„ฑ,
  • ํŠธ๋ฆฌ + ๋ฐด๋”ง์œผ๋กœ ๋ฐ์ดํ„ฐยทํ”„๋กฌํ”„ํŠธ ๋ณ„ ๋™์  ์ตœ์ ํ™”๊นŒ์ง€ ๊ฐ€๋Šฅํ•จ์„ ์‹คํ—˜์œผ๋กœ ๋’ท๋ฐ›์นจํ–ˆ๋‹ค.

์ฆ‰, โ€œ๋ฒ”์šฉ plug-and-play ์™ธ๋ถ€ ๋“œ๋ž˜ํ”„ํ„ฐ๊ฐ€ Self-spec ๋Œ€๋น„ ํšจ์œจยท์œ ์—ฐ์„ฑ์„ ๋™์‹œ์— ์žก์„ ์ˆ˜ ์žˆ๋‹คโ€๋Š” ๊ฒƒ์ด ์ €์ž๋“ค์ด ๊ฐ•์กฐํ•˜๋Š” ํ•ต์‹ฌ ๋ฉ”์‹œ์ง€๋‹ค.

ํ”„๋กฌํ”„ํŠธ 1.4.2 (๋น„ํŒ์  ๋น„๊ต)

PLAINTEXT
"์ œ์•ˆ๋œ ๋ฐฉ๋ฒ•๋ก ์€ ๋…ผ๋ฌธ์—์„œ ์–ธ๊ธ‰๋œ ์ฃผ์š” ๋ฒ ์ด์Šค๋ผ์ธ ๋ฐ 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-specHumanEval +41 % (172 vs 122); MT-bench โ‰ˆ ๋™๊ธ‰; Alpaca โˆ’3 pts์šฐ์œ„ (์ฝ”๋“œ), ๋น„์Šท(๋Œ€ํ™”), ๊ทผ์†Œ ์—ด์œ„(Alpaca)
Instruction-tuned, Mistral-7 B ํƒ€๊นƒEAGLEMT-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 (ํ›ˆ๋ จ ็„ก)์žฌํ•™์Šต ์—†์ด ๋™๊ธ‰

๊ฐ€์žฅ ๊ฐ•๋ ฅํ•œ ์ฆ๊ฑฐ

  1. GSM-8K ์ƒ˜ํ”Œ๋ง์—์„œ 2 ร— ๋น ๋ฅธ ํ† ํฐ ์ฒ˜๋ฆฌ๋Ÿ‰์œผ๋กœ Transformer ๋Œ€์•ˆ์„ ์ผ๊ฑฐ์— ์••๋„
  2. HumanEval ์ฝ”๋“œ ์ƒ์„ฑ์—์„œ EAGLE ๋Œ€๋น„ 41 % ๊ฐ€์† โ€” self-spec์กฐ์ฐจ ๋„˜์—ˆ๋‹ค
  3. 8 k ํ† ํฐ LongBench์—์„œ ๋™์ผ ์†๋„ + ํ”ผํฌ ๋ฉ”๋ชจ๋ฆฌ 52 GB(๋Œ€ 72 GB) โ€” ๊ธด ๋ฌธ๋งฅ ์‹ค์‚ฌ์šฉ ์žฅ์  ์ž…์ฆ
  4. ํ…Œ์ŠคํŠธ-ํƒ€์ž„ ๋ฐด๋”ง ํŠธ๋ฆฌ ํƒ์ƒ‰์œผ๋กœ ์ถ”๊ฐ€ 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 133self-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 (์–ธ๊ธ‰๋œ ํ•œ๊ณ„์™€ ์ž ์žฌ์  ํ•œ๊ณ„)

PLAINTEXT
"์ €์ž๋“ค์ด ๋…ผ๋ฌธ์—์„œ ๋ช…์‹œ์ ์œผ๋กœ ์ธ์ •ํ•œ ํ•œ๊ณ„์ , ์•ฝ์ , ๋˜๋Š” ์‹คํŒจ ์‚ฌ๋ก€(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 (๋ฏธ๋ž˜ ์—ฐ๊ตฌ ๊ถค์ )

PLAINTEXT
"์ €์ž๋“ค์ด ์ œ์•ˆํ•˜๋Š” ๊ตฌ์ฒด์ ์ธ ํ–ฅํ›„ ์—ฐ๊ตฌ ๋ฐฉํ–ฅ์€ ๋ฌด์—‡์ธ๊ฐ€? ์ด ๋…ผ๋ฌธ์˜ ํ•œ๊ณ„์ ์„ ๋ฐ”ํƒ•์œผ๋กœ, ์ด ์—ฐ๊ตฌ๋ฅผ ๋ฐœ์ „์‹œํ‚ค๊ฑฐ๋‚˜ ์•ฝ์ ์„ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•ด ์ถ”๊ตฌํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค๋ฅธ ๋…ผ๋ฆฌ์ ์ธ ๋‹ค์Œ ๋‹จ๊ณ„๋‚˜ ๋Œ€์•ˆ์ ์ธ ์—ฐ๊ตฌ ๋ฐฉํ–ฅ์€ ๋ฌด์—‡์ด ์žˆ์„๊นŒ?"
ํด๋ฆญํ•˜์—ฌ ๋” ๋ณด๊ธฐ

๐Ÿ”ญ ์ €์ž๋“ค์ด ๋ช…์‹œํ•œ โ€˜๋‹ค์Œ ์Šคํ…โ€™ (๋…ผ๋ฌธ 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 ๋“œ๋ž˜ํ”„ํ„ฐโ€ โ†’ โ€œ์ €๋น„์šฉ ยท ์ดˆ์ง€์—ฐํ˜• ยท ๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ-์„ธ์ดํ”„ํ‹ฐ ํ†ตํ•ฉ ์†”๋ฃจ์…˜โ€**์œผ๋กœ๊นŒ์ง€ ์ง„ํ™”ํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค.

๋ผ์ด์„ ์Šค

์ €์ž‘์ž: Jaehun Ryu

๋งํฌ: https://jaehun.me/posts/mamba-drafters-for-speculative-decoding/

๋ผ์ด์„ ์Šค: CC BY 4.0

์ด ์ €์ž‘๋ฌผ์€ ํฌ๋ฆฌ์—์ดํ‹ฐ๋ธŒ ์ปค๋จผ์ฆˆ ์ €์ž‘์žํ‘œ์‹œ 4.0 ๊ตญ์ œ ๋ผ์ด์„ ์Šค์— ๋”ฐ๋ผ ์ด์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ถœ์ฒ˜๋ฅผ ๋ฐํžˆ๋ฉด ์ƒ์—…์  ๋ชฉ์ ์„ ํฌํ•จํ•ด ์ž์œ ๋กญ๊ฒŒ ์ด์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

๋Œ“๊ธ€

๊ฒ€์ƒ‰ ์‹œ์ž‘

๊ฒ€์ƒ‰์–ด๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”

โ†‘โ†“
โ†ต
ESC
โŒ˜K ๋‹จ์ถ•ํ‚ค