MCP๋กœ ์—ฐ๊ฒฐ โ†’

๊ณ„์‚ฐ ์ž…๋ ฅ

๊ณต์‹

๊ด‘๊ณ 

๊ฒฐ๊ณผ

์˜ˆ์ƒ ํ•„์š” VRAM
16.8
GB
์ˆœ์ˆ˜ ๋ชจ๋ธ ๊ฐ€์ค‘์น˜ 14 GB
์˜ค๋ฒ„ํ—ค๋“œ (KV ์บ์‹œ, ํ™œ์„ฑํ™” ๊ฐ’ ๋“ฑ) 2.8 GB

LLM VRAM ์š”๊ตฌ๋Ÿ‰ ๊ณ„์‚ฐ๊ธฐ๋ž€?

์ด ๋„๊ตฌ๋Š” ๋Œ€๊ทœ๋ชจ ์–ธ์–ด ๋ชจ๋ธ(LLM)์„ ์ถ”๋ก (inference) ๋ชฉ์ ์œผ๋กœ ๋กœ๋“œํ•˜๊ณ  ๊ตฌ๋™ํ•  ๋•Œ ํ•„์š”ํ•œ GPU ๋น„๋””์˜ค ๋ฉ”๋ชจ๋ฆฌ(VRAM)๊ฐ€ ์–ด๋А ์ •๋„์ธ์ง€ ์ถ”์ •ํ•ด ์ค๋‹ˆ๋‹ค. ํ•„์š”ํ•œ ๋ฉ”๋ชจ๋ฆฌ ์šฉ๋Ÿ‰์€ ๋ฌด์—‡๋ณด๋‹ค ๋ชจ๋ธ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜์™€, ๊ฐ ๊ฐ€์ค‘์น˜๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ์ˆ˜์น˜ ์ •๋ฐ€๋„(precision)์— ๋”ฐ๋ผ ๊ฒฐ์ •๋ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์— ์•ˆ์ „ยท์˜ค๋ฒ„ํ—ค๋“œ ๊ณ„์ˆ˜๋ฅผ ๋”ํ•˜๋Š” ์ด์œ ๋Š”, KV ์บ์‹œยทํ™œ์„ฑํ™” ๊ฐ’(activations)ยทCUDA ์ปจํ…์ŠคํŠธ์ฒ˜๋Ÿผ ์ˆœ์ˆ˜ ๊ฐ€์ค‘์น˜ ์™ธ์— ์ถ”๊ฐ€๋กœ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ฐจ์ง€ํ•˜๋Š” ์š”์†Œ๋“ค์„ ๋ฐ˜์˜ํ•˜๊ธฐ ์œ„ํ•ด์„œ์ž…๋‹ˆ๋‹ค.

์‚ฌ์šฉ ๋ฐฉ๋ฒ•

๋ชจ๋ธ ํฌ๊ธฐ๋ฅผ 10์–ต(B) ๋‹จ์œ„ ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜๋กœ ์ž…๋ ฅํ•˜์„ธ์š”. ์˜ˆ๋ฅผ ๋“ค์–ด 7B ๋ชจ๋ธ์ด๋ผ๋ฉด 7, Llama-3 70B๋ผ๋ฉด 70์„ ๋„ฃ์œผ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ์œผ๋กœ ์ •๋ฐ€๋„๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. FP32๋Š” ๊ฐ€์ค‘์น˜๋‹น 4๋ฐ”์ดํŠธ, FP16/BF16์€ 2๋ฐ”์ดํŠธ, INT8์€ 1๋ฐ”์ดํŠธ, INT4 ์–‘์žํ™”๋Š” 0.5๋ฐ”์ดํŠธ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ ์˜ค๋ฒ„ํ—ค๋“œ ๊ณ„์ˆ˜๋ฅผ ์„ค์ •ํ•˜์„ธ์š”. ์งง์€ ์ปจํ…์ŠคํŠธ ์ถ”๋ก ์ด๋ผ๋ฉด 1.2(20% ์—ฌ์œ ๋ถ„)๊ฐ€ ๋ฌด๋‚œํ•œ ๊ธฐ๋ณธ๊ฐ’์ด๋ฉฐ, ๊ธด ์ปจํ…์ŠคํŠธ๋‚˜ ๋ฐฐ์น˜ ์ฒ˜๋ฆฌ์—์„œ๋Š” ๊ฐ’์„ ๋” ๋†’์—ฌ ์ฃผ๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

๊ณต์‹ ์„ค๋ช…

$$\text{VRAM (GB)} = \text{Params (B)} \times \text{Bytes/Param} \times \text{Overhead}$$ 10์–ต ๋ฐ”์ดํŠธ โ‰ˆ 1GB์ด๋ฏ€๋กœ, 10์–ต ๋‹จ์œ„ ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜์— ํŒŒ๋ผ๋ฏธํ„ฐ๋‹น ๋ฐ”์ดํŠธ ์ˆ˜๋ฅผ ๊ณฑํ•˜๋ฉด ๊ณง๋ฐ”๋กœ ๊ธฐ๊ฐ€๋ฐ”์ดํŠธ ๋‹จ์œ„๊ฐ€ ๋‚˜์˜ต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์— ์˜ค๋ฒ„ํ—ค๋“œ ๊ณ„์ˆ˜๋ฅผ ๊ณฑํ•˜๋ฉด ๋Ÿฐํƒ€์ž„์— ์‹ค์ œ๋กœ ์†Œ๋ชจ๋˜๋Š” ๋ฉ”๋ชจ๋ฆฌ๊นŒ์ง€ ํฌํ•จํ•œ ๊ฐ’์œผ๋กœ ๋Š˜์–ด๋‚ฉ๋‹ˆ๋‹ค.

