๐Ÿ“บ ์˜์ƒ ์š”์•ฝ ์•„์นด์ด๋ธŒ
โ† ๋ชฉ๋ก

Is Speculative Decoding Worth It? Profiling vLLM on NVIDIA Blackwell โ€” Akamai

AI Engineer ยท 2026-10-07 07:30 ยท 15:17

ํ•œ ์ค„ ํ•ต์‹ฌ

speculative decoding์€ ์ถ”๋ก  ์ง€์—ฐ์„ ์ค„์ผ ์ˆ˜ ์žˆ์ง€๋งŒ, ์ถ”๊ฐ€ ๋ชจ๋ธ ๋ฉ”๋ชจ๋ฆฌ์™€ ์ž‘์—… ํŠน์„ฑ์— ๋”ฐ๋ผ ํšจ๊ณผ๊ฐ€ ํฌ๊ฒŒ ๋‹ฌ๋ผ์ ธ ์›Œํฌ๋กœ๋“œ๋ณ„๋กœ ๋”ฐ์ ธ๋ด์•ผ ํ•œ๋‹ค.

์‹œ๊ฐ„๋ณ„ ์š”์•ฝ

  1. 0:00
    ์†Œ๊ฐœ speculative decoding์ด ์‹ค์ œ ์›Œํฌ๋กœ๋“œ์—์„œ ์ผค ๋งŒํ•œ ๊ฐ€์น˜๊ฐ€ ์žˆ๋Š”์ง€ ํŒ๋‹จํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋‹ค๋ฃฌ๋‹ค.
  2. 0:37
    Prefill๊ณผ decode LLM ์š”์ฒญ์€ ์ž…๋ ฅ์„ ์ฝ์–ด KV cache๋ฅผ ๋งŒ๋“œ๋Š” prefill๊ณผ, ์ด์ „ ํ† ํฐ์— ์˜์กดํ•ด ํ•œ ํ† ํฐ์”ฉ ๋‹ต์„ ์ƒ์„ฑํ•˜๋Š” decode๋กœ ๋‚˜๋‰œ๋‹ค. ๊ธด ๋‹ต๋ณ€์„ ์ƒ์„ฑํ•˜๋Š” ๊ณผ์ •์€ ๋งŽ์€ forward pass๊ฐ€ ํ•„์š”ํ•ด ์ง€์—ฐ ๋น„์šฉ์ด ์ปค์ง„๋‹ค.
  3. 1:37
    speculative decoding์˜ ๊ฐœ๋… ์ž‘์€ draft model์ด ๋จผ์ € ๋ช‡ ๊ฐœ์˜ ํ† ํฐ์„ ์˜ˆ์ธกํ•˜๊ณ , ํฐ target model์ด ์ด๋ฅผ ํ•œ ๋ฒˆ์— ๊ฒ€์ฆํ•ด ์Šน์ธํ•˜๊ฑฐ๋‚˜ ๊ฑฐ์ ˆํ•œ๋‹ค. ๋” ์ž‘์€ ๋ชจ๋ธ์ด ์ดˆ์•ˆ ์ƒ์„ฑ์„ ๋งก์•„๋„ ์ตœ์ข… ์ถœ๋ ฅ์€ target model์ด ๊ฒ€์ฆํ•˜๋ฏ€๋กœ ํ’ˆ์งˆ์„ ์œ ์ง€ํ•˜๋ฉด์„œ ์ƒ์„ฑ ๋น„์šฉ์„ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค.
  4. 2:42
    ๋น„์šฉ: ๋‘ ๋ชจ๋ธ์„ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ ค์•ผ ํ•จ ํšจ๊ณผ๊ฐ€ ์žˆ๋”๋ผ๋„ ๋‘ ๊ฐœ์˜ ๋ชจ๋ธ๊ณผ ๋‘ ๋ชจ๋ธ์˜ KV cache ๊ณต๊ฐ„์„ ๋™์‹œ์— ํ™•๋ณดํ•ด์•ผ ํ•˜๋ฏ€๋กœ VRAM ๋น„์šฉ์ด ์ถ”๊ฐ€๋œ๋‹ค. GPU ์—ฌ์œ ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ์— ๊ณ ๋ คํ•  ๋งŒํ•˜๊ณ , ์ด๋ฏธ ๊ณ ๋™์‹œ์„ฑ์œผ๋กœ ๊ฝ‰ ์ฐฌ ํ™˜๊ฒฝ์—์„œ๋Š” ์˜คํžˆ๋ ค ๋งž์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋‹ค.
  5. 3:26
    draft model ์„ ํƒ draft model์€ target model์— ๋น„ํ•ด ์ถฉ๋ถ„ํžˆ ์ž‘์œผ๋ฉด์„œ๋„ ์˜ˆ์ธก ์ •ํ™•๋„์™€ ์†๋„๊ฐ€ ๋ชจ๋‘ ์ข‹์•„์•ผ ํ•œ๋‹ค. ๊ฒฐ๊ตญ ๋น„์šฉ, ์ •ํ™•๋„, ์†๋„์˜ ๊ท ํ˜•์„ ๋งž์ถ”๋Š” ์„ ํƒ์ด ํ•ต์‹ฌ์ด๋‹ค.
  6. 3:56
    ํ•œ ์žฅ์˜ Blackwell GPU์—์„œ์˜ ๋ฐ๋ชจ ์„ค์ • ํ•œ ์žฅ์˜ Blackwell GPU์—์„œ baseline๊ณผ speculative decoding ์„œ๋ฒ„๋ฅผ ํ•จ๊ป˜ ๋Œ๋ฆฌ๊ธฐ ์œ„ํ•ด ์ž‘์€ draft model์„ ๊ณจ๋ž๋‹ค. baseline์€ ์•ฝ 16GB, draft model์€ 2.5GB๋ฅผ ์‚ฌ์šฉํ•ด KV cache๋ฅผ ์œ„ํ•œ ์—ฌ์œ ๋ฅผ ๋‚จ๊ฒผ๊ณ , ๊ฐ™์€ tokenizer์™€ ๊ฐ€๋Šฅํ•˜๋ฉด ๊ฐ™์€ ๊ณ„์—ด ๋ชจ๋ธ์„ ์“ฐ๋Š” ์กฐ๊ฑด๋„ ์ค‘์š”ํ–ˆ๋‹ค.
  7. 5:41
    ์ด๋“์ด ํฐ ์›Œํฌ๋กœ๋“œ structured output์ฒ˜๋Ÿผ ๋‹ค์Œ ํ† ํฐ์˜ ํ˜•ํƒœ๊ฐ€ ๋น„๊ต์  ์˜ˆ์ธก ๊ฐ€๋Šฅํ•œ ์ž‘์—…์—์„œ ํšจ๊ณผ๊ฐ€ ํฌ๋‹ค. ๋ฐ˜๋Œ€๋กœ ์‹œ, ๋ธŒ๋ ˆ์ธ์Šคํ† ๋ฐ ๊ฐ™์€ ์ฐฝ์˜์  ์ž‘์—…์€ ๋‹ค์Œ ํ† ํฐ์˜ ๋ณ€๋™์„ฑ์ด ์ปค์„œ ์ด๋“์ด ์ค„์–ด๋“ ๋‹ค.
  8. 6:21
    ๋ฐ๋ชจ: ๊ตฌ์กฐํ™”๋œ ์ถœ๋ ฅ ๊ตฌ์กฐํ™”๋œ ์ถœ๋ ฅ ์ž‘์—…์—์„œ acceptance rate๋ฅผ ๋น„๊ตํ•˜๋Š” ๋ฐ๋ชจ๋ฅผ ์‹œ๋„ํ–ˆ์ง€๋งŒ, ์„œ๋ฒ„ ์žฌ์‹œ์ž‘ ๋“ฑ ๊ธฐ์ˆ ์  ๋ฌธ์ œ๋กœ ๋ฐ”๋กœ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์—ฌ์ฃผ์ง€๋Š” ๋ชปํ–ˆ๋‹ค. ๊ทธ๋ž˜๋„ ์˜๋„๋Š” ์ž‘์—… ์œ ํ˜•์— ๋”ฐ๋ผ ํ† ํฐ ์Šน์ธ์œจ์ด ์–ด๋–ป๊ฒŒ ๋‹ฌ๋ผ์ง€๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋ฐ ์žˆ์—ˆ๋‹ค.
  9. 9:00
    ๋ฐ๋ชจ: 1.6๋ฐฐ ๋” ๋น ๋ฆ„ speculative decoding์„ ์ผ  ์ชฝ์ด ์•ฝ 1.6๋ฐฐ ๋” ๋น ๋ฅด๊ฒŒ ๋™์ž‘ํ–ˆ๊ณ , ๋†’์€ acceptance rate๊ฐ€ ์„ฑ๋Šฅ ํ–ฅ์ƒ์˜ ํ•ต์‹ฌ์œผ๋กœ ์ œ์‹œ๋๋‹ค. ์Šน์ธ๋œ ํ† ํฐ ๋น„์œจ์ด ๋†’์„์ˆ˜๋ก ์ฒ˜๋ฆฌ๋Ÿ‰๋„ ํ•จ๊ป˜ ์ข‹์•„์ง„๋‹ค.
  10. 9:50
    ๋ฐ๋ชจ: ์ฐฝ์˜์  ๊ธ€์“ฐ๊ธฐ ์ฐฝ์˜์  ๊ธ€์“ฐ๊ธฐ์ฒ˜๋Ÿผ temperature๊ฐ€ ๋†’๊ณ  ๋‹ค์Œ ํ† ํฐ์˜ ๋‹ค์–‘์„ฑ์ด ํฐ ์ž‘์—…์—์„œ๋Š” acceptance rate๊ฐ€ ๋‚ฎ์•„์กŒ๋‹ค. ์ด ๊ฒฝ์šฐ speculative decoding์˜ ์ด์ ์ด ์ค„์–ด๋“ค๊ณ  ํ† ํฐ๋‹น ์ฒ˜๋ฆฌ ํšจ์œจ ๊ฐœ์„ ๋„ ์ œํ•œ์ ์ด๋‹ค.
  11. 10:55
    ๊ธด ์ปจํ…์ŠคํŠธ๋Š” ์ด๋“์„ ์ œํ•œํ•จ speculative decoding์€ ํ† ํฐ ์ƒ์„ฑ ์†๋„๋ฅผ ๋†’์ด์ง€๋งŒ, ๊ธด ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ฝ๊ณ  KV cache๋ฅผ ๋งŒ๋“œ๋Š” prefill ์ž์ฒด๋ฅผ ์ค„์ด์ง€๋Š” ๋ชปํ•œ๋‹ค. ๋”ฐ๋ผ์„œ RAG๋‚˜ ๊ธด ๋ฌธ์„œ ๋ถ„์„์ฒ˜๋Ÿผ ์ž…๋ ฅ ์ปจํ…์ŠคํŠธ๊ฐ€ ํฐ ์ž‘์—…์—์„œ๋Š” ๊ธฐ๋Œ€ํ•œ ๋งŒํผ ๋นจ๋ผ์ง€์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋‹ค.
  12. 11:50
    ์ฒดํฌ๋ฆฌ์ŠคํŠธ ์›Œํฌ๋กœ๋“œ๊ฐ€ ๊ตฌ์กฐ์ ์ธ์ง€, VRAM ์—ฌ์œ ๊ฐ€ ์žˆ๋Š”์ง€, ์ฐฝ์˜์  ์ƒ์„ฑ์ธ์ง€, ๋™์‹œ์„ฑ์ด ๋†’์€์ง€, ๋ฐฐ์น˜๊ฐ€ ์ž‘์€์ง€ ๋“ฑ์„ ๊ธฐ์ค€์œผ๋กœ ์ ์šฉ ์—ฌ๋ถ€๋ฅผ ํŒ๋‹จํ•ด์•ผ ํ•œ๋‹ค. ์š”์•ฝํ•˜๋ฉด ๋ชจ๋“  ์ž‘์—…์— ์œ ๋ฆฌํ•œ ๊ธฐ์ˆ ์ด ์•„๋‹ˆ๋ผ ์กฐ๊ฑด์ด ๋งž์„ ๋•Œ๋งŒ ํšจ์œจ์ด ๋‚˜๋Š” ์ตœ์ ํ™”๋‹ค.
  13. 12:39
    Q&A: ๋„๊ตฌ์™€ ์ž๋ฃŒ ๊ตฌํ˜„ ๋„๊ตฌ๋กœ๋Š” vLLM์„ ์‚ฌ์šฉํ–ˆ๊ณ , ๋” ๋ฐœ์ „๋œ ๋ฐฉ์‹์œผ๋กœ๋Š” medusa์™€ eagle ๊ฐ™์€ ์ ‘๊ทผ์ด ์–ธ๊ธ‰๋๋‹ค. ์‹œ์ž‘ํ•  ๋•Œ๋Š” vLLM ๋ฌธ์„œ์™€ ๊ด€๋ จ ๋ธ”๋กœ๊ทธ, ์—ฐ๊ตฌ ๋…ผ๋ฌธ์„ ์ฐธ๊ณ ํ•  ์ˆ˜ ์žˆ๊ณ , Akamai์˜ GitHub์™€ Discord์—์„œ๋„ ์ž๋ฃŒ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค.

