Ryotta's Basic

LLM
๐Ÿค– LLM ๊ฒ€์ฆ์™„๋ฃŒ

MLA Analysis

MLA (Multi-head Latent Attention) ์‹ฌ์ธต ๋ถ„์„

Low-Rank KV Joint Compression ยท Decoupled RoPE ยท Weight Absorption ยท DeepSeek-V2/V3

MLA(Multi-head Latent Attention)๋Š” DeepSeek-V2๊ฐ€ ๋„์ž…ํ•œ ์–ดํ…์…˜ ๊ธฐ๋ฒ•์œผ๋กœ, Key/Value๋ฅผ ์ €์ฐจ์› latent(์ž ์žฌ) ๋ฒกํ„ฐ๋กœ ์••์ถ•ํ•ด KV ์บ์‹œ๋ฅผ ํฌ๊ฒŒ ์ค„์ž…๋‹ˆ๋‹ค. ๊ธด ๋ฌธ๋งฅ์—์„œ๋Š” KV ์บ์‹œ๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์™€ ๋Œ€์—ญํญ ๋ณ‘๋ชฉ์ด ๋˜๊ธฐ ์‰ฌ์šด๋ฐ, MLA๋Š” ์ €์žฅ ๋Œ€์ƒ์„ ์ž‘๊ฒŒ ๋งŒ๋“ค์–ด ์ด ๋ณ‘๋ชฉ์„ ์ง์ ‘ ์ค„์ž…๋‹ˆ๋‹ค.

GQA/MQA๊ฐ€ 'KV ํ—ค๋“œ ์ˆ˜'๋ฅผ ์ค„์ด๋Š” ๋ฐฉ์‹์ด๋ผ๋ฉด, MLA๋Š” '์ €์žฅํ•˜๋Š” ๋‚ด์šฉ ์ž์ฒด'๋ฅผ ์ €์ฐจ์›์œผ๋กœ ์••์ถ•ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ๊ฒฐ๊ณผ ์บ์‹œ๋Š” ์ž‘๊ฒŒ ์œ ์ง€ํ•˜๋ฉด์„œ๋„ ํ’ˆ์งˆ ์ €ํ•˜๋ฅผ ์ค„์ด๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ์„ค๊ณ„๋˜๋ฉฐ, decoupled RoPE์™€ weight absorption์„ ํ†ตํ•ด ์œ„์น˜ ์ •๋ณด ์ฒ˜๋ฆฌ์™€ ์ถ”๋ก  ๊ฒฝ๋กœ๋„ ํ•จ๊ป˜ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

ํ•ต์‹ฌ ๊ฐœ๋…

  • latent ์••์ถ• โ€” K,V๋ฅผ ์ž‘์€ latent c_KV๋กœ ์••์ถ•ํ•ด ์บ์‹œ์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.
  • low-rank ๋ถ„ํ•ด โ€” ํฐ ํˆฌ์˜ ํ–‰๋ ฌ์„ down-projection๊ณผ up-projection์œผ๋กœ ๋‚˜๋ˆ•๋‹ˆ๋‹ค.
  • decoupled RoPE โ€” ๋‚ด์šฉ ์ •๋ณด์™€ ์œ„์น˜ ์ •๋ณด๋ฅผ ๋ถ„๋ฆฌํ•ด RoPE๋ฅผ ๋ณ„๋„๋กœ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
  • weight absorption โ€” up-projection์„ Q/O ์ชฝ์— ํก์ˆ˜ํ•ด ๋ณต์› ๋‹จ๊ณ„๋ฅผ ์ค„์ž…๋‹ˆ๋‹ค.

1. ํ•ต์‹ฌ ์•„์ด๋””์–ด โ€” K,V๋ฅผ ์ €์ฐจ์› latent๋กœ ์••์ถ•

MLA์˜ ์ถœ๋ฐœ์ ์€ GQA/MQA์™€ ๊ฐ™์€ ๋ฌธ์ œ(KV ์บ์‹œ๊ฐ€ ๋ฉ”๋ชจ๋ฆฌยท๋Œ€์—ญํญ ๋ณ‘๋ชฉ)์ด์ง€๋งŒ, ์ ‘๊ทผ์ด ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ํ—ค๋“œ๋ฅผ ๊ณต์œ ํ•ด ํ‘œํ˜„๋ ฅ์„ ํฌ์ƒํ•˜๋Š” ๋Œ€์‹ , Key/Value๋ฅผ ์ €์ฐจ์› ์ž ์žฌ ๋ฒกํ„ฐ๋กœ ์••์ถ•ํ•ด ์ €์žฅํ•˜๊ณ  ์‚ฌ์šฉํ•  ๋•Œ ๋ณต์›ํ•ฉ๋‹ˆ๋‹ค.

llm_0025_mla_analysis

๊ทธ๋ฆผ 1. ๊ธฐ์กด MHA/GQA๋Š” ํ—ค๋“œ๋ณ„ K,V๋ฅผ ์ €์žฅ, MLA๋Š” ์ž‘์€ latent c_KV๋งŒ ์ €์žฅ

GQA์™€์˜ ๊ทผ๋ณธ์  ์ฐจ์ด

  • GQA/MQA โ€” 'KV ํ—ค๋“œ ์ˆ˜'๋ฅผ ์ค„์—ฌ ์บ์‹œ๋ฅผ ์ค„์ž…๋‹ˆ๋‹ค(ํ—ค๋“œ ๊ณต์œ ). ํ‘œํ˜„๋ ฅ์„ ์ผ๋ถ€ ํฌ์ƒํ•˜๋Š” ํŠธ๋ ˆ์ด๋“œ์˜คํ”„๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

  • MLA โ€” ์ €์ฐจ์› ํ–‰๋ ฌ ๋ถ„ํ•ด(low-rank)๋กœ K,V๋ฅผ ์••์ถ•ํ•ฉ๋‹ˆ๋‹ค. ํฐ ํˆฌ์˜ ํ–‰๋ ฌ W_KV๋ฅผ down-projection(W_DKV)๊ณผ up-projection(W_UK, W_UV) ๋‘ ๋‹จ๊ณ„๋กœ ๋ถ„ํ•ดํ•ด, ์ž…๋ ฅ์„ ์ž‘์€ latent c_KV(d_c ์ฐจ์›, ์˜ˆ: 512)๋กœ ์••์ถ• ์ €์žฅํ•˜๊ณ , ์‚ฌ์šฉ ์‹œ ํ—ค๋“œ๋ณ„ full K,V๋กœ ๋ณต์›ํ•ฉ๋‹ˆ๋‹ค.

  • KV ์บ์‹œ์—๋Š” ์ž‘์€ c_KV๋งŒ ์ €์žฅ โ†’ ํ—ค๋“œ ์ˆ˜๊ฐ€ ์•„๋‹ˆ๋ผ 'latent ์ฐจ์›'๋งŒํผ๋งŒ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์”๋‹ˆ๋‹ค.

  • ํ•ต์‹ฌ ์ฃผ์žฅ(DeepSeek): MLA๋Š” MHA๋ณด๋‹ค KV ์บ์‹œ๋Š” ํ›จ์”ฌ ์ž‘์œผ๋ฉด์„œ ํ’ˆ์งˆ์€ ์˜คํžˆ๋ ค ๋” ์ข‹์Šต๋‹ˆ๋‹ค. ์ฆ‰ 'ํ—ค๋“œ๋ฅผ ์ค„์ด๋ฉด ํ’ˆ์งˆ ์†์‹ค'์ด๋ผ๋Š” GQA์˜ ํŠธ๋ ˆ์ด๋“œ์˜คํ”„๋ฅผ ์ฐจ์› ์••์ถ•์œผ๋กœ ์šฐํšŒํ•ฉ๋‹ˆ๋‹ค.

2. ๋ฐ์ดํ„ฐ ํ๋ฆ„ โ€” ์••์ถ• ๊ฒฝ๋กœ์™€ decoupled RoPE

MLA๋Š” ๋‘ ๊ฐˆ๋ž˜์˜ ๊ฒฝ๋กœ๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ํ•˜๋‚˜๋Š” K,V์˜ '๋‚ด์šฉ'์„ ์••์ถ•ํ•˜๋Š” ๊ฒฝ๋กœ์ด๊ณ , ๋‹ค๋ฅธ ํ•˜๋‚˜๋Š” '์œ„์น˜ ์ •๋ณด'(RoPE)๋ฅผ ๋”ฐ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒฝ๋กœ์ž…๋‹ˆ๋‹ค. ์ด ๋‘˜์„ ๋ถ„๋ฆฌํ•˜๋Š” ๊ฒƒ์ด MLA ๊ตฌํ˜„์˜ ํ•ต์‹ฌ ๋‚œ์ ์ด์ž ํ•ด๋ฒ•์ž…๋‹ˆ๋‹ค.