FP32, FP16, INT8, INT4 ์ •๋ฐ€๋„์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋‹น ๋ฐ”์ดํŠธ ์ˆ˜๋ฅผ ๋น„๊ตํ•œ ๋ง‰๋Œ€๊ทธ๋ž˜ํ”„
๋‚ฎ์€ ์ •๋ฐ€๋„ ํ˜•์‹์€ ํŒŒ๋ผ๋ฏธํ„ฐ๋‹น ๋ฐ”์ดํŠธ ์ˆ˜๊ฐ€ ์ ์–ด VRAM์„ ์ค„์ž…๋‹ˆ๋‹ค.
๋ชจ๋ธ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜์— ํŒŒ๋ผ๋ฏธํ„ฐ๋‹น ๋ฐ”์ดํŠธ ์ˆ˜์™€ ์˜ค๋ฒ„ํ—ค๋“œ ๊ณ„์ˆ˜๋ฅผ ๊ณฑํ•ด ์ด GPU VRAM์„ ๊ตฌํ•˜๋Š” ๋‹ค์ด์–ด๊ทธ๋žจ
VRAM = ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜ ร— ํŒŒ๋ผ๋ฏธํ„ฐ๋‹น ๋ฐ”์ดํŠธ ์ˆ˜ ร— ์˜ค๋ฒ„ํ—ค๋“œ ๊ณ„์ˆ˜.

๊ณ„์‚ฐ ์˜ˆ์‹œ

7B ๋ชจ๋ธ์„ FP16, ์˜ค๋ฒ„ํ—ค๋“œ ๊ณ„์ˆ˜ 1.2๋กœ ๊ตฌ๋™ํ•˜๋Š” ๊ฒฝ์šฐ: $$7 \times 2 \times 1.2 = 16.8\,\text{GB}$$ 24GB ๊ทธ๋ž˜ํ”ฝ์นด๋“œ๋ผ๋ฉด ์—ฌ์œ ๋กญ๊ฒŒ ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค. ๊ฐ™์€ ๋ชจ๋ธ์„ INT4๋กœ ๋Œ๋ฆฌ๋ฉด: $$7 \times 0.5 \times 1.2 = 4.2\,\text{GB}$$ 8GB GPU์—์„œ๋„ ๊ฑฐ๋œฌํžˆ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ

์‹ค์ œ ์‚ฌ์šฉ๋Ÿ‰์ด ์ˆœ์ˆ˜ ๊ฐ€์ค‘์น˜๋ณด๋‹ค ํฐ ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”? KV ์บ์‹œ๋Š” ์ปจํ…์ŠคํŠธ ๊ธธ์ด์™€ ๋ฐฐ์น˜ ํฌ๊ธฐ์— ๋”ฐ๋ผ ์ปค์ง€๊ณ , ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ํ™œ์„ฑํ™” ๊ฐ’๊ณผ ๋ฒ„ํผ๋ฅผ ์œ„ํ•œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ถ”๊ฐ€๋กœ ์˜ˆ์•ฝํ•ฉ๋‹ˆ๋‹ค. ์˜ค๋ฒ„ํ—ค๋“œ ๊ณ„์ˆ˜๋Š” ๋ฐ”๋กœ ์ด ๋ถ€๋ถ„์„ ์–ด๋ฆผ์žก์•„ ๋ฐ˜์˜ํ•œ ๊ฐ’์ž…๋‹ˆ๋‹ค.

ํ•™์Šต(training)๋„ ํฌํ•จ๋˜๋‚˜์š”? ์•„๋‹™๋‹ˆ๋‹ค. ํ•™์Šต์—๋Š” ์˜ตํ‹ฐ๋งˆ์ด์ € ์ƒํƒœ์™€ ๊ทธ๋ž˜๋””์–ธํŠธ๋ฅผ ์œ„ํ•ด ๋Œ€๋žต 3~4๋ฐฐ ๋” ๋งŽ์€ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ณ„์‚ฐ๊ธฐ๋Š” ์ถ”๋ก ์„ ๊ธฐ์ค€์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค.

์˜ค๋ฒ„ํ—ค๋“œ๋Š” ์–ผ๋งˆ๋กœ ์žก์•„์•ผ ํ•˜๋‚˜์š”? ์งง์€ ํ”„๋กฌํ”„ํŠธ์—๋Š” ์•ฝ 1.2๋ฅผ, ๊ธด ์ปจํ…์ŠคํŠธ๋‚˜ ๋ฌด๊ฑฐ์šด ๋ฐฐ์น˜ ์ฒ˜๋ฆฌ์—๋Š” 1.5~2.0 ์ด์ƒ์„ ์‚ฌ์šฉํ•˜์„ธ์š”.

์ตœ์ข… ์—…๋ฐ์ดํŠธ: