์ด๊ฒ ๋ญ๋ฐ? ๐ค
์์ฆ AI ๋ชจ๋ธ๋ค์ด ์ ์ ๋ ๊ธด ๋ฌธ๋งฅ(์ปจํ ์คํธ)์ ์ฒ๋ฆฌํ๊ฒ ๋๋ฉด์ ๋ฉ๋ชจ๋ฆฌ ๋ฌธ์ ๊ฐ ์ฌ๊ฐํด์ง๊ณ ์์ด. ์๋ฅผ ๋ค์ด, Llama1-65B ๊ฐ์ ๋ชจ๋ธ์ 128k ํ ํฐ(์ฝ 10๋ง ๋จ์ด)์ ์ฒ๋ฆฌํ ๋ ๋ฌด๋ ค 335GB์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋จน๋๋ค๋, ์ด๊ฒ ์ผ๋ง๋ ํฐ์ง ์์์ด๋ ๊ฐ? ์ด๋ฐ ๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ ๋ฌธ์ ๋ AI ๋ชจ๋ธ์ด ํ ๋ฒ์ ์ฒ๋ฆฌํ ์ ์๋ ๋ฐ์ดํฐ ์์ ์ ํํ๊ณ , ์๋ต ์๋๋ ๋๋ ค์ง๊ฒ ๋ง๋ค์ด.
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด NVIDIA๊ฐ ์๋ก์ด ๊ธฐ์ ์ ๊ฐ๋ฐํ๋๋ฐ, ๋ฐ๋ก **KV ์บ์ ํ๋ฃจ๋(KV Cache Pruning)**์ด์ผ. KV ์บ์๋ ํธ๋์คํฌ๋จธ ๋ชจ๋ธ์์ ๊ฐ ๋ ์ด์ด์ ํค๋(attention ๋ฉ์ปค๋์ฆ์ ์ผ๋ถ)๊ฐ ์ ์ฅํ๋ ํค(Key)์ ๊ฐ(Value) ์ ๋ณด๋ฅผ ๋งํด. ์ด ์บ์๋ฅผ ์์ถํ๋ฉด ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ํฌ๊ฒ ์ค์ผ ์ ์์ง๋ง, ์ฑ๋ฅ์ด ๋จ์ด์ง์ง ์๋๋ก ํ๋ ๊ฒ ๊ด๊ฑด์ด์ง.
NVIDIA๋ ์ด๋ฏธ ์ฌ๋ฌ KV ์บ์ ์์ถ ๊ธฐ์ ์ ์ฐ๊ตฌํด์๋๋ฐ, ์ด๋ฒ์ ๊ณต๊ฐํ KVzap์ ๊ทธ ์ค์์๋ ๊ฐ์ฅ ํจ์จ์ ์ธ ๋ฐฉ๋ฒ์ด์ผ. KVzap์ ๊ธฐ์กด์ KVzip์ด๋ผ๋ ๊ธฐ์ ์์ ์๊ฐ์ ๋ฐ์ ๊ฐ๋ฐ๋๋๋ฐ, KVzip์ ์บ์ ํญ๋ชฉ์ ์ค์๋๋ฅผ ํ๊ฐํด์ ๋ ์ค์ํ ํญ๋ชฉ์ ์ ๊ฑฐํ๋ ๋ฐฉ์์ด์ผ. ํ์ง๋ง KVzip์ ๊ณ์ฐ ๋น์ฉ์ด ๋ง์ด ๋ค๊ณ , ์ค์๊ฐ์ผ๋ก ์ฌ์ฉํ๊ธฐ ์ด๋ ค์ ์ด. KVzap์ ์ด๋ฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ฉด์๋ ๊ฑฐ์ ์์ค ์๋ ์์ถ์ ๊ฐ๋ฅํ๊ฒ ํ๋!
ํต์ฌ ๋ด์ฉ ์ ๋ฆฌ ๐
-
KV ์บ์ ์์ถ์ ํ์์ฑ: AI ๋ชจ๋ธ์ด ๊ธด ๋ฌธ๋งฅ์ ์ฒ๋ฆฌํ ์๋ก KV ์บ์๊ฐ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ง์ด ์ฐจ์งํด. ์๋ฅผ ๋ค์ด, Llama1-65B ๋ชจ๋ธ์ 128k ํ ํฐ์์ 335GB์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํด. ์ด๋ ๋ฐฐ์น ํฌ๊ธฐ(ํ ๋ฒ์ ์ฒ๋ฆฌํ ์ ์๋ ๋ฐ์ดํฐ ์)๋ฅผ ์ ํํ๊ณ , ์๋ต ์๋๋ฅผ ๋๋ฆฌ๊ฒ ๋ง๋ค์ด.
-
๊ธฐ์กด ์์ถ ๊ธฐ์ ์ ํ๊ณ: ๊ธฐ์กด์๋ ๊ทธ๋ฃนํ๋ ์ฟผ๋ฆฌ ์ดํ ์ (Grouped Query Attention)์ด๋ ์ฌ๋ผ์ด๋ฉ ์๋์ฐ ์ดํ ์ ๊ฐ์ ๊ธฐ์ ์ ์ฌ์ฉํด KV ์บ์๋ฅผ ์์ถํ์ด. ํ์ง๋ง ์ด๋ฐ ๋ฐฉ๋ฒ๋ค์ ์ํ์ค ์ถ(๋ฌธ๋งฅ์ ๊ธธ์ด)์ ์์ถํ์ง ๋ชปํ์ด. ์ฆ, ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ์ค์ด์ง๋ง, ๋ฌธ๋งฅ์ ๊ธธ์ด๋ ๊ทธ๋๋ก ์ ์ง๋ผ.
-
KVzip์ ๋ฑ์ฅ: KVzip์ ์บ์ ํญ๋ชฉ์ ์ค์๋๋ฅผ ํ๊ฐํด์ ๋ ์ค์ํ ํญ๋ชฉ์ ์ ๊ฑฐํ๋ ๊ธฐ์ ์ด์ผ. ์ค์๋๋ ๋ชจ๋ธ์ด ๋ฌธ๋งฅ์ ๋ฐ๋ณตํ๋๋ก ์์ฒญํ ํ, ์ดํ ์ ๊ฐ์ค์น(attention weight)๋ฅผ ๋ถ์ํด์ ๊ฒฐ์ ํด. ํ์ง๋ง KVzip์ ๊ณ์ฐ ๋น์ฉ์ด ๋ง์ด ๋ค๊ณ , ์ค์๊ฐ์ผ๋ก ์ฌ์ฉํ๊ธฐ ์ด๋ ค์ ์ด.
-
KVzap์ ๋ฑ์ฅ: KVzap์ KVzip์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๊ฐ๋ฐ๋์ด. KVzap์ ์์ ์๋ก๊ฒ์ดํธ ๋ชจ๋ธ(surrogate model)์ ์ฌ์ฉํด์ ์จ๊ฒจ์ง ์ํ(hidden states)์์ ์ง์ ์ค์๋๋ฅผ ์์ธกํด. ์ด๋ KVzip๋ณด๋ค ๊ณ์ฐ ๋น์ฉ์ด ์ ๊ณ , ์ค์๊ฐ์ผ๋ก ์ฌ์ฉํ ์ ์์ด.
-
KVzap์ ๊ตฌ์กฐ: KVzap์ ๋ ๊ฐ์ง ๊ตฌ์กฐ๋ฅผ ์ ๊ณตํด. ํ๋๋ ๋จ์ผ ์ ํ ๋ ์ด์ด(KVzap Linear)์ด๊ณ , ๋ค๋ฅธ ํ๋๋ ๋ ๊ฐ์ ๋ ์ด์ด๋ก ์ด๋ฃจ์ด์ง MLP(KVzap MLP)์ผ. MLP ๋ฒ์ ์ด ๋ ๋์ ์ฑ๋ฅ์ ๋ณด์ฌ์ค.
-
ํ๋ จ ๋ฐ์ดํฐ: KVzap์ Nemotron Pretraining Dataset์์ 27k๊ฐ์ ํ๋กฌํํธ๋ฅผ ์ํ๋งํด์ ํ๋ จํ์ด. ๊ฐ ํ๋กฌํํธ๋ 750~1,250 ํ ํฐ ๊ธธ์ด๋ก ํํฐ๋ง๋๊ณ , ๊ฐ ํค-๊ฐ ํค๋๋น ์ฝ 120๋ง ๊ฐ์ ํ๋ จ ์์ ์ป์์ด.
-
์ฑ๋ฅ ํ๊ฐ: KVzap์ KVzip+์ ๋น๊ตํด์ 0.63~0.77์ ํผ์ด์จ ์๊ด๊ณ์(Pearson correlation)๋ฅผ ๋ณด์ฌ์ค. ์ด๋ KVzap์ด KVzip+์ ์ค์๋ ํ๊ฐ์ ์๋นํ ์ ์ฌํ๊ฒ ๋์ํ๋ค๋ ๋ป์ด์ผ.
-
์ค์ ์ ์ฉ: KVzap์ ์ถ๋ก (inference) ๋์ ์จ๊ฒจ์ง ์ํ๋ฅผ ์ฒ๋ฆฌํ๊ณ , ๊ฐ ์บ์ ํญ๋ชฉ์ ๋ํ ์ ์๋ฅผ ์์ฑํด. ์ ์๊ฐ ๋ฎ์ ํญ๋ชฉ์ ์ ๊ฑฐ๋๊ณ , ์ต๊ทผ 128 ํ ํฐ์ ํญ์ ์ ์ง๋ผ. ์ด๋ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ์ค์ด๋ฉด์๋ ์ฑ๋ฅ์ ์ ์งํ ์ ์๊ฒ ํด์ค.
-
๋ฉ๋ชจ๋ฆฌ ๋ฐ ๊ณ์ฐ ํจ์จ: KVzap MLP๋ ์ ํ ํ๋ก์ ์ FLOPs์ ์ฝ 1.1%๋ง ์ถ๊ฐํ๊ณ , KVzap Linear๋ ์ฝ 0.02%๋ง ์ถ๊ฐํด. ์ด๋ KVzap๊ฐ ๋งค์ฐ ํจ์จ์ ์ด๋ผ๋ ๋ป์ด์ผ.
๊ทธ๋์ ๋ญ๊ฐ ๋ฌ๋ผ์ง๋๋ฐ? ๐ฅ
KVzap์ AI ๋ชจ๋ธ์ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ํฌ๊ฒ ์ค์ฌ์ฃผ๋ฉด์๋ ์ฑ๋ฅ์ ๊ฑฐ์ ์์ค ์์ด ์ ์งํ ์ ์๊ฒ ํด์ค. ์ด๋ AI ๋ชจ๋ธ์ ๋ ํจ์จ์ ์ผ๋ก ์ด์ํ ์ ์๊ฒ ํด์ฃผ๊ณ , ๋ ๊ธด ๋ฌธ๋งฅ์ ์ฒ๋ฆฌํ ์ ์๊ฒ ํด์ค. ์๋ฅผ ๋ค์ด, ๊ธฐ์กด์๋ ๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ์ผ๋ก ์ธํด ํ ๋ฒ์ ์ฒ๋ฆฌํ ์ ์๋ ๋ฐ์ดํฐ ์์ด ์ ํ๋์ง๋ง, KVzap์ ์ฌ์ฉํ๋ฉด ๋ ๋ง์ ๋ฐ์ดํฐ๋ฅผ ํ ๋ฒ์ ์ฒ๋ฆฌํ ์ ์๊ฒ ๋ผ.
๋ํ, KVzap์ ์ค์๊ฐ์ผ๋ก ์ฌ์ฉํ ์ ์์ด์, AI ๋ชจ๋ธ์ ์๋ต ์๋๋ฅผ ํฅ์์ํฌ ์ ์์ด. ์ด๋ AI ์๋น์ค ์ ๊ณต์์๊ฒ ํฐ ์ด์ ์ด ๋ ๊ฑฐ์ผ. ์๋ฅผ ๋ค์ด, ์ฑํ ๋ด์ด๋ ๋ฒ์ญ ์๋น์ค ๊ฐ์ ์ค์๊ฐ AI ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋ ๋น ๋ฅธ ์๋ต ์๋๋ฅผ ์ ๊ณตํ ์ ์๊ฒ ๋๊ฒ ์ง.
๋ง์ง๋ง์ผ๋ก, KVzap์ ์คํ์์ค๋ก ๊ณต๊ฐ๋๊ธฐ ๋๋ฌธ์, ๋๊ตฌ๋ ์ด ๊ธฐ์ ์ ์ฌ์ฉํ ์ ์์ด. ์ด๋ AI ์ปค๋ฎค๋ํฐ ์ ์ฒด์ ๊ธ์ ์ ์ธ ์ํฅ์ ๋ฏธ์น ๊ฑฐ์ผ. ๋ ๋ง์ ์ฌ๋๋ค์ด KVzap์ ์ฌ์ฉํ๊ณ ๊ฐ์ ํ๋ฉด์, AI ๊ธฐ์ ์ ๋ฐ์ ์๋๊ฐ ๋นจ๋ผ์ง ๊ฑฐ์ผ.
MAX5์ ์๊ฐ ๐ฏ
KVzap์ ์ค์ AI ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋ฉ๋ชจ๋ฆฌ ๋ณ๋ชฉ ํ์์ ๊ฒช๋ ๊ฐ๋ฐ์๋ค์๊ฒ ํฐ ๋์์ด ๋ ๊ฒ ๊ฐ์. ์๋ฅผ ๋ค์ด, ๊ธด ๋ฌธ๋งฅ์ ์ฒ๋ฆฌํ๋ AI ์ฑํ ๋ด์ด๋ ๋ฌธ์ ์์ฝ ์๋น์ค์์ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ด ๊ธ์ฆํ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ด. ํนํ Llama1-65B ๊ฐ์ ๋ํ ๋ชจ๋ธ์ ์ฌ์ฉํ ๋, 335GB๋ผ๋ ์์ฒญ๋ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ 2~4๋ฐฐ ์ค์ผ ์ ์๋ค๋ฉด, ๋ ์ ๋ ดํ ํ๋์จ์ด๋ก๋ ๊ฐ์ ์ฑ๋ฅ์ ๋ผ ์ ์๊ฒ ๋๊ฒ ์ง. ์ด๋ ํด๋ผ์ฐ๋ ๋น์ฉ์ ํฌ๊ฒ ์ค์ฌ์ค ๊ฑฐ์ผ.
๋ํ, KVzap์ ์ค์๊ฐ์ผ๋ก ๋์ํ๊ธฐ ๋๋ฌธ์, ์๋ต ์๋๊ฐ ์ค์ํ ์๋น์ค์์ ๋ฐ๋ก ์ ์ฉํด๋ณผ ์ ์์ด. ์๋ฅผ ๋ค์ด, ์ค์๊ฐ ๋ฒ์ญ์ด๋ ๋ํํ AI ์๋น์ค์์ ๋ฉ๋ชจ๋ฆฌ ํจ์จ์ฑ์ ๋์ฌ ์๋ต ์๋๋ฅผ ๊ฐ์ ํ ์ ์์ ๊ฑฐ์ผ. KVzap Linear ๋ฒ์ ์ ๊ณ์ฐ ๋น์ฉ์ด ๋งค์ฐ ์ ๊ฒ ๋ค๊ธฐ ๋๋ฌธ์, ๊ธฐ์กด ์์คํ ์ ์ฝ๊ฒ ํตํฉํ ์ ์์ ๊ฒ ๊ฐ์. ์คํ์์ค๋ก ๊ณต๊ฐ๋์ผ๋, ์ง๊ธ ๋น์ฅ GitHub์์ ์ฝ๋๋ฅผ ๋ฐ์์ ํ ์คํธํด๋ณผ ์ ์์ด.