๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ› Research/NLP & LLM

Transformer Attention ์ดํ•ดํ•˜๊ธฐ: Q, K, V์˜ ์—ญํ• ๊ณผ ๋™์ž‘ ์›๋ฆฌ

by ๋ญ…์ฆค 2024. 11. 6.
๋ฐ˜์‘ํ˜•

 

LLMํ•˜๋ฉด transformer๋ฅผ ๋นผ๋จน์„ ์ˆ˜ ์—†๊ณ , ๊ทธ ํ•ต์‹ฌ ์ค‘ ํ•˜๋‚˜๋Š” ๋ฐ”๋กœ ์–ดํ…์…˜ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ธ๋ฐ์š”, ์ด ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์ดํ•ดํ•˜๋ฉด ํŠธ๋žœ์Šคํฌ๋จธ๊ฐ€ ์–ด๋–ป๊ฒŒ ๋‹จ์–ด๋“ค ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ํ•™์Šตํ•˜๊ณ  ๋ฌธ๋งฅ์„ ํŒŒ์•…ํ•˜๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ์–ด์š”. ํŠนํžˆ, ํŠธ๋žœ์Šคํฌ๋จธ์—์„œ ์‚ฌ์šฉ๋˜๋Š” Query (Q), Key (K), Value (V)๋Š” ์–ดํ…์…˜์ด ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ์ดํ•ดํ•˜๋Š” ๋ฐ ์•„์ฃผ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•ด์š”.

 

์˜ค๋Š˜์€ ์ด ์„ธ ๊ฐ€์ง€ ์š”์†Œ๊ฐ€ ์–ด๋–ป๊ฒŒ ์„œ๋กœ ์ž‘์šฉํ•˜๋Š”์ง€, ๊ทธ๋ฆฌ๊ณ  ํŠธ๋žœ์Šคํฌ๋จธ์˜ ์ธ์ฝ”๋”์™€ ๋””์ฝ”๋”์—์„œ ๊ฐ๊ฐ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉ๋˜๋Š”์ง€์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด ๋ณผ๊ฑฐ์˜ˆ์š”.

 


๐Ÿ“Œ Q, K, V ๊ฐœ๋… ์‚ดํŽด๋ณด๊ธฐ

 

