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

Agents That Own Their Inference โ€” Du'an Lightfoot & Khaja Omer, Akamai Technologies

AI Engineer ยท 2026-10-11 23:00 ยท 1:50:10

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

์ด ์˜์ƒ์€ ์—์ด์ „ํŠธ์˜ ์ถ”๋ก ์„ ์ง์ ‘ ์†Œ์œ ํ•˜๋Š” ๊ด€์ ์—์„œ, ์ „์šฉ GPU์™€ vLLMยทKubernetes๋ฅผ ํ™œ์šฉํ•ด ์ง€์—ฐ์‹œ๊ฐ„๊ณผ ์ฒ˜๋ฆฌ๋Ÿ‰์„ ์ธก์ •ยท์ตœ์ ํ™”ํ•˜๋Š” ์‹ค์ „ ์›Œํฌ์ˆ์ด๋‹ค.

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

  1. 0:00
    ๋ฐœํ‘œ์ž ์†Œ๊ฐœ Akamai์˜ ๊ฐœ๋ฐœ์ž ๊ด€๊ณ„ ๋‹ด๋‹น์ž์™€ ์‹œ๋‹ˆ์–ด ์†Œํ”„ํŠธ์›จ์–ด ์—”์ง€๋‹ˆ์–ด๊ฐ€ ์ „์šฉ GPU ์œ„์—์„œ ํ”„๋กœ๋•์…˜ AI ์—์ด์ „ํŠธ๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐฐ๊ฒฝ๊ณผ ๋ฌธ์ œ์˜์‹์„ ์†Œ๊ฐœํ•œ๋‹ค. ํ† ํฐ ๋น„์šฉ, ๋กœ์ปฌ ๋ชจ๋ธ์˜ ํ•œ๊ณ„, ์ปจํ…์ŠคํŠธ์™€ ๋ฉ”๋ชจ๋ฆฌ ์ œ์•ฝ์ด ์™œ ์ถ”๋ก  ์†Œ์œ ์˜ ํ•„์š”๋กœ ์ด์–ด์ง€๋Š”์ง€ ์„ค๋ช…ํ•œ๋‹ค.
  2. 1:51
    ์—์ด์ „ํŠธ ๋ฃจํ”„์™€ ์ถ”๋ก  ์†Œ์œ  ์—์ด์ „ํŠธ๋Š” LLM ํ˜ธ์ถœ, ๋„๊ตฌ ์‹คํ–‰, ๊ฒฐ๊ณผ ๋ฐ˜์˜์„ ๋ฐ˜๋ณตํ•˜๋Š” ๋ฃจํ”„๋กœ ์ •์˜๋œ๋‹ค. ๋ฐ์ดํ„ฐ๊ฐ€ ํด๋Ÿฌ์Šคํ„ฐ๋‚˜ ๋ฐ์ดํ„ฐ์„ผํ„ฐ๋ฅผ ๋ฒ—์–ด๋‚˜์ง€ ์•Š๋„๋ก GPU๋ฅผ ์ง์ ‘ ์†Œ์œ ํ•˜๊ฑฐ๋‚˜ ์ž„๋Œ€ํ•˜๋ฉด, ์ง€์—ฐ์‹œ๊ฐ„ยท๋น„์šฉยทํ†ต์ œ๋ฅผ ํ•จ๊ป˜ ํ™•๋ณดํ•  ์ˆ˜ ์žˆ๋‹ค.
  3. 3:30
    ํ˜ธ์ŠคํŒ… API์™€ ์ „์šฉ GPU๋ฅผ ์–ธ์ œ ์“ธ์ง€ ํŠธ๋ž˜ํ”ฝ์ด ๋†’๊ณ  ์ผ์ •ํ•˜๊ฑฐ๋‚˜ ๋ฐ์ดํ„ฐ ๋ณด์•ˆยท์ปดํ”Œ๋ผ์ด์–ธ์Šค๊ฐ€ ์ค‘์š”ํ•˜๋ฉด ์ „์šฉ GPU๊ฐ€ ์œ ๋ฆฌํ•˜๋‹ค. ๋ฐ˜๋Œ€๋กœ ํŠธ๋ž˜ํ”ฝ์ด ๋‚ฎ๊ณ  ๋ฒ„์ŠคํŠธ์„ฑ์ด ๊ฐ•ํ•˜๋ฉด ํ˜ธ์ŠคํŒ… API๊ฐ€ ๋” ํšจ์œจ์ ์ผ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ชจ๋ธ ๊ทœ๋ชจ์™€ ์ธํ”„๋ผ ์—ฌ๋ ฅ๋„ ํ•จ๊ป˜ ๊ณ ๋ คํ•ด์•ผ ํ•œ๋‹ค.
  4. 5:19
    ์›Œํฌ์ˆ ๊ตฌ์„ฑ๊ณผ Kubernetes ํ™˜๊ฒฝ ์›Œํฌ์ˆ์—์„œ๋Š” ์ธํ”„๋ผ ์Šคํƒ, units์™€ memory budget, prefillยทdecodeยทKV cache, dense model๊ณผ mixture of experts๋ฅผ ์ฐจ๋ก€๋กœ ๋‹ค๋ฃฌ๋‹ค. ์ฐธ๊ฐ€์ž๋ณ„ namespace์— Jupyter notebook, vLLM ์—”๋“œํฌ์ธํŠธ, ์—์ด์ „ํŠธ๊ฐ€ ๋ฐฐ์น˜๋œ Kubernetes ํ™˜๊ฒฝ์—์„œ ์„ฑ๋Šฅ์„ ๋ฐ˜๋ณต ์ตœ์ ํ™”ํ•œ๋‹ค.
  5. 9:03
    vLLM, ๋ฐฐ์นญ, ์„œ๋น„์Šค ์ง€ํ‘œ ์ถ”๋ก  ์—”์ง„์œผ๋กœ vLLM์„ ์‚ฌ์šฉํ•˜๋ฉฐ, continuous batching๊ณผ paged attention์ด ์ƒ์‚ฐ ํ™˜๊ฒฝ์—์„œ ํฐ ์žฅ์ ์ด๋ผ๊ณ  ์„ค๋ช…ํ•œ๋‹ค. ์„ฑ๋Šฅ์„ ๋ณผ ๋•Œ๋Š” throughput, time to first token, KV cache ํ™œ์šฉ๋ฅ , QEP ๊ฐ™์€ ์ง€ํ‘œ๋ฅผ ํ•จ๊ป˜ ๋ด์•ผ ํ•œ๋‹ค.
  6. 11:54
    ๋…ธํŠธ๋ถ ์ ‘์† QR ์ฝ”๋“œ๋กœ ์›Œํฌ์ˆ์šฉ Jupyter notebook๊ณผ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ์ ‘์†ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•ˆ๋‚ดํ•œ๋‹ค. ๊ฐ ์‹ค์Šต์— ํ•„์š”ํ•œ ์˜์กด์„ฑ์ด ์ด๋ฏธ ๋กœ๋“œ๋˜์–ด ์žˆ์–ด ๋ฐ”๋กœ ๋”ฐ๋ผ๊ฐ€๋ฉฐ ์‹คํ—˜ํ•  ์ˆ˜ ์žˆ๋‹ค.
  7. 13:09
    ์ฒซ ๋ฒˆ์งธ ๋ชจ๋“ˆ: ์ถ”๋ก  ์—ฐ๊ฒฐ Qwen 3 4B ๋ชจ๋ธ๋กœ vLLM ์—”๋“œํฌ์ธํŠธ์— ์—ฐ๊ฒฐํ•˜๊ณ  ์ฒซ ์—์ด์ „ํŠธ๋ฅผ ๋งŒ๋“ค์–ด ๋ณธ๋‹ค. vLLM์€ ์ธ์ฆ์€ ์ง€์›ํ•˜์ง€๋งŒ ๊ถŒํ•œยทrate limiting์€ ์•ฝํ•˜๋ฏ€๋กœ KServe๋‚˜ gateway ๊ณ„์ธต์ด ํ•„์š”ํ•˜๋‹ค๋Š” ์ ๋„ ์งš๋Š”๋‹ค.
  8. 16:26
    ๋ชจ๋ธ ์ •๋ฐ€๋„์™€ ์ฒซ ์š”์ฒญ ํ˜„์žฌ ๋ชจ๋ธ์€ BF16์œผ๋กœ 4 billion parameters๊ฐ€ ์•ฝ 8GB๋ฅผ ์ฐจ์ง€ํ•œ๋‹ค๊ณ  ์ •๋ฆฌํ•œ๋‹ค. ์š”์ฒญ์ด ํด๋Ÿฌ์Šคํ„ฐ ๋‚ด๋ถ€์—์„œ ์ฒ˜๋ฆฌ๋˜๋ฏ€๋กœ ๊ณต์šฉ API๋ณด๋‹ค ๋น ๋ฅด๊ณ , ์ฒซ ์‘๋‹ต์„ ํ†ตํ•ด ๋ชจ๋ธ๊ณผ ์„œ๋น™ ๊ตฌ์„ฑ์„ ํ™•์ธํ•œ๋‹ค.
  9. 17:36
    ์ŠคํŠธ๋ฆฌ๋ฐ ํ† ํฐ ์ง€์—ฐ์‹œ๊ฐ„ ์ธก์ • ์ŠคํŠธ๋ฆฌ๋ฐ ์‘๋‹ต์„ ๊ธฐ์ค€์œผ๋กœ time to first token๊ณผ token๋‹น ์ง€์—ฐ์„ ๊ณ„์‚ฐํ•œ๋‹ค. CPU๋Š” ์ด ํ™˜๊ฒฝ์—์„œ ๊ฐ๋‹น์ด ์–ด๋ ต๊ณ , GPU๋Š” ๋ณ‘๋ ฌ ๊ณ„์‚ฐ ๋•๋ถ„์— ๊ฐ™์€ ์ž‘์—…์„ ํ›จ์”ฌ ๋น ๋ฅด๊ฒŒ ์ฒ˜๋ฆฌํ•œ๋‹ค๋Š” ์ฐจ์ด๋ฅผ ์ˆ˜์น˜๋กœ ๋ณด์—ฌ์ค€๋‹ค.
  10. 20:51
    ์—์ด์ „ํŠธ ์‹œ์ž‘๊ณผ ๋ฉ”ํŠธ๋ฆญ ์ ๊ฒ€ ๋„๊ตฌ๊ฐ€ ์—†๋Š” ๊ฐ„๋‹จํ•œ ์—์ด์ „ํŠธ๋ฅผ ๋จผ์ € ๋งŒ๋“ค๊ณ , system prompt์™€ ์‘๋‹ต์„ ํ™•์ธํ•œ๋‹ค. ์ดํ›„์—๋Š” Prometheus, Grafana, Langfuse ๊ฐ™์€ ๊ด€์ธก์„ฑ ๋„๊ตฌ๋กœ ๋‹จ๊ณ„๋ณ„ latency์™€ token ์‚ฌ์šฉ๋Ÿ‰์„ ์ถ”์ ํ•ด์•ผ ์‹ค์ œ ๋ณ‘๋ชฉ์„ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค.
  11. 25:13
    ์›Œํฌ๋กœ๋“œ ๋น„์šฉ๊ณผ ์‹คํ–‰ ์‹œ๊ฐ„ ๋น„๊ต ํ˜ธ์ŠคํŒ… ๊ณผ๊ธˆ๊ณผ ์ „์šฉ GPU ๋น„์šฉ์„ ํ† ํฐ ์‚ฌ์šฉ๋Ÿ‰ ๊ธฐ์ค€์œผ๋กœ ๋น„๊ตํ•ด rent vs own ์˜์‚ฌ๊ฒฐ์ •์„ ์„ค๋ช…ํ•œ๋‹ค. ์žฅ๊ธฐ์ ์œผ๋กœ๋Š” SG lang, TensorRT, llama CPP์ฒ˜๋Ÿผ ์›Œํฌ๋กœ๋“œ์— ๋งž๋Š” ๋Ÿฐํƒ€์ž„๋„ ํ•จ๊ป˜ ๊ฒ€ํ† ํ•ด์•ผ ํ•œ๋‹ค.
  12. 28:22
    ๋‘ ๋ฒˆ์งธ ๋ชจ๋“ˆ: ๋‹จ์œ„์™€ ๋ฉ”๋ชจ๋ฆฌ ์˜ˆ์‚ฐ ๋ชจ๋ธ ๊ฐ€์ค‘์น˜๊ฐ€ ์ฐจ์ง€ํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ์™€ KV cache์— ๋‚จ๋Š” ๊ณต๊ฐ„์„ ๋ถ„๋ฆฌํ•ด์„œ ์ƒ๊ฐํ•ด์•ผ ํ•œ๋‹ค. ํ”„๋กฌํ”„ํŠธ, ์‹œ์Šคํ…œ ํ”„๋กฌํ”„ํŠธ, tool call์ด ๋ชจ๋‘ KV cache ์˜ˆ์‚ฐ์„ ์†Œ๋ชจํ•˜๋ฏ€๋กœ, ์‹ค์ œ๋กœ ์–ผ๋งˆ๋‚˜ ๋งŽ์€ ์ปจํ…์ŠคํŠธ๋ฅผ ๋‹ด์„ ์ˆ˜ ์žˆ๋Š”์ง€ ๊ณ„์‚ฐํ•˜๋Š” ๊ฒƒ์ด ํ•ต์‹ฌ์ด๋‹ค.
  13. 30:38
    ๋ชจ๋ธ ํŒŒ์ผ๊ณผ ์„ค์ • Hugging Face์—์„œ ๋ฐ›๋Š” config.json๊ณผ safetensors๊ฐ€ ๊ฐ๊ฐ ๋ชจ๋ธ ์„ค์ •๊ณผ ๊ฐ€์ค‘์น˜๋ฅผ ๋‹ด๋‹นํ•œ๋‹ค๊ณ  ์„ค๋ช…ํ•œ๋‹ค. ๋ ˆ์ด์–ด ์ˆ˜, attention head ์ˆ˜, vocabulary size ๊ฐ™์€ ์„ค์ •์€ ๋ชจ๋ธ ๋™์ž‘์„ ์ •์˜ํ•˜์ง€๋งŒ ์ž„์˜ ๋ณ€๊ฒฝ์€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋ฉฐ, ๋Œ€์‹  fine-tuning์ด๋‚˜ ์–‘์žํ™”๋ฅผ ๊ณ ๋ คํ•ด์•ผ ํ•œ๋‹ค.
  14. 33:26
    ๊ฐ€์ค‘์น˜ ํฌ๊ธฐ, ๋Œ€์—ญํญ, KV ์šฉ๋Ÿ‰ BF16๊ณผ FP8์˜ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰ ์ฐจ์ด๋ฅผ ๊ณ„์‚ฐํ•ด, GPU์—์„œ ๋‚จ๋Š” ๊ณต๊ฐ„์ด KV cache์™€ ์ฒ˜๋ฆฌ๋Ÿ‰์„ ์ขŒ์šฐํ•œ๋‹ค๋Š” ์ ์„ ๋ณด์—ฌ์ค€๋‹ค. ๋Œ€์—ญํญ๊ณผ roofline ๊ด€์ ์—์„œ ์–ด๋А ์ง€์ ์—์„œ GPU๊ฐ€ ํฌํ™”๋˜๋Š”์ง€๋„ ํ•จ๊ป˜ ๋”ฐ์ ธ๋ด์•ผ ํ•œ๋‹ค.
  15. 36:45
    ์„ธ ๋ฒˆ์งธ ๋ชจ๋“ˆ: prefill, decode, ์บ์‹ฑ prefill์€ ์ฒซ ํ† ํฐ์ด ๋‚˜์˜ค๊ธฐ๊นŒ์ง€์˜ ๊ตฌ๊ฐ„์ด๊ณ , decode๋Š” ๊ทธ ๋’ค์˜ ํ† ํฐ ์ƒ์„ฑ ๊ตฌ๊ฐ„์ด๋ผ๋Š” ์ ์„ ๋‹ค์‹œ ์ •๋ฆฌํ•œ๋‹ค. naive ๋ฐฉ์‹๋ณด๋‹ค KV cache ๊ธฐ๋ฐ˜ ์ฒ˜๋ฆฌ๊ฐ€ ๋ณ‘๋ ฌ์„ฑ๊ณผ ์žฌ์‚ฌ์šฉ ๋ฉด์—์„œ ํšจ์œจ์ ์ด๋ฉฐ, ๊ทธ๋ž˜ํ”„ ๋„๊ตฌ๋กœ ์ด๋ฅผ ๊ด€์ฐฐํ•  ์ˆ˜ ์žˆ๋‹ค.
  16. 39:32
    KV cache ์‚ฌ์šฉ๋Ÿ‰ ์ธก์ •๊ณผ ์ ๊ฒ€ KV caching์„ ์ ์šฉํ–ˆ์„ ๋•Œ time to first token๊ณผ decode ์ง€์—ฐ์ด ์–ด๋–ป๊ฒŒ ๋ฐ”๋€Œ๋Š”์ง€ ์ธก์ •ํ•œ๋‹ค. ์š”์ฒญ ํฌ๊ธฐ๋ฅผ ๋Š˜๋ฆฌ๋ฉด์„œ peak usage์™€ ์ข…๋ฃŒ ํ›„ usage๋ฅผ ํ™•์ธํ•ด ์‹ค์ œ ๋ฉ”๋ชจ๋ฆฌ ์••๋ฐ•์ด ์–ด๋””์„œ ์ƒ๊ธฐ๋Š”์ง€ ์‚ดํ•€๋‹ค.
  17. 40:44
    ์ฝœ๋“œ์™€ ์›œ prefix ์บ์‹ฑ prompt caching๊ณผ prefix caching์„ ๊ตฌ๋ถ„ํ•ด ์„ค๋ช…ํ•˜๋ฉด์„œ, ๋ฐ˜๋ณต ํ˜ธ์ถœ์ด ๋งŽ์€ ์„œ๋น„์Šค์—์„œ๋Š” ๋น„์šฉ ์ ˆ๊ฐ ํšจ๊ณผ๊ฐ€ ํฌ๋‹ค๊ณ  ์งš๋Š”๋‹ค. ๊ฐ™์€ ์ ‘๋‘์‚ฌ๋ฅผ ์žฌ์‚ฌ์šฉํ•˜๋ฉด ์‘๋‹ต ์‹œ๊ฐ„์ด ํฌ๊ฒŒ ์ค„์–ด๋“ค ์ˆ˜ ์žˆ์–ด ์‹ค๋ฌด์—์„œ ์ฒด๊ฐ ํšจ๊ณผ๊ฐ€ ํฌ๋‹ค.
  18. 41:53
    ๋„ค ๋ฒˆ์งธ ๋ชจ๋“ˆ: Dense ๋ชจ๋ธ๊ณผ ์ „๋ฌธ๊ฐ€ ๋ชจ๋ธ Dense model์€ ์ „์ฒด ๊ฐ€์ค‘์น˜๋ฅผ ๋งค๋ฒˆ ์‚ฌ์šฉํ•˜์ง€๋งŒ, mixture of experts๋Š” ์ผ๋ถ€ expert๋งŒ ํ™œ์„ฑํ™”ํ•ด ๋” ์ ์€ ๋ฐ”์ดํŠธ๋กœ ์ถ”๋ก ํ•œ๋‹ค. decode๋Š” ๋ฉ”๋ชจ๋ฆฌ ๋ณ‘๋ชฉ์ด ์‹ฌํ•˜๋ฏ€๋กœ, ๋ชจ๋ธ ๊ตฌ์กฐ ์„ ํƒ์ด ์ฒ˜๋ฆฌ๋Ÿ‰๊ณผ ์ง€์—ฐ์— ์ง์ ‘ ์˜ํ–ฅ์„ ์ค€๋‹ค.
  19. 45:38
    ์ถ”๋ก  ํ† ํฐ๊ณผ ์„ฑ๋Šฅ ํ•œ๊ณ„ Thinking์„ ์ผœ๋ฉด reasoning token์ด ํฌ๊ฒŒ ๋Š˜์–ด๋‚˜๋ฉฐ, tool call์ด ๋งŽ์€ ์—์ด์ „ํŠธ์ผ์ˆ˜๋ก ๊ทธ ์˜ํ–ฅ์ด ๋‘๋“œ๋Ÿฌ์ง„๋‹ค. prefill๊ณผ decode๋ฅผ ๋ถ„๋ฆฌํ•ด ๋ณด๋ฉด prefill์€ ๋น„๊ต์  ์ตœ์ ํ™” ์—ฌ์ง€๊ฐ€ ์žˆ์ง€๋งŒ, decode๋Š” GPU ๋ฉ”๋ชจ๋ฆฌ ํ•œ๊ณ„์— ๋” ์ง์ ‘์ ์œผ๋กœ ๋ฌถ์ธ๋‹ค.
  20. 48:19
    Omer์˜ ์ตœ์ ํ™” ์›Œํฌ์ˆ ์ดํ›„ ํŒŒํŠธ์—์„œ๋Š” quantization, speculative decoding, vLLM ์„ค์ • ํŠœ๋‹, ํ‰๊ฐ€ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์ง‘์ค‘์ ์œผ๋กœ ๋‹ค๋ฃฌ๋‹ค. ๋ชฉํ‘œ๋Š” ํŠน์ • ์›Œํฌ๋กœ๋“œ์— ๋งž๋Š” ๊ตฌ์„ฑ๊ฐ’์„ ์ฐพ๋Š” ๊ฒƒ์ด๋ฉฐ, ๋‹จ์ˆœํ•œ ์ด๋ก ๋ณด๋‹ค ์‹ค์ธก ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํŒ๋‹จํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.
  21. 49:55
    ๋‹ค์„ฏ ๋ฒˆ์งธ ๋ชจ๋“ˆ: ์–‘์žํ™” ์„ ํƒ BF16, FP8, INT4, AWQ, GPTQ, NVFP4 ๋“ฑ ๋‹ค์–‘ํ•œ ์–‘์žํ™” ๋ฐฉ์‹์„ ๋น„๊ตํ•œ๋‹ค. ํ•ต์‹ฌ ๋ชฉ์ ์€ ๋ชจ๋ธ ํฌ๊ธฐ๋ฅผ ์ค„์—ฌ KV cache ์—ฌ์œ ๋ฅผ ํ™•๋ณดํ•˜๊ณ , ๋ฉ”๋ชจ๋ฆฌ ์ด๋™์„ ์ค„์—ฌ decode ์„ฑ๋Šฅ์„ ๋†’์ด๋Š” ๋ฐ ์žˆ๋‹ค.
  22. 53:08
    ์‹ค์ œ ์›Œํฌ๋กœ๋“œ ํ’ˆ์งˆ ์ ๊ฒ€ ์–‘์žํ™”๋Š” ์„ฑ๋Šฅ์„ ์˜ฌ๋ฆฌ์ง€๋งŒ JSON ์†์ƒ, ํ•จ์ˆ˜ ํ˜ธ์ถœ ์‹คํŒจ, ์ถ”๋ก  ์ €ํ•˜ ๊ฐ™์€ ๋ถ€์ž‘์šฉ์ด ์ƒ๊ธธ ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋ฐ˜๋“œ์‹œ ์ž๊ธฐ ์›Œํฌ๋กœ๋“œ์— ๋งž๋Š” eval์„ ๋จผ์ € ์ค€๋น„ํ•˜๊ณ , ๋ณ€๊ฒฝ ์ „ํ›„๋ฅผ ๋น„๊ตํ•ด์•ผ ํ•œ๋‹ค.
  23. 54:03
    ๊ธฐ์ค€ ๋ถ€ํ•˜ ํ…Œ์ŠคํŠธ์™€ ๋™์‹œ์„ฑ ๋™์‹œ์„ฑ 1, 32, 64 ๋“ฑ์œผ๋กœ ๋ถ€ํ•˜๋ฅผ ๊ฑธ์–ด throughput๊ณผ time to first token์„ ๋น„๊ตํ•œ๋‹ค. 32์™€ 64 ์‚ฌ์ด์—์„œ ์ง€์—ฐ์ด ํฌ๊ฒŒ ํŠ€๋Š” ์ง€์ ์€ ํ˜„์žฌ ์„ค์ •์—์„œ ์‚ฌ์‹ค์ƒ ํ•œ๊ณ„์— ๊ฐ€๊นŒ์šด ์‹ ํ˜ธ๋กœ ํ•ด์„ํ•  ์ˆ˜ ์žˆ๋‹ค.
  24. 56:34
    Kubernetes ๋ชจ๋ธ ๋ฐฐํฌ ๋ณ€๊ฒฝ vlm.yaml์—์„œ BF16 ๋ชจ๋ธ์„ FP8 ๋ชจ๋ธ๋กœ ๋ฐ”๊พธ๊ณ , ํ•„์š”ํ•œ ํ”Œ๋ž˜๊ทธ๋ฅผ ์กฐ์ •ํ•ด ๋ฐฐํฌ๋ฅผ ๋กค์•„์›ƒํ•œ๋‹ค. dynamic quantization์ฒ˜๋Ÿผ ์ผ๋ถ€๋งŒ ์–‘์žํ™”ํ•˜๋Š” ๋ฐฉ์‹๋„ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํ•˜๋“œ์›จ์–ด๊ฐ€ FP8์„ ์ œ๋Œ€๋กœ ๊ฐ€์†ํ•˜๋Š”์ง€ ํ™•์ธํ•ด์•ผ ํ•œ๋‹ค.
  25. 1:03:12
    FP8 ์„ฑ๋Šฅ ๋น„๊ต FP8๋กœ ๋ฐ”๊พผ ๋’ค ๊ฐ™์€ ๋ถ€ํ•˜ ํ…Œ์ŠคํŠธ๋ฅผ ๋‹ค์‹œ ๋Œ๋ ค concurrency 1๊ณผ ๊ณ ๋™์‹œ์„ฑ ๊ตฌ๊ฐ„ ๋ชจ๋‘์—์„œ ํ† ํฐ ์ฒ˜๋ฆฌ๋Ÿ‰์ด ๊ฐœ์„ ๋˜๋Š”์ง€ ํ™•์ธํ•œ๋‹ค. ๊ฐ™์€ ํ’ˆ์งˆ์„ ์œ ์ง€ํ•˜๋ฉด์„œ๋„ throughput์ด ๋ˆˆ์— ๋„๊ฒŒ ์˜ค๋ฅผ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์ด ํ•ต์‹ฌ์ด๋‹ค.
  26. 1:05:09
    ์—ฌ์„ฏ ๋ฒˆ์งธ ๋ชจ๋“ˆ: ์ถ”์ธก ๋””์ฝ”๋”ฉ ์ž‘์€ draft model์ด ๋ฏธ๋ฆฌ ์—ฌ๋Ÿฌ ํ† ํฐ์„ ์ƒ์„ฑํ•˜๊ณ , ๋ฉ”์ธ ๋ชจ๋ธ์ด ์ด๋ฅผ ๊ฒ€์ฆํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ถ”๋ก  ์†๋„๋ฅผ ๋†’์ด๋Š” ๊ธฐ๋ฒ•์„ ๋‹ค๋ฃฌ๋‹ค. ๋‹ค๋งŒ acceptance rate๊ฐ€ ๋‚ฎ์œผ๋ฉด ์˜คํžˆ๋ ค ์„ฑ๋Šฅ์ด ๋–จ์–ด์งˆ ์ˆ˜ ์žˆ์–ด ๋ชจ๋ธ ์กฐํ•ฉ๊ณผ ์ƒ์„ฑ ํ† ํฐ ์ˆ˜๋ฅผ ์‹ ์ค‘ํžˆ ๋งž์ถฐ์•ผ ํ•œ๋‹ค.
  27. 1:11:05
    ์ดˆ์•ˆ ๋ชจ๋ธ ์„ค์ • vLLM์˜ speculative config๋กœ 0.6 billion parameter draft model๊ณผ ์ƒ์„ฑ ํ† ํฐ ์ˆ˜๋ฅผ ์„ค์ •ํ•œ๋‹ค. draft token ์ˆ˜, GPU ๋ฉ”๋ชจ๋ฆฌ ์—ฌ์œ , ๋ชจ๋ธ ํ˜ธํ™˜์„ฑ์— ๋”ฐ๋ผ ๊ฒฐ๊ณผ๊ฐ€ ํฌ๊ฒŒ ๋‹ฌ๋ผ์ง€๋ฏ€๋กœ ์—ฌ๋Ÿฌ ๊ฐ’์œผ๋กœ ์‹คํ—˜ํ•ด์•ผ ํ•œ๋‹ค.
  28. 1:15:14
    ๊ฐ€์† ๋Œ€์‹  ๋А๋ ค์ง„ ๊ฒฝ์šฐ ์ด๋ฒˆ ์‹ค์Šต์—์„œ๋Š” speculative decoding์„ ์ผฐ๋”๋‹ˆ ์˜คํžˆ๋ ค throughput์ด ๊ธ‰๊ฐํ•˜๊ณ  latency๊ฐ€ ๋Š˜์—ˆ๋‹ค. ์›์ธ์€ ๋‚ฎ์€ acceptance rate, ๊ณผ๋„ํ•œ draft token ์ˆ˜, ์Šค์ผ€์ค„๋ง, ๊ทธ๋ฆฌ๊ณ  draft ๋ชจ๋ธ์ด ๋ฉ”์ธ ๋ชจ๋ธ๊ณผ ์ž˜ ๋งž์ง€ ์•Š๋Š” ์ ์œผ๋กœ ์„ค๋ช…๋œ๋‹ค.
  29. 1:18:58
    ๊ธฐ์ค€์„ ์œผ๋กœ ๋ณต๊ท€ํ•˜๊ณ  ํ˜ธํ™˜์„ฑ ๋…ผ์˜ draft์™€ main model์˜ ์ •๋ฐ€๋„ ๋ถˆ์ผ์น˜, ์ž˜๋ชป ํ›ˆ๋ จ๋œ draft model, ์šฉ๋„๋ณ„ ํ˜ธํ™˜์„ฑ์ด ์„ฑ๋Šฅ์„ ํฌ๊ฒŒ ์ขŒ์šฐํ•œ๋‹ค. ์‹ค๋ฌด์—์„œ๋Š” ๋ชจ๋ธ๊ณผ ํ•จ๊ป˜ ์ œ๊ณต๋˜๋Š” drafter๋ฅผ ์šฐ์„  ์“ฐ๊ณ , use case์— ๋งž๊ฒŒ acceptance rate๋ฅผ ๋ฐ˜๋“œ์‹œ ํ™•์ธํ•ด์•ผ ํ•œ๋‹ค.
  30. 1:26:38
    ์ผ๊ณฑ ๋ฒˆ์งธ ๋ชจ๋“ˆ: ํฌํ™”๋„์™€ ์„œ๋น™ ํ”Œ๋ž˜๊ทธ GPU๋ฅผ ์ตœ๋Œ€ํ•œ ์˜ค๋ž˜, ์ตœ๋Œ€ํ•œ ๋ฐ”์˜๊ฒŒ ๋Œ๋ฆฌ๋Š” saturation ๊ด€์ ์—์„œ ์„œ๋น™ ์„ค์ •์„ ์กฐ์ •ํ•œ๋‹ค. throughput์ด ๋” ์ด์ƒ ๋Š˜์ง€ ์•Š๋Š” ์ง€์ ๊ณผ latency๊ฐ€ ๊ธ‰๊ฒฉํžˆ ๋‚˜๋น ์ง€๋Š” ์ง€์  ์‚ฌ์ด์˜ ๊ท ํ˜•์ ์„ ์ฐพ๋Š” ๊ฒƒ์ด ๋ชฉํ‘œ๋‹ค.
  31. 1:33:10
    ๋…ธํŠธ๋ถ ์žฅ์•  ๋ณต๊ตฌ ์‹ค์Šต ์ค‘ ํด๋Ÿฌ์Šคํ„ฐ๋‚˜ ๋…ธํŠธ๋ถ์ด ๋น„์ •์ƒ ์ƒํƒœ๊ฐ€ ๋˜์–ด๋„, ์ด์ „ ๋ถ€ํ•˜ ํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ํ•ด์„์€ ๊ณ„์†ํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•ต์‹ฌ์€ concurrency 32 ๊ทผ์ฒ˜๊ฐ€ ํ˜„์žฌ ํ™˜๊ฒฝ์˜ ์„ฑ๋Šฅ ๊ฒฝ๊ณ„์˜€๋‹ค๋Š” ์ ๊ณผ, ์ด๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋‹ค์Œ ํŠœ๋‹์„ ์„ค๊ณ„ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
  32. 1:35:48
    ์—ฌ๋Ÿ ๋ฒˆ์งธ ๋ชจ๋“ˆ: ํŠœ๋‹๊ณผ ํ‰๊ฐ€ ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์˜ ํ”Œ๋ž˜๊ทธ๋งŒ ๋ฐ”๊พธ๊ณ , ๋ณ€๊ฒฝ๋งˆ๋‹ค ๋ถ€ํ•˜ ํ…Œ์ŠคํŠธ๋ฅผ ๋Œ๋ ค ๊ฒฐ๊ณผ๋ฅผ ๋น„๊ตํ•˜๋Š” ๋ฐฉ๋ฒ•๋ก ์„ ์ œ์‹œํ•œ๋‹ค. GPU memory utilization, max num sequences, model length, batch tokens ๊ฐ™์€ ํ•ต์‹ฌ ์„ค์ •์„ ์‹ค์ธก ๊ธฐ๋ฐ˜์œผ๋กœ ์กฐ์ •ํ•ด์•ผ ํ•œ๋‹ค.
  33. 1:41:02
    ์›Œํฌ์ˆ ์ž๋ฃŒ์™€ ๋Ÿฐํƒ€์ž„ ์งˆ๋ฌธ QR ์ฝ”๋“œ๋กœ ์Šฌ๋ผ์ด๋“œ์™€ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ๋ฐ›์•„ ์ง์ ‘ ์‹คํ—˜ํ•  ์ˆ˜ ์žˆ๋„๋ก ์•ˆ๋‚ดํ•œ๋‹ค. ๋˜ํ•œ ๋‹จ์ผ ์—์ด์ „ํŠธ์ธ์ง€, ๋ณ‘๋ ฌ ์—์ด์ „ํŠธ์ธ์ง€, speculative decoding์„ ์“ธ์ง€์— ๋”ฐ๋ผ Olama, llama CPP, vLLM, SG lang ์ค‘ ์–ด๋–ค ๋Ÿฐํƒ€์ž„์ด ์ ์ ˆํ•œ์ง€ ์งˆ๋ฌธ์— ๋‹ตํ•œ๋‹ค.
  34. 1:44:13
    ์‹œํ€€์Šค ํ•œ๊ณ„ ์˜ฌ๋ฆฌ๊ธฐ max_num_sequences๋ฅผ 32์—์„œ 128๋กœ ์˜ฌ๋ ค ๋” ๋งŽ์€ ์š”์ฒญ์„ ๋™์‹œ์— ์ฒ˜๋ฆฌํ•˜๋„๋ก ์กฐ์ •ํ•œ๋‹ค. ๋ณ‘๋ชฉ ์ง€์ ์„ ์ฐพ๊ณ , ๊ทธ ๋ณ‘๋ชฉ์— ๋Œ€์‘ํ•˜๋Š” ํ”Œ๋ž˜๊ทธ๋ฅผ ํ•˜๋‚˜์”ฉ ๋ฐ”๊พธ๋ฉฐ, ํฌํ™”์ ๊ณผ ์ง€์—ฐ์˜ ๊ท ํ˜•์„ ๋‹ค์‹œ ๋งž์ถ”๋Š” ๋ฐฉ์‹์ด ๋ฐ˜๋ณต๋œ๋‹ค.
  35. 1:47:13
    ์ฒ˜๋ฆฌ๋Ÿ‰๊ณผ ์ง€์—ฐ์‹œ๊ฐ„ ์žฌ๋น„๊ต ์„ค์ • ๋ณ€๊ฒฝ ํ›„ concurrency 64์—์„œ throughput์ด ๋” ์˜ค๋ฅด๊ณ  latency๊ฐ€ ํฌ๊ฒŒ ์ค„์–ด๋“  ๊ฒƒ์„ ํ™•์ธํ•œ๋‹ค. ๋‹ค๋งŒ ์ด๋ฒˆ ๋น„๊ต๋Š” ๋‹ค์‹œ full precision ๋ชจ๋ธ ๊ธฐ์ค€์œผ๋กœ ๋Œ์•„์™”๊ธฐ ๋•Œ๋ฌธ์—, ์ •๋ฐ€๋„ ๋ณ€ํ™”๋„ ํ•จ๊ป˜ ํ•ด์„ํ•ด์•ผ ํ•œ๋‹ค.
  36. 1:49:07
    ์ตœ์ข… ์ฃผ์˜์‚ฌํ•ญ๊ณผ ๋งˆ๋ฌด๋ฆฌ ์–‘์žํ™”, speculative decoding, sequence ์ œํ•œ, GPU ๋ฉ”๋ชจ๋ฆฌ ํ™œ์šฉ๋ฅ ์ฒ˜๋Ÿผ ์กฐ์ • ๊ฐ€๋Šฅํ•œ ๋ ˆ๋ฒ„๊ฐ€ ๋งŽ์ง€๋งŒ, ๋ชจ๋“  ๋ณ€ํ™”๋Š” ๋ฐ˜๋“œ์‹œ ์ž๊ธฐ ์›Œํฌ๋กœ๋“œ์˜ eval๋กœ ๊ฒ€์ฆํ•ด์•ผ ํ•œ๋‹ค. ๊ฒฐ๊ตญ ์ „์šฉ GPU์™€ ์„œ๋น™ ์„ค์ •์„ ์–ผ๋งˆ๋‚˜ ์ž˜ ๋งž์ถ”๋А๋ƒ๊ฐ€ ์—์ด์ „ํŠธ์˜ ๋น„์šฉ๊ณผ ์„ฑ๋Šฅ์„ ๊ฒฐ์ •ํ•œ๋‹ค.

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

  • ์—์ด์ „ํŠธ ์ถ”๋ก  ์ตœ์ ํ™”๋Š” ๋ชจ๋ธ ์ž์ฒด๋ณด๋‹ค๋„ KV cache, ๋™์‹œ์„ฑ, ๋ฐฐ์น˜, ๋ฉ”๋ชจ๋ฆฌ ์˜ˆ์‚ฐ ๊ฐ™์€ ์„œ๋น™ ๋ณ€์ˆ˜์—์„œ ์ฒด๊ฐ ์ฐจ์ด๊ฐ€ ํฌ๊ฒŒ ๋‚œ๋‹ค.
  • ์–‘์žํ™”์™€ speculative decoding์€ ๋ฌด์กฐ๊ฑด ์„ฑ๋Šฅ ํ–ฅ์ƒ์ด ์•„๋‹ˆ๋ผ์„œ, ๋ฐ˜๋“œ์‹œ ์‹ค์ œ ์›Œํฌ๋กœ๋“œ ๊ธฐ์ค€์˜ eval๊ณผ ๋ถ€ํ•˜ ํ…Œ์ŠคํŠธ๋ฅผ ๋จผ์ € ๋ถ™์—ฌ์•ผ ํ•œ๋‹ค.
  • ์ „์šฉ GPU๋ฅผ ์“ธ์ง€ ์—ฌ๋ถ€๋Š” ๋น„์šฉ๋งŒ์ด ์•„๋‹ˆ๋ผ ๋ฐ์ดํ„ฐ ํ†ต์ œ, ๊ทœ์ œ, SLA, ํŠธ๋ž˜ํ”ฝ ํŒจํ„ด๊นŒ์ง€ ํ•จ๊ป˜ ๋ณด๊ณ  ๊ฒฐ์ •ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์‹ค๋ฌด์ ์ด๋‹ค.