์‹ค๋ฌด ์ธ์‚ฌ์ดํŠธ

  • speculative decoding์€ ํ‰๊ท  ์ง€์—ฐ์„ ์ค„์ด์ง€๋งŒ, ์‹ค์ œ ๋„์ž… ํŒ๋‹จ์€ acceptance rate์™€ VRAM ์—ฌ์œ ๋ฅผ ํ•จ๊ป˜ ๋ด์•ผ ํ•œ๋‹ค.
  • structured output, ์ฝ”๋“œ, JSON, SQL์ฒ˜๋Ÿผ ์ถœ๋ ฅ ํ˜•์‹์ด ์˜ˆ์ธก ๊ฐ€๋Šฅํ•œ ์—…๋ฌด์—์„œ ์šฐ์„  ์‹œํ—˜ํ•ด๋ณด๋Š” ๊ฒƒ์ด ํšจ์œจ์ ์ด๋‹ค.
  • ๊ธด ์ปจํ…์ŠคํŠธ ์ค‘์‹ฌ ์—…๋ฌด๋ผ๋ฉด speculative decoding๋ณด๋‹ค prefill ์ตœ์ ํ™”๋‚˜ RAG ๊ตฌ์„ฑ ๊ฐœ์„ ์ด ๋” ํฐ ํšจ๊ณผ๋ฅผ ๋‚ผ ์ˆ˜ ์žˆ๋‹ค.