Transformer Attention์—์„œ์˜ Query (Q), Key (K), Value (V)๋Š” ๋‹จ์–ด ๊ฐ„์˜ ์—ฐ๊ด€์„ฑ์„ ํŒŒ์•…ํ•˜๊ณ , ์ค‘์š”ํ•œ ์ •๋ณด๋ฅผ ๋ฝ‘์•„๋‚ด๋Š” ์—ญํ• ์„ ํ•ด์š”. ๊ฐ ๋‹จ์–ด๋Š” ๋ฌธ์žฅ ์† ๋‹ค๋ฅธ ๋‹จ์–ด๋“ค๊ณผ์˜ ๊ด€๊ณ„๋ฅผ ๊ณ„์‚ฐํ•˜์—ฌ ์ „์ฒด ๋ฌธ๋งฅ์„ ์ดํ•ดํ•˜๊ฒŒ ๋˜์ฃ .

  • Query (Q): "์–ด๋–ค ์ •๋ณด๋ฅผ ์ฐพ์•„์•ผ ํ• ๊นŒ?"๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ์—ญํ• ์ด์—์š”. ํ˜„์žฌ ์ฒ˜๋ฆฌ ์ค‘์ธ ๋‹จ์–ด ์ž…์žฅ์—์„œ, ๋‹ค๋ฅธ ๋‹จ์–ด๋“ค๋กœ๋ถ€ํ„ฐ ์–ด๋–ค ์ •๋ณด๋ฅผ ์–ป๊ณ  ์‹ถ์€์ง€๋ฅผ ๋‚˜ํƒ€๋‚ด์ฃ . ์˜ˆ๋ฅผ ๋“ค์–ด "cat"์ด ๋‹ค๋ฅธ ๋‹จ์–ด์™€ ์–ด๋–ค ๊ด€๊ณ„๊ฐ€ ์žˆ๋Š”์ง€ ์•Œ๊ณ  ์‹ถ๋‹ค๋ฉด, "cat"์ด Query๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.
  • Key (K): ๊ฐ ๋‹จ์–ด๊ฐ€ ๊ฐ€์ง„ ํŠน์ง•์„ ์••์ถ•ํ•œ ๊ฐ’์ด์—์š”. ๋ชจ๋“  ๋‹จ์–ด๋Š” ๊ณ ์œ ํ•œ Key๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์„œ Query๊ฐ€ ์–ด๋–ค ๋‹จ์–ด์™€ ์—ฐ๊ด€์ด ์žˆ๋Š”์ง€๋ฅผ ํ‰๊ฐ€ํ•  ๋•Œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ฆ‰, "The", "sat", "mat" ๊ฐ™์€ ๋‹จ์–ด๋“ค์ด ๊ฐ๊ฐ์˜ Key๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์–ด "cat"์ด ์–ด๋–ค ๋‹จ์–ด์™€ ๊ด€๋ จ ์žˆ๋Š”์ง€ ํŒ๋‹จํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋•์ฃ .
  • Value (V): ์‹ค์ œ ์ •๋ณด๋ฅผ ๋‹ด๊ณ  ์žˆ๋Š” ๊ฐ’์ด์—์š”. Query์™€ Key๋ฅผ ํ†ตํ•ด ์ฃผ๋ชฉํ•ด์•ผ ํ•  ๋‹จ์–ด๊ฐ€ ๊ฒฐ์ •๋˜๋ฉด, ๊ทธ ๋‹จ์–ด์— ๋‹ด๊ธด ์ •๋ณด๊ฐ€ Value์—์„œ ์ „๋‹ฌ๋ผ์š”. ์˜ˆ๋ฅผ ๋“ค์–ด, "cat"์ด "sat"๊ณผ ์—ฐ๊ฒฐ๋˜๋ฉด, "sat"์˜ ์ •๋ณด๋ฅผ ๊ฐ€์ง„ Value๊ฐ€ ์„ ํƒ๋ผ "cat"๊ณผ์˜ ๊ด€๊ณ„๋ฅผ ๋” ์ž˜ ์ดํ•ดํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

Q, K, V ์˜ˆ์‹œ

"The cat sat on the mat."

์ด ๋ฌธ์žฅ์—์„œ "cat"์„ ์ค‘์‹ฌ์œผ๋กœ ์ค‘์š”ํ•œ ์ •๋ณด๋ฅผ ์ฐพ๋Š”๋‹ค๊ณ  ๊ฐ€์ •ํ•ด์š”.

  1. Query (Q): "cat"์ด Query๋กœ์„œ ์‹œ์ž‘ํ•ด์š”. "cat"์€ ๋ฌธ์žฅ ์†์—์„œ ์ž์‹ ๊ณผ ๊ด€๋ จ๋œ ์ •๋ณด๋ฅผ ์ฐพ๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.
  2. Key (K): "The", "sat", "on", "mat" ๋“ฑ ๋ฌธ์žฅ์— ์žˆ๋Š” ๋ชจ๋“  ๋‹จ์–ด๋Š” ๊ฐ์ž์˜ Key๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์„œ, "cat"์ด ์ด Key๋“ค์„ ๋น„๊ตํ•˜๋ฉฐ ๊ด€๊ณ„๋ฅผ ํ‰๊ฐ€ํ•ด์š”.
  3. Value (V): ๊ฐ ๋‹จ์–ด์˜ ์‹ค์ œ ์ •๋ณด๊ฐ€ ๋‹ด๊ธด ๊ฐ’์ด์—์š”. Query๊ฐ€ ์—ฐ๊ด€๋œ Key๋ฅผ ์ฐพ์•„๋‚ด๋ฉด, ๊ทธ ๋‹จ์–ด์˜ Value ์ •๋ณด๊ฐ€ ๊ฐ•์กฐ๋ฉ๋‹ˆ๋‹ค.

 

๐Ÿ“Œ Attention ์—ฐ์‚ฐ

1. Q, K, V ๋ฒกํ„ฐ ์ƒ์„ฑ