MLA Analysis

๊ทธ๋ฆผ 2. ์••์ถ• ๊ฒฝ๋กœ(downโ†’latentโ†’up)์™€ RoPE ๊ฒฝ๋กœ(๋ณ„๋„ rotary key)์˜ ๋ถ„๋ฆฌ

๋‘ ๊ฒฝ๋กœ

  • ์••์ถ• ๊ฒฝ๋กœ(๋‚ด์šฉ) โ€” ์ž…๋ ฅ hโ‚œ๋ฅผ down-projection์œผ๋กœ latent c_KV๋กœ ์••์ถ• โ†’ ์ด๊ฒƒ๋งŒ ์บ์‹œ์— ์ €์žฅ โ†’ ์–ดํ…์…˜ ์‹œ up-projection์œผ๋กœ K^C, V๋ฅผ ๋ณต์›.

  • RoPE ๊ฒฝ๋กœ(์œ„์น˜) โ€” ๋ณ„๋„์˜ ์ž‘์€ ํˆฌ์˜์œผ๋กœ ์œ„์น˜ ๋ถ€๋ถ„์„ ๋งŒ๋“ค๊ณ  RoPE๋ฅผ ์ ์šฉํ•ด, ๋ชจ๋“  ํ—ค๋“œ๊ฐ€ ๊ณต์œ ํ•˜๋Š” ์ž‘์€ rotary key(k^R)๋กœ ์ €์žฅ. ์บ์‹œ์—๋Š” c_KV์™€ ์ž‘์€ k^R ๋‘˜๋งŒ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.

์™œ RoPE๋ฅผ ๋ถ„๋ฆฌ(decouple)ํ•˜๋‚˜

๋ฌธ์ œ๋Š” ์ €์ฐจ์› ์••์ถ•(low-rank)๊ณผ RoPE(ํšŒ์ „ ์œ„์น˜ ์ธ์ฝ”๋”ฉ)๊ฐ€ ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค. RoPE๋Š” ์œ„์น˜์— ๋”ฐ๋ผ K๋ฅผ ํšŒ์ „์‹œํ‚ค๋Š”๋ฐ, ์ด ํšŒ์ „์ด ์••์ถ•โ†’๋ณต์› ๊ณผ์ •๊ณผ ๊ตํ™˜(commute)๋˜์ง€ ์•Š์•„ ์œ„์น˜ ์ •๋ณด๋ฅผ latent์— ํ•จ๊ป˜ ํก์ˆ˜ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ํ•ด๊ฒฐ์ฑ…์ด decoupled RoPE์ž…๋‹ˆ๋‹ค. K๋ฅผ ๋‚ด์šฉ ๋ถ€๋ถ„(K^C, latent๋กœ ์••์ถ•ยท์œ„์น˜ ์—†์Œ)๊ณผ ์œ„์น˜ ๋ถ€๋ถ„(K^R, ๋ณ„๋„ ์ฐจ์›์— RoPE ์ ์šฉยท๋ชจ๋“  ํ—ค๋“œ๊ฐ€ ๊ณต์œ )์œผ๋กœ ๋‚˜๋ˆ„๊ณ , ์–ดํ…์…˜ ์‹œ ๋‘˜์„ concatํ•ด ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์••์ถ•์˜ ์ด์ ์„ ์ง€ํ‚ค๋ฉด์„œ๋„ ์œ„์น˜ ์ •๋ณด๋ฅผ ์ •ํ™•ํžˆ ๋ฐ˜์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

3. Weight Absorption โ€” ๋ณต์› ๋‹จ๊ณ„๋ฅผ ์—†์• ๋Š” ์ถ”๋ก  ํŠธ๋ฆญ

MLA๋ฅผ ์ˆœ์ง„ํ•˜๊ฒŒ ๊ตฌํ˜„ํ•˜๋ฉด ๋””์ฝ”๋”ฉ๋งˆ๋‹ค latent์—์„œ K,V๋ฅผ ๋ณต์›ํ•˜๋Š” ์—ฐ์‚ฐ์ด ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ํ–‰๋ ฌ๊ณฑ์˜ ๊ฒฐํ•ฉ๋ฒ•์น™์„ ์ด์šฉํ•˜๋ฉด ์ด ๋ณต์› ๋‹จ๊ณ„๋ฅผ ์•„์˜ˆ ์—†์•จ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด weight absorption(ํ–‰๋ ฌ ํก์ˆ˜)์ž…๋‹ˆ๋‹ค.

MLA Analysis

๊ทธ๋ฆผ 3. ์ˆœ์ง„ํ•œ ๋ณต์› ๋ฐฉ์‹ vs up-projection ํ–‰๋ ฌ์„ QยทO์— ํก์ˆ˜ํ•˜๋Š” ๋ฐฉ์‹

weight absorption์˜ ์›๋ฆฌ

  • QยทKแต€์—์„œ K=W_UKยทc_KV์ด๋ฏ€๋กœ, W_UK๋ฅผ Query ํˆฌ์˜์— ๋ฏธ๋ฆฌ ๊ณฑํ•ด๋‘๋ฉด(ํก์ˆ˜) ๋ณต์› ์—†์ด latent c_KV๋กœ ๋ฐ”๋กœ ์–ดํ…์…˜ ์ ์ˆ˜๋ฅผ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ถœ๋ ฅ ์ชฝ์˜ W_UV๋Š” ์ถœ๋ ฅ ํˆฌ์˜ W_O์— ํก์ˆ˜๋ฉ๋‹ˆ๋‹ค. ๋‘˜ ๋‹ค ํ•™์Šต์ด ๋๋‚œ ๋’ค ๊ฐ€์ค‘์น˜๋ฅผ ๋ฏธ๋ฆฌ ํ•ฉ์ณ๋‘๋Š” ๊ฒƒ์ด๋ผ ์ˆ˜ํ•™์ ์œผ๋กœ ์™„์ „ํžˆ ๋™๋“ฑํ•ฉ๋‹ˆ๋‹ค.

  • ๊ฒฐ๊ณผ: ์ €์žฅ์€ ์ž‘์€ latent๋กœ(๋ฉ”๋ชจ๋ฆฌโ†“), ๊ณ„์‚ฐ๋„ ๋ณต์› ์—†์ด(์—ฐ์‚ฐโ†“). ๋‹ค๋งŒ latent์— ์ง์ ‘ ๊ณ„์‚ฐํ•˜๋ฉด ํ—ค๋“œ ๊ฐ„ ๊ณต์œ  ๊ตฌ์กฐ๊ฐ€ ์ƒ๊ฒจ ์ปค๋„ ์ตœ์ ํ™”๊ฐ€ ๊นŒ๋‹ค๋กญ์Šต๋‹ˆ๋‹ค.

  • ์‹คํ–‰ ๋ฐฉ์‹ ์„ ํƒ โ€” latent ์žฌ์‚ฌ์šฉ(์—ฐ์‚ฐโ†“ยท๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผโ†‘)๊ณผ ๋ณต์› ์žฌ๊ณ„์‚ฐ(๋ฉ”๋ชจ๋ฆฌโ†“ยท์—ฐ์‚ฐโ†‘) ์‚ฌ์ด์˜ ํŠธ๋ ˆ์ด๋“œ์˜คํ”„๊ฐ€ ์žˆ์–ด, ํ•˜๋“œ์›จ์–ดยท๋ฌธ๋งฅ ๊ธธ์ด์— ๋”ฐ๋ผ ์œ ๋ฆฌํ•œ ์ชฝ์ด ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค.

4. ๋น„๊ต/๋ถ„์„

MLA Analysis

๊ทธ๋ฆผ 4. KV ์บ์‹œ ํฌ๊ธฐยทDeepSeek-V2 ์ˆ˜์น˜ยทํ’ˆ์งˆ vs KV ์‚ฐ์ ๋„ยท์ฑ„ํƒ/๋งˆ์ด๊ทธ๋ ˆ์ด์…˜

๋„ค ๋ฐฉ์‹์˜ KV ์บ์‹œ ๋น„๊ต

DeepSeek-V2 ๋ณด๊ณ  ์ˆ˜์น˜ (vs DeepSeek 67B)

  • KV ์บ์‹œ 93.3% ๊ฐ์†Œ โ€” latent ์••์ถ•์œผ๋กœ ํ† ํฐ๋‹น ์บ์‹œ๊ฐ€ ํฌ๊ฒŒ ์ค„์–ด๋“ญ๋‹ˆ๋‹ค.

  • ์ƒ์„ฑ ์ฒ˜๋ฆฌ๋Ÿ‰ 5.76๋ฐฐ โ€” 8ร—H800 ๋…ธ๋“œ์—์„œ 50K tokens/s๋ฅผ ์ดˆ๊ณผํ•˜๋Š” ์ตœ๋Œ€ ์ƒ์„ฑ ์ฒ˜๋ฆฌ๋Ÿ‰.

  • ํ•™์Šต ๋น„์šฉ 42.5% ์ ˆ๊ฐ โ€” MLA์™€ DeepSeekMoE๋ฅผ ํ•จ๊ป˜ ์ ์šฉํ•œ ๊ฒฐ๊ณผ.

  • ๋ชจ๋ธ ๊ทœ๋ชจ โ€” ์ด 236B ํŒŒ๋ผ๋ฏธํ„ฐ ์ค‘ ํ† ํฐ๋‹น 21B๋งŒ ํ™œ์„ฑํ™”(MoE), 128K ๋ฌธ๋งฅ ๊ธธ์ด ์ง€์›.

ํ’ˆ์งˆ-KV ํ‰๋ฉด์—์„œ MLA๋Š” '์ž‘์€ KV + ๋†’์€ ํ’ˆ์งˆ'์˜ ์ขŒ์ƒ๋‹จ์— ์œ„์น˜ํ•ฉ๋‹ˆ๋‹ค. MQA๋Š” KV๊ฐ€ ์ž‘์ง€๋งŒ ํ’ˆ์งˆ์ด ๋‚ฎ๊ณ , MHA๋Š” ํ’ˆ์งˆ์ด ๋†’์ง€๋งŒ KV๊ฐ€ ํฌ๋ฉฐ, GQA๋Š” ๊ทธ ์ค‘๊ฐ„์ธ ๋ฐ˜๋ฉด, MLA๋Š” ๋‘ ๋ชฉํ‘œ๋ฅผ ๋™์‹œ์— ๋‹ฌ์„ฑํ•œ๋‹ค๋Š” ๊ฒƒ์ด ํ•ต์‹ฌ ์ฃผ์žฅ์ž…๋‹ˆ๋‹ค. ์‹ค์ œ ๋ฐฐํฌ ์‹œ์—๋Š” FP8๊ณผ KV ์บ์‹œ ์–‘์žํ™”๊นŒ์ง€ ๊ฒฐํ•ฉํ•ด ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋” ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค โ€” ์ฆ‰ MLA๋Š” ์–‘์žํ™”์™€ ์ง๊ต์ ์œผ๋กœ ํ•จ๊ป˜ ์“ฐ์ž…๋‹ˆ๋‹ค.

์žฅ๋‹จ์ 

์žฅ์  ๋‹จ์ 
KV ์บ์‹œ๋ฅผ MQA ์ˆ˜์ค€์— ๊ฐ€๊น๊ฒŒ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค ์ปค๋„ ๊ตฌ์กฐ์™€ ์ˆ˜์‹์ด ๋ณต์žกํ•ด ๊ตฌํ˜„์ด ๊นŒ๋‹ค๋กญ๋‹ค
GQA๋ณด๋‹ค ํ‘œํ˜„๋ ฅ ์†์‹ค์„ ๋œ ์œ ๋ฐœํ•  ์ˆ˜ ์žˆ๋‹ค ๋ชจ๋ธ๋งˆ๋‹ค latent ์ฐจ์›๊ณผ RoPE ๋ถ„๋ฆฌ ๋น„์œจ์„ ์กฐ์ •ํ•ด์•ผ ํ•œ๋‹ค
KV ์–‘์žํ™”, PagedAttention๊ณผ ์ง๊ต์ ์œผ๋กœ ๊ฒฐํ•ฉํ•  ์ˆ˜ ์žˆ๋‹ค ๊ธฐ์กด MHA/GQA ๋ชจ๋ธ์€ ์ „ํ™˜ ์ ˆ์ฐจ๊ฐ€ ํ•„์š”ํ•˜๋‹ค

5. ๊ด€๋ จ ๊ธฐ์ˆ 

๊ธฐ์กด MHA ๋ชจ๋ธ์„ MLA๋กœ โ€” MHA2MLA

MLA์˜ ๊ฐ•๋ ฅํ•จ ๋•Œ๋ฌธ์—, ์ด๋ฏธ ํ•™์Šต๋œ MHA/GQA ๋ชจ๋ธ์„ MLA๋กœ ์ „ํ™˜ํ•˜๋ ค๋Š” ์—ฐ๊ตฌ๊ฐ€ ํ™œ๋ฐœํ•ฉ๋‹ˆ๋‹ค. MHA2MLA๋Š” ๋‘ ๊ฐ€์ง€ ๊ธฐ๋ฒ•์œผ๋กœ ์ด๋ฅผ ๋ฐ์ดํ„ฐ ํšจ์œจ์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค: (1) partial-RoPE โ€” ์–ดํ…์…˜ ์ ์ˆ˜์— ๋œ ๊ธฐ์—ฌํ•˜๋Š” ์ฐจ์›์—์„œ RoPE๋ฅผ ์ œ๊ฑฐํ•˜๊ณ , (2) joint SVD โ€” ์‚ฌ์ „ํ•™์Šต๋œ Key/Value ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ํŠน์ด๊ฐ’ ๋ถ„ํ•ด(SVD)๋กœ ์ €์ฐจ์› ๊ทผ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฐฉ๋ฒ•์€ ๋ฐ์ดํ„ฐ์˜ 0.3~0.6%๋งŒ์œผ๋กœ ์„ฑ๋Šฅ์„ ํšŒ๋ณตํ•˜๋ฉฐ, ์˜ˆ๋ฅผ ๋“ค์–ด Llama2-7B์˜ KV ์บ์‹œ๋ฅผ 92.19% ์ค„์ด๋ฉด์„œ LongBench ์„ฑ๋Šฅ์€ 0.5%๋งŒ ํ•˜๋ฝํ•œ๋‹ค๊ณ  ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค. KV ์บ์‹œ ์–‘์žํ™” ๊ฐ™์€ ์••์ถ• ๊ธฐ๋ฒ•๊ณผ๋„ ๋งค๋„๋Ÿฝ๊ฒŒ ๊ฒฐํ•ฉ๋ฉ๋‹ˆ๋‹ค.

KV ์ ˆ๊ฐ ๊ธฐ๋ฒ•๋“ค ์† MLA์˜ ์œ„์น˜

MLA๋Š” LLM ์ถ”๋ก  ๋ฉ”๋ชจ๋ฆฌ ์ตœ์ ํ™”์˜ ์—ฌ๋Ÿฌ ์ถ• ์ค‘ '์–ดํ…์…˜ ์•„ํ‚คํ…์ฒ˜' ์ถ•์—์„œ GQA์˜ ๋‹ค์Œ ์ง„ํ™”์— ํ•ด๋‹นํ•˜๋ฉฐ, ๋‹ค๋ฅธ ์ถ•์˜ ๊ธฐ๋ฒ•๋“ค๊ณผ ์ง๊ต์ ์ž…๋‹ˆ๋‹ค.

์ •๋ฆฌํ•˜๋ฉด 'KV๋ฅผ ๋ช‡ ๊ฐœ ํ—ค๋“œ๋กœ/์–ผ๋งˆ๋‚˜ ์••์ถ•ํ• ์ง€(MLAยทGQA), ๋ช‡ ๋น„ํŠธ๋กœ(์–‘์žํ™”), ์–ด๋–ป๊ฒŒ ๋‹ด๊ณ (PagedAttention), ์–ด๋А ํ† ํฐ๊นŒ์ง€(์ถ•์ถœ)'๊ฐ€ ํ•จ๊ป˜ ์ž‘๋™ํ•˜๋Š” ์„ค๊ณ„ ๊ณต๊ฐ„์ด๋ฉฐ, MLA๋Š” ๊ทธ์ค‘ ๊ฐ€์žฅ ์นจ์Šต์ ์ด์ง€๋งŒ ๊ฐ•๋ ฅํ•œ ์•„ํ‚คํ…์ฒ˜ ์ˆ˜์ค€ ์••์ถ•์„ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค.

