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

Deep dive on LLM Inference at Scale โ€” Harshul Jain, Audible & Tanmay Sah, Independent AI Researcher

AI Engineer ยท 2026-09-09 00:00 ยท 1:28:12

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

LLM ์ถ”๋ก  ๋น„์šฉ์€ ๋ฉ”๋ชจ๋ฆฌ, ์ฒซ ํ† ํฐ ์ง€์—ฐ, ์ฒ˜๋ฆฌ๋Ÿ‰์˜ ์ œ์•ฝ์—์„œ ๋น„๋กฏ๋˜๋ฉฐ, ๋ชจ๋ธ ์••์ถ•๊ณผ ์„œ๋น™ ์ตœ์ ํ™”๋ฅผ ํ•จ๊ป˜ ์ ์šฉํ•ด GPU๋‹น ์ˆ˜์šฉ๋Ÿ‰๊ณผ ๋น„์šฉ ํšจ์œจ์„ ๋™์‹œ์— ๋Œ์–ด์˜ฌ๋ ค์•ผ ํ•œ๋‹ค.

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

  1. 0:00
    ์†Œ๊ฐœ์™€ ์›Œํฌ์ˆ ๋ฒ”์œ„ LLM inference๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ ์ดํ•ดํ•˜๊ณ  ์—…๊ณ„์—์„œ ์‹ค์ œ๋กœ ๋ฌด์—‡์ด ๋ณ‘๋ชฉ์ธ์ง€ ํŒŒ์•…ํ•˜๋Š” ๊ฒƒ์ด ๋ชฉํ‘œ์ด๋ฉฐ, ์ดˆ๊ธ‰๋ถ€ํ„ฐ ์ค‘๊ธ‰๊นŒ์ง€๋ฅผ ๋Œ€์ƒ์œผ๋กœ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์˜ ์Šฌ๋ผ์ด๋“œ์™€ ์‹ค์Šต ์ž๋ฃŒ๋ฅผ ํ•จ๊ป˜ ํ™œ์šฉํ•œ๋‹ค.
  2. 2:43
    LLM ์ถ”๋ก ์ด ๋ฌด์—‡์ด๋ฉฐ ์™œ ๋น„์šฉ์ด ํฐ๊ฐ€ LLM inference๋Š” ํ…์ŠคํŠธ, ์˜ค๋””์˜ค, ์˜์ƒ ๋ถ„์„ ๊ฐ™์€ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ์‹คํ–‰ ๋‹จ๊ณ„์ด๋ฉฐ, ํ•™์Šต๋ณด๋‹ค ํ›จ์”ฌ ํฐ ๋ฐ˜๋ณต ์šด์˜๋น„๊ฐ€ ๋“ค์–ด์„œ ํ† ํฐ ์‚ฌ์šฉ๋Ÿ‰๊ณผ ์ถ”๋ก  ํšจ์œจ์„ ๊ด€๋ฆฌํ•˜์ง€ ์•Š์œผ๋ฉด ๋น„์ฆˆ๋‹ˆ์Šค๊ฐ€ ์†์ต๋ถ„๊ธฐ์ ์„ ๋„˜๊ธฐ๊ธฐ ์–ด๋ ต๋‹ค.
  3. 5:21
    ๋ฆฌํฌ์ง€ํ† ๋ฆฌ, ์Šฌ๋ผ์ด๋“œ, ๋ฌด๋ฃŒ GPU ๋…ธํŠธ๋ถ ๊นƒํ—ˆ๋ธŒ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์—๋Š” ์Šฌ๋ผ์ด๋“œ, ๋ฒค์น˜๋งˆํฌ ๋ณด๊ณ ์„œ, Jupyter notebook์ด ์ •๋ฆฌ๋˜์–ด ์žˆ๊ณ , ๋ฌด๋ฃŒ RTX 6000 GPU ํ™˜๊ฒฝ์„ ํ†ตํ•ด ์‹ค์ œ๋กœ ๋ชจ๋ธ์„ ์˜ฌ๋ฆฌ๊ณ  GPU ๋ฉ”๋ชจ๋ฆฌ์™€ ์‹คํ–‰ ๊ฒฐ๊ณผ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
  4. 8:23
    ์„ธ ๊ฐ€์ง€ ๋ณ‘๋ชฉ: ๋ฉ”๋ชจ๋ฆฌ, ์ฒซ ํ† ํฐ, ์ฒ˜๋ฆฌ๋Ÿ‰ ์ปจํ…์ŠคํŠธ๊ฐ€ ๊ธธ์–ด์งˆ์ˆ˜๋ก KV cache ๋•Œ๋ฌธ์— ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋Š˜๊ณ , prefill์ด ๊ธธ์–ด์ ธ TTFT๊ฐ€ ์•…ํ™”๋˜๋ฉฐ, ๋‹จ์ˆœ ๊ตฌํ˜„์—์„œ๋Š” ์š”์ฒญ์ด ์ˆœ์ฐจ ์ฒ˜๋ฆฌ๋˜์–ด throughput์ด ๊ธ‰๊ฒฉํžˆ ๋–จ์–ด์ง„๋‹ค.
  5. 12:18
    ๊ธฐ์ดˆ: ํŒŒ์ดํ”„๋ผ์ธ๊ณผ attention ๊ณ„์ธต ์ถ”๋ก  ํŒŒ์ดํ”„๋ผ์ธ์€ ํ† ํฐํ™”, ์ž„๋ฒ ๋”ฉ, transformer ์ธต, ๋‹ค์Œ ํ† ํฐ ์ƒ์„ฑ์˜ ๋ฐ˜๋ณต์œผ๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ, ๋Œ€๋ถ€๋ถ„์˜ ๊ณ„์‚ฐ์€ transformer์™€ ๊ทธ ์•ˆ์˜ attention์—์„œ ๋ฐœ์ƒํ•˜๋ฏ€๋กœ ๋ณ‘๋ชฉ์˜ ์›์ธ์„ attention ๊ด€์ ์—์„œ ๋ด์•ผ ํ•œ๋‹ค.
  6. 14:53
    KV cache ์ˆ˜ํ•™๊ณผ GPU ๋ฉ”๋ชจ๋ฆฌ ๋ถ„๋ฐฐ ํ† ํฐ๋‹น KV ํฌ๊ธฐ๋Š” ๋ชจ๋ธ ๊ตฌ์กฐ์— ๋”ฐ๋ผ ๊ณ ์ •์ ์œผ๋กœ ์ปค์ง€๋ฉฐ, ์ปจํ…์ŠคํŠธ ๊ธธ์ด์™€ ๋™์‹œ ์‚ฌ์šฉ์ž ์ˆ˜๊ฐ€ ๋Š˜์ˆ˜๋ก GPU์˜ ๋‚จ์€ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋น ๋ฅด๊ฒŒ ์†Œ์ง„๋œ๋‹ค. ๋”ฐ๋ผ์„œ model weights์™€ ๊ณ ์ • ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€ ๊ณต๊ฐ„์„ KV cache๊ฐ€ ์–ด๋–ป๊ฒŒ ์ ์œ ํ•˜๋Š”์ง€ ๊ณ„์‚ฐํ•ด์•ผ ํ•œ๋‹ค.
  7. 20:41
    Prefill๊ณผ decode, ๊ทธ๋ฆฌ๊ณ  decode๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ ๋ณ‘๋ชฉ์ธ ์ด์œ  prefill์€ ์ž…๋ ฅ ์ „์ฒด์— ๋Œ€ํ•œ KV ์ƒ์„ฑ๊ณผ attention ๊ณ„์‚ฐ์„ ํ•œ ๋ฒˆ์— ์ˆ˜ํ–‰ํ•˜๋Š” ๊ณ„์‚ฐ ์ง‘์•ฝ ๋‹จ๊ณ„๋ผ TTFT๋ฅผ ๊ฒฐ์ •ํ•˜๊ณ , decode๋Š” ๋งค ํ† ํฐ๋งˆ๋‹ค ์ด์ „ KV๋ฅผ ๊ณ„์† ์ฝ์–ด์™€์•ผ ํ•ด์„œ ๊ณ„์‚ฐ๋ณด๋‹ค ๋ฉ”๋ชจ๋ฆฌ ๋Œ€์—ญํญ์— ๋” ํฌ๊ฒŒ ๋ฌถ์ธ๋‹ค.
  8. 28:41
    ์ฒ˜๋ฆฌ๋Ÿ‰, ๋™์‹œ์„ฑ, ๊ทธ๋ฆฌ๊ณ  ํŠธ๋ ˆ์ด๋“œ์˜คํ”„ ์‚ผ๊ฐํ˜• ์ปจํ…์ŠคํŠธ ๊ธธ์ด, ๋™์‹œ ์‚ฌ์šฉ์ž ์ˆ˜, ์ง€์—ฐ์‹œ๊ฐ„์€ ๋™์‹œ์— ์ตœ์ ํ™”ํ•˜๊ธฐ ์–ด๋ ต๊ณ , ํ•˜๋‚˜๋ฅผ ํ‚ค์šฐ๋ฉด ๋‹ค๋ฅธ ํ•˜๋‚˜๋ฅผ ์ค„์—ฌ์•ผ ํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ์ฑ—๋ด‡, ๋น„๋™๊ธฐ agent ์ž‘์—…์ฒ˜๋Ÿผ ์›Œํฌ๋กœ๋“œ ์„ฑ๊ฒฉ์— ๋”ฐ๋ผ ํ’ˆ์งˆยท์ง€์—ฐยท์ฒ˜๋ฆฌ๋Ÿ‰์˜ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๋‹ค๋ฅด๊ฒŒ ์žก์•„์•ผ ํ•œ๋‹ค.
  9. 34:02
    ์šฉ๋Ÿ‰ ๊ณ„์‚ฐ๊ธฐ์™€ GPU ์„ ํƒ GPU ์„ ํƒ์€ ๋ชฉํ‘œ ์ง€์—ฐ์‹œ๊ฐ„, ์ตœ์†Œ ๋™์‹œ ๋ฐฐ์น˜, ํ—ˆ์šฉ ๊ฐ€๋Šฅํ•œ ์ปจํ…์ŠคํŠธ ๊ธธ์ด๋ฅผ ๋จผ์ € ๊ณ ์ •ํ•œ ๋’ค ์—ญ์‚ฐํ•ด์•ผ ํ•œ๋‹ค. ๊ฒ‰๋ณด๊ธฐ ๋น„์šฉ์ด ๋” ๋น„์‹ผ GPU๋ผ๋„ ์‹ค์ œ๋กœ๋Š” ๋” ๋งŽ์€ ํ† ํฐ์„ ์ฒ˜๋ฆฌํ•ด cost per million tokens๊ฐ€ ๋” ๋‚ฎ์•„์งˆ ์ˆ˜ ์žˆ๋‹ค.
  10. 37:10
    ๋ชจ๋ธ ์ตœ์ ํ™”, quantization, attention ๋ณ€ํ˜• ๋ชจ๋ธ ํฌ๊ธฐ๋Š” FP16, int8, int4, NF4 ๊ฐ™์€ quantization์œผ๋กœ ์ค„์ผ ์ˆ˜ ์žˆ๊ณ , attention์€ multi-head attention์—์„œ grouped query attention, multi-query attention, multi-head latent attention, sparse attention์œผ๋กœ ์ง„ํ™”ํ•˜๋ฉฐ ๋ฉ”๋ชจ๋ฆฌ์™€ ๊ณ„์‚ฐ๋Ÿ‰์„ ์ค„์ธ๋‹ค.
  11. 48:04
    Flash attention, ์ ์ˆ˜ํ‘œ, ๋ฐ๋ชจ Flash attention์€ ํฐ attention ํ–‰๋ ฌ์„ ์ž‘์€ tile๋กœ ์ชผ๊ฐœ HBM๊ณผ shared memory ์ด๋™์„ ์ค„์—ฌ ๋” ํšจ์œจ์ ์œผ๋กœ softmax์™€ ํ–‰๋ ฌ๊ณฑ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. ๋˜ํ•œ attention ๋ณ€ํ˜•๋“ค์€ ํ’ˆ์งˆ๊ณผ ์••์ถ•๋ฅ , ๋ณ‘๋ ฌ์„ฑ์˜ ๊ท ํ˜•์ด ๋‹ค๋ฅด๋ฉฐ, ์‹ค์ œ ๋ฐ๋ชจ์—์„œ๋Š” MLA๊ฐ€ ์ƒ๋‹นํ•œ ๋ฉ”๋ชจ๋ฆฌ ์ ˆ๊ฐ ํšจ๊ณผ๋ฅผ ๋ณด์ธ๋‹ค.
  12. 1:00:14
    ์„œ๋น™ ์ตœ์ ํ™”, paging, batching, caching ์„œ๋น™ ์ธก๋ฉด์—์„œ๋Š” KV cache๋ฅผ ํ™œ์šฉํ•ด ์ค‘๋ณต ๊ณ„์‚ฐ์„ ์ค„์ด๊ณ , paging์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ ๋‹จํŽธํ™”๋ฅผ ์™„ํ™”ํ•˜๋ฉฐ, continuous batching์œผ๋กœ GPU ์œ ํœด ์‹œ๊ฐ„์„ ์ค„์ธ๋‹ค. prefix caching๊ณผ KV quantization์€ ๋ฐ˜๋ณต ์š”์ฒญ๊ณผ ์บ์‹œ ํฌ๊ธฐ ๋ฌธ์ œ๋ฅผ ์™„ํ™”ํ•œ๋‹ค.
  13. 1:06:12
    vLLM ๋ฒค์น˜๋งˆํ‚น๊ณผ speculative decoding vLLM์€ ๊ธฐ๋ณธ์ ์œผ๋กœ paging, continuous batching, KV cache๋ฅผ ์ œ๊ณตํ•ด ๊ธฐ์ค€์„  ๋Œ€๋น„ ์ฒ˜๋ฆฌ๋Ÿ‰์„ ํฌ๊ฒŒ ๋†’์ด๋ฉฐ, prefix caching๊ณผ KV quantization์„ ๋”ํ•˜๋ฉด ๋ฉ”๋ชจ๋ฆฌ ํšจ์œจ์ด ์ถ”๊ฐ€๋กœ ์ข‹์•„์ง„๋‹ค. speculative decoding์€ ์ž‘์€ ๋ชจ๋ธ์ด ๋ฏธ๋ฆฌ ํ† ํฐ์„ ์ œ์•ˆํ•˜๊ณ  ํฐ ๋ชจ๋ธ์ด ๊ฒ€์ฆํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ decode ๊ฐ€์†์„ ๋…ธ๋ฆฐ๋‹ค.
  14. 1:17:27
    vLLM๊ณผ SGLang ๋น„๊ต, ์—”์ง„ ์„ ํƒ, ๋‹ค์Œ ํ•™์Šต ์ฃผ์ œ ํ‘œ์ค€ API workload์—์„œ๋Š” vLLM๊ณผ SGLang์˜ ์ฐจ์ด๊ฐ€ ํฌ์ง€ ์•Š์ง€๋งŒ, agentic branching์ฒ˜๋Ÿผ ๋ฐ˜๋ณต์ ์ด๊ณ  ๊ตฌ์กฐํ™”๋œ ์›Œํฌํ”Œ๋กœ์—์„œ๋Š” SGLang์ด ์œ ๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. ์ดํ›„์—๋Š” ๋” ๊นŠ์€ benchmark ์ฝ๊ธฐ, KV eviction ์ „๋žต, hybrid memory, distributed LLM inference๋ฅผ ๊ณต๋ถ€ํ•˜๋Š” ํ๋ฆ„์ด ์œ ํšจํ•˜๋‹ค.

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

  • GPU ์„ ํƒ์€ ์ŠคํŽ™ ๋น„๊ต๋ณด๋‹ค ๋จผ์ € ๋ชฉํ‘œ TTFT, ๋™์‹œ ์‚ฌ์šฉ์ž ์ˆ˜, ์ปจํ…์ŠคํŠธ ๊ธธ์ด๋ฅผ ๊ณ ์ •ํ•œ ๋’ค KV cache ๊ณ„์‚ฐ์œผ๋กœ ์—ญ์‚ฐํ•ด์•ผ ํ•œ๋‹ค.
  • ์ถ”๋ก  ์ตœ์ ํ™”๋Š” ๋ชจ๋ธ ์••์ถ•๊ณผ ์„œ๋น™ ์ตœ์ ํ™”๋ฅผ ๋ถ„๋ฆฌํ•ด์„œ ๋ณด๋˜, ์‹ค์ œ ๋น„์šฉ ์ ˆ๊ฐ์€ ๋‘ ์ถ•์„ ํ•จ๊ป˜ ์ ์šฉํ•  ๋•Œ ๊ฐ€์žฅ ํฌ๊ฒŒ ๋‚˜์˜จ๋‹ค.
  • ํ‘œ์ค€ ์ฑ—๋ด‡๊ณผ agentic workload๋Š” ๋ณ‘๋ชฉ์ด ๋‹ค๋ฅด๋ฏ€๋กœ, ๋™์ผํ•œ inference engine์„ ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์“ฐ๋”๋ผ๋„ ์›Œํฌ๋กœ๋“œ๋ณ„๋กœ vLLM๊ณผ SGLang์„ ๊ตฌ๋ถ„ํ•ด ๊ฒ€ํ† ํ•ด์•ผ ํ•œ๋‹ค.