์šฐ๋ฆฌ๋Š” ๋จผ์ € ์ž…๋ ฅ๋œ ๋ฌธ์žฅ์—์„œ ๊ฐ ๋‹จ์–ด๋ฅผ ์ž„๋ฒ ๋”ฉ(embedding) ํ•˜์—ฌ ๊ณ ์ฐจ์› ๋ฒกํ„ฐ๋กœ ๋ณ€ํ™˜ํ•ด์š”. ๊ทธ๋ฆฌ๊ณ  ์ด ๋ฒกํ„ฐ๋“ค์„ ์ด์šฉํ•ด Query (Q), Key (K), Value (V) ๋ฒกํ„ฐ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฒกํ„ฐ๋“ค์€ ๊ฐ๊ฐ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์—ฐ์‚ฐ์„ ๊ฑฐ์ณ ๊ตฌํ•ด์ง‘๋‹ˆ๋‹ค.

2. Query์™€ Key์˜ ์œ ์‚ฌ๋„ ๊ณ„์‚ฐ

Q์™€ K๋Š” ๋ฒกํ„ฐ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋‚ด์ (dot product) ์—ฐ์‚ฐ์„ ํ†ตํ•ด ์œ ์‚ฌ๋„๋ฅผ ๊ณ„์‚ฐํ•ด์š”. ๋‚ด์ ์€ ๋‘ ๋ฒกํ„ฐ๊ฐ€ ์–ผ๋งˆ๋‚˜ ๋น„์Šทํ•œ์ง€๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ˆ˜์น˜๋กœ, ์ด ์ˆ˜์น˜๋ฅผ ํ†ตํ•ด ์–ผ๋งˆ๋‚˜ ๊ด€๋ จ์ด ์žˆ๋Š”์ง€๋ฅผ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๊ฐ Query ๋ฒกํ„ฐ๋Š” ๋ฌธ์žฅ ๋‚ด ๋ชจ๋“  Key ๋ฒกํ„ฐ์™€ ๋น„๊ต๋ผ์š”.
  • ์˜ˆ๋ฅผ ๋“ค์–ด, Query์ธ "cat"์€ ๋ฌธ์žฅ ์†์˜ "sat", "on", "mat" ๋“ฑ์˜ ๋‹จ์–ด๋“ค๊ณผ์˜ ๊ด€๊ณ„๋ฅผ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค.

3. ์Šค์ผ€์ผ๋ง (Scaling)

๋‚ด์ ์„ ๊ณ„์‚ฐํ•œ ํ›„์—๋Š” ์Šค์ผ€์ผ๋ง์„ ํ•ด์ค๋‹ˆ๋‹ค. ๋‚ด์  ๊ฐ’์ด ๋„ˆ๋ฌด ์ปค์ง€์ง€ ์•Š๋„๋ก, ๋ฒกํ„ฐ ์ฐจ์› ์ˆ˜์˜ ์ œ๊ณฑ๊ทผ์œผ๋กœ ๋‚˜๋ˆ„์–ด์š”. ์ด ๊ณผ์ •์€ ์•ˆ์ •์ ์ธ ํ•™์Šต์„ ์œ„ํ•ด ์ค‘์š”ํ•ด์š”. ์˜ˆ๋ฅผ ๋“ค์–ด, Query์™€ Key๊ฐ€ 64์ฐจ์›์ด๋ผ๋ฉด, ๋‚ด์  ๊ฐ’์€ 64=8\sqrt{64} = 8๋กœ ๋‚˜๋ˆ„์–ด์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•จ์œผ๋กœ์จ ๊ฐ’์˜ ๋ฒ”์œ„๊ฐ€ ์ง€๋‚˜์น˜๊ฒŒ ์ปค์ง€์ง€ ์•Š๋„๋ก ์กฐ์ •ํ•  ์ˆ˜ ์žˆ์–ด์š”.

4. Softmax ํ•จ์ˆ˜ ์ ์šฉ

์Šค์ผ€์ผ๋ง๋œ ๊ฐ’์€ ์—ฌ์ „ํžˆ ํฐ ๊ฐ’๊ณผ ์ž‘์€ ๊ฐ’์ด ์žˆ์„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, Softmax ํ•จ์ˆ˜๋ฅผ ์ ์šฉํ•ด์„œ ๊ฐ ๋‹จ์–ด๊ฐ€ ์–ผ๋งˆ๋‚˜ ์ค‘์š”ํ•œ์ง€๋ฅผ ํ™•๋ฅ ์ ์œผ๋กœ ๋ฐ”๊ฟ”์š”. Softmax๋Š” ๊ฐ ๊ฐ’์ด 0๊ณผ 1 ์‚ฌ์ด์˜ ๊ฐ’์œผ๋กœ ๋ณ€ํ™˜๋˜๋„๋ก ํ•ด์ฃผ๋ฉฐ, ์ดํ•ฉ์€ 1์ด ๋˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ณผ์ •์€ ๊ฐ Query์™€ Key ๊ฐ„์˜ ์œ ์‚ฌ๋„๊ฐ€ ์–ผ๋งˆ๋‚˜ ์ค‘์š”ํ•œ์ง€๋ฅผ ๋ฐ˜์˜ํ•ฉ๋‹ˆ๋‹ค.

  • Softmax ์ ์šฉ ํ›„, ๊ฐ’์ด ๋†’์€ ๋ถ€๋ถ„์€ ๋” ๊ฐ•์กฐ๋˜๊ณ , ๊ฐ’์ด ๋‚ฎ์€ ๋ถ€๋ถ„์€ ๋œ ๊ฐ•์กฐ๋ฉ๋‹ˆ๋‹ค.
  • ์ด ๊ณผ์ •์€ ๊ฐ€์ค‘์น˜์ฒ˜๋Ÿผ ์ž‘์šฉํ•˜๊ฒŒ ๋ผ์š”.

5. ๊ฐ€์ค‘์น˜์™€ Value์˜ ๊ฒฐํ•ฉ

์ด์ œ, Softmax์—์„œ ๋‚˜์˜จ ํ™•๋ฅ ์  ๊ฐ€์ค‘์น˜๋ฅผ ๊ฐ Value ๋ฒกํ„ฐ์— ๊ณฑํ•ด์š”. ์ด ๊ฐ€์ค‘์น˜๋Š” Query์™€ Key์˜ ์œ ์‚ฌ๋„์— ๋”ฐ๋ผ ๋‹ค๋ฅด๋ฏ€๋กœ, ๋” ์ค‘์š”ํ•œ ๋‹จ์–ด์˜ Value๊ฐ€ ๋” ๊ฐ•์กฐ๋ฉ๋‹ˆ๋‹ค.

  • ์˜ˆ๋ฅผ ๋“ค์–ด, "cat"์ด๋ผ๋Š” Query๊ฐ€ "sat"๊ณผ ๋†’์€ ์œ ์‚ฌ๋„๋ฅผ ๊ฐ€์งˆ ๊ฒฝ์šฐ, "sat"์˜ Value๋Š” ๋” ๋งŽ์€ ๊ฐ€์ค‘์น˜๋ฅผ ๋ฐ›๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
  • ์ด ๊ฐ€์ค‘์น˜๋ฅผ ๊ฐ Value ๋ฒกํ„ฐ์— ๊ณฑํ•œ ํ›„, ๋ชจ๋“  Value ๋ฒกํ„ฐ๋ฅผ ๋”ํ•ด์„œ ์ตœ์ข… ์ถœ๋ ฅ๊ฐ’์„ ๋งŒ๋“ค์–ด์š”.

6. ์ตœ์ข… ์ถœ๋ ฅ 

์ด๋ ‡๊ฒŒ ๊ณ„์‚ฐ๋œ ๊ฐ€์ค‘์น˜๊ฐ€ ์ ์šฉ๋œ Value ๋ฒกํ„ฐ๋“ค์€ ์ตœ์ข… ์ถœ๋ ฅ์„ ์ƒ์„ฑํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ถœ๋ ฅ๊ฐ’์€ ๋ฌธ์žฅ์˜ ๊ฐ ๋‹จ์–ด์— ๋Œ€ํ•œ ๋งฅ๋ฝํ™”๋œ ํ‘œํ˜„์ด ๋ฉ๋‹ˆ๋‹ค. ์ด ์ถœ๋ ฅ์€ ํ›„์† ๋ ˆ์ด์–ด์—์„œ ๋” ๋ณต์žกํ•œ ์—ฐ์‚ฐ์„ ๊ฑฐ์ณ ๋ชจ๋ธ์˜ ์˜ˆ์ธก ๊ฒฐ๊ณผ๋กœ ์ด์–ด์ง€์ฃ .

 