์ฐธ๊ณ  ๋ฌธํ—Œ

  • DeepSeek-AI et al., DeepSeek-V2: A Strong, Economical, and Efficient Mixture-of-Experts Language Model (arXiv:2405.04434)
  • Ji et al., Towards Economical Inference: Enabling DeepSeek's Multi-Head Latent Attention in Any Transformer-based LLMs (arXiv:2502.14837)

ํ•ต์‹ฌ ์ •๋ฆฌ

ํ•ต์‹ฌ ์ •๋ฆฌ โ€” MLA๋Š” Key/Value๋ฅผ ์ €์ฐจ์› latent ๋ฒกํ„ฐ๋กœ ์••์ถ•ํ•ด KV ์บ์‹œ๋ฅผ ์ค„์ด๋Š” ์–ดํ…์…˜ ๊ธฐ๋ฒ•์œผ๋กœ, GQA๊ฐ€ ํ—ค๋“œ๋ฅผ ๊ณต์œ ํ•˜๋Š” ๊ฒƒ๊ณผ ๋‹ฌ๋ฆฌ '์ €์žฅ ๋‚ด์šฉ ์ž์ฒด'๋ฅผ ์••์ถ•ํ•œ๋‹ค. down-projection์œผ๋กœ ์ž‘์€ c_KV๋งŒ ์บ์‹œ์— ์ €์žฅํ•˜๊ณ  up-projection์œผ๋กœ ๋ณต์›ํ•˜๋˜, ์••์ถ•๊ณผ ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” RoPE๋Š” decoupled RoPE๋กœ ๋ถ„๋ฆฌ(๋‚ด์šฉ K^C + ์œ„์น˜ K^R)ํ•ด ์ฒ˜๋ฆฌํ•œ๋‹ค. ์ถ”๋ก  ์‹œ์—๋Š” up-projection ํ–‰๋ ฌ์„ QยทO์— ํก์ˆ˜(weight absorption)ํ•ด ๋ณต์› ๋‹จ๊ณ„๋ฅผ ์—†์•จ ์ˆ˜ ์žˆ์–ด ๋ฉ”๋ชจ๋ฆฌ์™€ ์—ฐ์‚ฐ์„ ํ•จ๊ป˜ ์ ˆ๊ฐํ•œ๋‹ค. DeepSeek-V2๋Š” MLA๋กœ 67B ๋Œ€๋น„ KV ์บ์‹œ 93.3% ๊ฐ์†Œยท์ƒ์„ฑ ์ฒ˜๋ฆฌ๋Ÿ‰ 5.76๋ฐฐ๋ฅผ ๋ณด๊ณ ํ–ˆ๊ณ , MLA๋Š” ์–‘์žํ™”ยทPagedAttention๊ณผ ์ง๊ต์ ์ด๋ฉฐ, MHA2MLA ๊ฐ™์€ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์œผ๋กœ ๊ธฐ์กด ๋ชจ๋ธ์—๋„ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค(Llama2-7B KV 92.19% ๊ฐ์†Œ).

์ฃผ์˜ โ€” ๋ณธ๋ฌธ ์ˆ˜์น˜๋Š” ์›๋…ผ๋ฌธ(DeepSeek-V2 arXiv 2405.04434)๊ณผ ํ›„์† ์—ฐ๊ตฌ(MHA2MLA arXiv 2502.14837)์˜ ๋ณด๊ณ ๊ฐ’์ด๋‹ค. 'KV 93.3% ๊ฐ์†Œยท5.76๋ฐฐ ์ฒ˜๋ฆฌ๋Ÿ‰'์€ DeepSeek-V2 ๋Œ€ DeepSeek 67B์˜ ํŠน์ • ์กฐ๊ฑด(8ร—H800, ํŠน์ • ํ”„๋กฌํ”„ํŠธ/์ƒ์„ฑ ๊ธธ์ด ๋ถ„ํฌ) ๊ฒฐ๊ณผ์ด๋ฉฐ d_c=512 ๋“ฑ ๊ตฌ์„ฑ์€ ๋ชจ๋ธ๋งˆ๋‹ค ๋‹ค๋ฅด๋‹ค. 'Llama2-7B KV 92.19% ๊ฐ์†ŒยทLongBench 0.5% ํ•˜๋ฝ'์€ ๋ณ„๋„ ์—ฐ๊ตฌ(MHA2MLA)์˜ ๋ณด๊ณ ๊ฐ’์œผ๋กœ, ์••์ถ•๋ฅ ยท์ •ํ™•๋„ ๊ท ํ˜•์€ ๋ชจ๋ธยท์„ค์ •์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง„๋‹ค. MLA๋Š” V3/R1์—๋„ ์‚ฌ์šฉ๋˜๋‚˜ ๊ตฌ์„ฑ ์„ธ๋ถ€๋Š” ๋ฒ„์ „๋งˆ๋‹ค ์ฐจ์ด๊ฐ€ ์žˆ๋‹ค.