Attention ์—ฐ์‚ฐ์˜ ์˜๋ฏธ

  • Query์™€ Key์˜ ์œ ์‚ฌ๋„ ์ธก์ •: "cat"์€ ๊ฐ ๋‹จ์–ด์˜ Key์™€ ๋น„๊ตํ•˜๋ฉฐ ๊ด€๋ จ์„ฑ์„ ๋”ฐ์ง‘๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด "sat"์˜ Key๊ฐ€ "cat"์˜ Query์™€ ๋†’์€ ์œ ์‚ฌ๋„๋ฅผ ๊ฐ€์ง„๋‹ค๋ฉด, "sat"๊ณผ "cat"์€ ๊ด€๋ จ์ด ๊นŠ์€ ๋‹จ์–ด๋กœ ํŒ๋‹จ๋ฉ๋‹ˆ๋‹ค.
  • ์œ ์‚ฌ๋„์— ๋”ฐ๋ผ ๊ฐ€์ค‘์น˜ ๋ถ€์—ฌ: Query์™€ ์œ ์‚ฌ๋„๊ฐ€ ๋†’์„์ˆ˜๋ก ๋” ํฐ ๊ฐ€์ค‘์น˜๊ฐ€ ๋ถ€์—ฌ๋ผ์š”. ์ด ๊ฒฝ์šฐ "sat"์ด "cat"๊ณผ ๊ด€๋ จ์„ฑ์ด ํฌ๋ฏ€๋กœ "on"์ด๋‚˜ "the"๋ณด๋‹ค ๋†’์€ ๊ฐ€์ค‘์น˜๋ฅผ ๋ฐ›๊ฒ ์ฃ .
  • Value์˜ ์ •๋ณด๋ฅผ ์กฐํ•ฉ: ์ด๋ ‡๊ฒŒ ๊ณ„์‚ฐ๋œ ๊ฐ€์ค‘์น˜๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ "sat"์˜ Value๊ฐ€ ๊ฐ•์กฐ๋˜๋ฉด์„œ "cat"๊ณผ ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋ชจ๋ธ์€ "cat"์ด ๋‹จ์ˆœํžˆ ๋“ฑ์žฅํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, "sat"๊ณผ ํ–‰๋™์ ์ธ ๊ด€๊ณ„๊ฐ€ ์žˆ๋‹ค๊ณ  ์ดํ•ดํ•˜๊ฒŒ ๋ผ์š”.

 

๐Ÿ“Œ ์ธ์ฝ”๋”์™€ ๋””์ฝ”๋”์—์„œ์˜ Q, K, V ์‚ฌ์šฉ

์ธ์ฝ”๋” (Encoder)์—์„œ์˜ Q, K, V

  • ์ธ์ฝ”๋”์—์„œ๋Š” Self-Attention์„ ์‚ฌ์šฉํ•ด์š”.
  • ์—ฌ๊ธฐ์„œ Q, K, V๋Š” ๋ชจ๋‘ ๊ฐ™์€ ์ž…๋ ฅ์—์„œ ์ƒ์„ฑ๋˜๋Š”๋ฐ, ์ธ์ฝ”๋”๋Š” ์ž…๋ ฅ ์‹œํ€€์Šค์˜ ๊ฐ ๋‹จ์–ด์— ๋Œ€ํ•ด, ๊ทธ ๋‹จ์–ด๊ฐ€ ๋‹ค๋ฅธ ๋‹จ์–ด๋“ค๊ณผ ์–ด๋–ค ๊ด€๊ณ„๋ฅผ ๊ฐ€์งˆ์ง€ ์•Œ์•„๋ณด๊ธฐ ์œ„ํ•ด Q, K, V๋ฅผ ๋งŒ๋“ค์–ด์š”.
  • ์ด๋ ‡๊ฒŒ ์ƒ์„ฑ๋œ Self-Attention์„ ํ†ตํ•ด ์ธ์ฝ”๋”๋Š” ์ž…๋ ฅ ์‹œํ€€์Šค ์ „์ฒด์˜ ๋งฅ๋ฝ์„ ๊ณ ๋ คํ•ด ๊ฐ ๋‹จ์–ด์˜ ์˜๋ฏธ๋ฅผ ๋”์šฑ ์ž˜ ์ดํ•ดํ•˜๊ณ  ๊ฐ•ํ™”ํ•  ์ˆ˜ ์žˆ์–ด์š”.

 

๋””์ฝ”๋” (Decoder)์—์„œ์˜ Q, K, V

๋””์ฝ”๋”์—์„œ๋Š” Attention์ด ๋‘ ๊ฐ€์ง€ ๋ฐฉ์‹์œผ๋กœ ๋‚˜๋‰˜์–ด์š”.

  1. Self-Attention
    • ๋””์ฝ”๋”์˜ Self-Attention์€ Q, K, V๊ฐ€ ๋ชจ๋‘ ๋””์ฝ”๋”์˜ ์ด์ „ ์ถœ๋ ฅ์—์„œ ์ƒ์„ฑ๋ผ์š”.
    • ์ฆ‰, ํ˜„์žฌ ๋””์ฝ”๋”์—์„œ ์ฒ˜๋ฆฌ ์ค‘์ธ ์œ„์น˜์˜ Query๊ฐ€ ์ด์ „์— ์ƒ์„ฑ๋œ ๋‹จ์–ด๋“ค์˜ Key์™€ Value์™€ ์ƒํ˜ธ์ž‘์šฉํ•˜๋ฉด์„œ ์ค‘์š”ํ•œ ์ •๋ณด๋ฅผ ์ถ”์ถœํ•ด์š”.
    • ์ด๋ ‡๊ฒŒ ํ•ด์„œ ๋””์ฝ”๋”๋Š” ํ˜„์žฌ ๋‹จ์–ด๋ฅผ ์˜ˆ์ธกํ•  ๋•Œ, ์ด์ „ ๋‹จ์–ด๋“ค์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ฐธ๊ณ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ผ์š”.
  2. ์ธ์ฝ”๋”-๋””์ฝ”๋” Attention (Cross-Attention)
    • ๋””์ฝ”๋”๊ฐ€ ์ž…๋ ฅ ์‹œํ€€์Šค์˜ ์ •๋ณด๋ฅผ ํ™œ์šฉํ•ด ๋‹ค์Œ ๋‹จ์–ด๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ๋ฐฉ์‹์ด์—์š”.
    • ์—ฌ๊ธฐ์„œ Query๋Š” ๋””์ฝ”๋”์˜ ์ถœ๋ ฅ์—์„œ ์ƒ์„ฑ๋˜๊ณ , Key์™€ Value๋Š” ์ธ์ฝ”๋”์˜ ์ถœ๋ ฅ์—์„œ ์ƒ์„ฑ๋ผ์š”.
    • ์ด๋ ‡๊ฒŒ ๋””์ฝ”๋”์˜ Query๊ฐ€ ์ธ์ฝ”๋”์˜ Key์™€ Value๋ฅผ ์ฐธ์กฐํ•˜๋ฉด์„œ, ๋” ์ •ํ™•ํ•˜๊ฒŒ ๋‹ค์Œ ๋‹จ์–ด๋ฅผ ์˜ˆ์ธกํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ผ์š”.

 

KV ์บ์‹ฑ์ด๋ž€?