# ์–ดํ…์…˜ ์ ์ˆ˜: Q ยท K^t (K^t ๋Š” K์˜ ์ „์น˜)
# ๊ทธ๋Ÿฐ๋ฐ MLA์—์„œ K = W_UK ยท c_KV (up-projection ร— latent)
#
#   Q ยท K^t = Q ยท (W_UK ยท c_KV)^t
#           = Q ยท c_KV^t ยท W_UK^t
#           = (Q ยท W_UK^t) ยท c_KV^t
#             โ””โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”˜
#         W_UK ๋ฅผ Query ์ชฝ์— ํก์ˆ˜ โ†’ ๋ฏธ๋ฆฌ ํ•ฉ์ณ๋‘˜ ์ˆ˜ ์žˆ์Œ
#
# ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ถœ๋ ฅ์˜ W_UV ๋Š” ์ถœ๋ ฅ ํˆฌ์˜ W_O ์— ํก์ˆ˜ ๊ฐ€๋Šฅ
# ๊ฒฐ๊ณผ: ์บ์‹œ๋œ latent c_KV ๋กœ '๋ฐ”๋กœ' ์–ดํ…์…˜ โ†’ K,V ๋ณต์› ๋‹จ๊ณ„ ์ œ๊ฑฐ
๋ฐฉ์‹ KV ์บ์‹œ์— ์ €์žฅํ•˜๋Š” ๊ฒƒ ์ƒ๋Œ€ ํฌ๊ธฐ ํ’ˆ์งˆ
MHA ํ—ค๋“œ๋งˆ๋‹ค ์ „์ฒด K,V ๊ฐ€์žฅ ํผ ์ตœ๊ณ (๊ธฐ์ค€)
GQA KV ํ—ค๋“œ 1/g ๊ทธ๋ฃน์˜ K,V ์ค‘๊ฐ„ MHA๋ณด๋‹ค ์•ฝ๊ฐ„โ†“
MQA K,V ํ—ค๋“œ 1๊ฐœ ์ตœ์†Œ ์ €ํ•˜ ์œ„ํ—˜
MLA ์ž‘์€ latent c_KV (+ k^R) MQA์— ๋ฒ„๊ธˆ MHA ์ด์ƒ ์ฃผ์žฅ
์ถ• ๊ธฐ๋ฒ• MLA์™€์˜ ๊ด€๊ณ„
ํ—ค๋“œ ์ˆ˜ / ์••์ถ• GQA/MQA โ†’ MLA MLA๊ฐ€ ํ—ค๋“œ ๊ณต์œ ๋ฅผ latent ์••์ถ•์œผ๋กœ ๋Œ€์ฒด(์ง„ํ™”)
๋น„ํŠธ ์ˆ˜ KV ์–‘์žํ™”(FP8/INT4) ์ง๊ต โ€” MLA ์œ„์— KV ์–‘์žํ™”๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Œ
๋‚ญ๋น„ PagedAttention ์ง๊ต โ€” latent๋„ ๋ธ”๋ก์œผ๋กœ ํŽ˜์ด์ง• ๊ด€๋ฆฌ ๊ฐ€๋Šฅ
ํ† ํฐ ์ˆ˜ KV ์ถ•์ถœ(H2O ๋“ฑ) ์ง๊ต โ€” ์ค‘์š” ํ† ํฐ๋งŒ ๋‚จ๊ธฐ๋Š” ๊ฒƒ๊ณผ ๋ณ‘ํ–‰ ๊ฐ€๋Šฅ