KV ์บ์‹ฑ (Key-Value Caching)์€ ๋””์ฝ”๋”์—์„œ์˜ Self-Attention๊ณผ Cross-Attention ๋‹จ๊ณ„์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋ฒ•์ด์—์š”. ์ด๊ฒŒ ์™œ ํ•„์š”ํ•œ์ง€ ๊ฐ„๋‹จํžˆ ๋งํ•˜๋ฉด, ๋””์ฝ”๋”๊ฐ€ ์ƒˆ๋กœ์šด ๋‹จ์–ด๋ฅผ ์˜ˆ์ธกํ•  ๋•Œ๋งˆ๋‹ค ์ด์ „ ๋‹จ์–ด๋“ค์— ๋Œ€ํ•ด Key์™€ Value๋ฅผ ๋‹ค์‹œ ๊ณ„์‚ฐํ•˜๋Š” ๊ฒŒ ๋น„ํšจ์œจ์ ์ด๊ธฐ ๋•Œ๋ฌธ์ด์—์š”. ๊ทธ๋ž˜์„œ ์ด์ „์— ๊ณ„์‚ฐํ•œ Key์™€ Value๋ฅผ ์ €์žฅํ•ด๋‘๊ณ , ๋ฐ˜๋ณต์ ์ธ ๊ณ„์‚ฐ์„ ์ค„์ด๋Š” ๋ฐฉ๋ฒ•์ด์—์š”.

 

  • ๋””์ฝ”๋”๊ฐ€ ํ•œ ๋ฒˆ์˜ Forward Pass์—์„œ ๊ฐ ๋‹จ์–ด์— ๋Œ€ํ•ด Key์™€ Value๋ฅผ ๊ณ„์‚ฐํ•˜๋ฉด, ๊ทธ ๊ฐ’๋“ค์„ ์บ์‹œ์— ์ €์žฅํ•ด์š”.
  • ์ดํ›„ ์ƒˆ๋กœ์šด ๋‹จ์–ด๋ฅผ ์˜ˆ์ธกํ•  ๋•Œ๋Š”, ์ด๋ฏธ ์ €์žฅ๋œ Key์™€ Value๋ฅผ ๊ฐ€์ ธ์™€์„œ ์‚ฌ์šฉํ•ด์š”.
  • ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์ƒˆ๋กœ์šด Query๋งŒ ๊ณ„์‚ฐํ•˜๊ณ , ์ €์žฅ๋œ Key์™€ Value๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ Attention ์—ฐ์‚ฐ์„ ํ•˜๊ฒŒ ๋ผ์š”.

KV ์บ์‹ฑ์˜ ์žฅ์ 

  • ๊ณ„์‚ฐ ๋น„์šฉ ์ ˆ๊ฐ: ๋งค๋ฒˆ ๋ชจ๋“  ๋‹จ์–ด์— ๋Œ€ํ•ด Key์™€ Value๋ฅผ ์ƒˆ๋กœ ๊ณ„์‚ฐํ•˜๋Š” ๋Œ€์‹ , ์ €์žฅ๋œ ๊ฐ’์„ ์žฌ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ›จ์”ฌ ๋น ๋ฅด๊ณ  ํšจ์œจ์ ์ด์—์š”.
  • ๋ฉ”๋ชจ๋ฆฌ ์ตœ์ ํ™”: ํ•œ ๋ฒˆ ๊ณ„์‚ฐ๋œ ๊ฐ’๋งŒ ์ €์žฅํ•˜๊ณ  ์žฌ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋„ ์ค„์–ด๋“ค์–ด์š”.

 

Query, Key, Value๋Š” ํŠธ๋žœ์Šคํฌ๋จธ์˜ ์–ดํ…์…˜ ๋ฉ”์ปค๋‹ˆ์ฆ˜์—์„œ ์ค‘์š”ํ•œ ์ •๋ณด๋ฅผ ์ถ”์ถœํ•˜๋Š” ํ•ต์‹ฌ ์š”์†Œ์˜ˆ์š”. ์ด ์„ธ ๊ฐ€์ง€๋Š” ํŠธ๋žœ์Šคํฌ๋จธ ๋ชจ๋ธ์ด ์ž…๋ ฅ ์‹œํ€€์Šค์˜ ์ค‘์š”ํ•œ ๊ด€๊ณ„๋ฅผ ํŒŒ์•…ํ•˜๊ณ , ๊ฐ ๋‹จ์–ด๊ฐ€ ๋ฌธ์žฅ์—์„œ ์–ด๋–ค ์—ญํ• ์„ ํ•˜๋Š”์ง€ ์ดํ•ดํ•˜๋Š” ๋ฐ ํ•„์ˆ˜์ ์ด์—์š”. ์ธ์ฝ”๋”๋Š” ์ž…๋ ฅ ์‹œํ€€์Šค์˜ Self-Attention์„ ํ†ตํ•ด Q, K, V๋ฅผ ์ƒ์„ฑํ•˜๊ณ , ๋””์ฝ”๋”๋Š” Self-Attention๊ณผ Cross-Attention์„ ํ™œ์šฉํ•˜์—ฌ ์ด์ „ ์ถœ๋ ฅ ์‹œํ€€์Šค์™€ ์ž…๋ ฅ ์‹œํ€€์Šค๋ฅผ ๊ฒฐํ•ฉํ•˜์ฃ . ์ด๋Ÿฐ ๊ณผ์ •์€ ๋ชจ๋ธ์ด ๋ฌธ๋งฅ์„ ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜๊ณ  ์˜ˆ์ธกํ•  ์ˆ˜ ์žˆ๋„๋ก ๋•๋Š” ์ค‘์š”ํ•œ ๋ถ€๋ถ„์ด์—์š”. ๋˜, KV ์บ์‹ฑ ๊ธฐ๋ฒ•์„ ํ†ตํ•ด ๋””์ฝ”๋”๋Š” ๋ฐ˜๋ณต์ ์ธ ๊ณ„์‚ฐ์„ ์ค„์—ฌ ํšจ์œจ์„ฑ์„ ํฌ๊ฒŒ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์–ด์š”. ์ด๋ ‡๊ฒŒ Q, K, V๋ฅผ ์ดํ•ดํ•˜๋ฉด ํŠธ๋žœ์Šคํฌ๋จธ ๋ชจ๋ธ์ด ์–ด๋–ป๊ฒŒ ํ…์ŠคํŠธ์˜ ๋ณต์žกํ•œ ๊ด€๊ณ„๋ฅผ ๋‹ค๋ฃจ๋Š”์ง€, ๊ทธ๋ฆฌ๊ณ  ํšจ์œจ์ ์œผ๋กœ ๊ณ„์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๋Š”์ง€์— ๋Œ€ํ•ด ๋” ๊นŠ์ด ์ดํ•ดํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ผ์š”.

 

๐Ÿค” ๊ทธ๋ž˜๋„ ์ž˜ ์ดํ•ด๊ฐ€ ์•ˆ๋œ๋‹ค๋ฉด!?

  • ํŠธ๋žœ์Šคํฌ๋จธ์—์„œ ์–ดํ…์…˜์€ ์ž…๋ ฅ ์‹œํ€€์Šค ๋‚ด์—์„œ ๊ฐ ๋‹จ์–ด๊ฐ€ ๋‹ค๋ฅธ ๋‹จ์–ด๋“ค๊ณผ ์–ผ๋งˆ๋‚˜ ๊ด€๋ จ์ด ์žˆ๋Š”์ง€ ํŒŒ์•…ํ•˜๋Š” ๋ฐฉ๋ฒ•!
  • Q์™€ K์˜ ์œ ์‚ฌ๋„๋ฅผ ๊ณ„์‚ฐํ•ด์„œ ์ง‘์ค‘ํ•  ๋‹จ์–ด๋ฅผ ์ฐพ๊ณ , ๊ทธ ๋‹จ์–ด์˜ V ์ •๋ณด๋ฅผ ๊ฐ•์กฐํ•˜๋ฉด์„œ ๋ฌธ๋งฅ์„ ์ดํ•ดํ•˜๋Š” ๊ฒƒ!
  • ์ด ๊ณผ์ • ๋•๋ถ„์— ํŠธ๋žœ์Šคํฌ๋จธ๋Š” ๋‹จ์–ด๋“ค ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ์ž˜ ํŒŒ์•…ํ•˜๊ณ , ํ…์ŠคํŠธ๋ฅผ ์ž˜ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ผ์š”!

์š” ์ •๋„๋งŒ ์ดํ•ดํ•˜์ž!

๋ฐ˜์‘ํ˜•