๐ GPU๋ฅผ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํด ๋ชจ๋ธ์ ํ์ต์ํค๋ ๋ค์ํ ๊ธฐ์
3. ๋ถ์ฐํ์ต, Deepspeed ZeRO
4. LoRA, QLoRA (๋ชจ๋ธ์ ์ผ๋ถ๋ง ์ ๋ฐ์ดํธ)
3. ๋ถ์ฐํ์ต๊ณผ ZeRO
3.1 ๋ถ์ฐ ํ์ต
โ ๋ถ์ฐํ์ต
โช๏ธ GPU ์ฌ๋ฌ๊ฐ๋ฅผ ํ์ฉํด ๋ฅ๋ฌ๋ ๋ชจ๋ธ์ ํ์ต์ํค๋ ๊ฒ
โช๏ธ ๋ชฉ์ : ๋ชจ๋ธ ํ์ต ์๋ ํฅ์, 1๊ฐ์ GPU๋ก ํ์ต์ด ์ด๋ ค์ด ๋ชจ๋ธ ๋ค๋ฃจ๊ธฐ
โ ๋ฐ์ดํฐ ๋ณ๋ ฌํ

โช๏ธ ๋ชจ๋ธ์ด ์์์ ํ๋์ GPU์ ์ฌ๋ฆด ์ ์๋ ๊ฒฝ์ฐ, ์ฌ๋ฌ GPU์ ๊ฐ๊ฐ ๊ฐ๋ณ์ ์ผ๋ก ๋ชจ๋ธ์ ์ฌ๋ฆฌ๊ณ ํ์ต ๋ฐ์ดํฐ๋ฅผ ๋๋ ์ ๋์์ ํ์ต์ ์ํํด ํ์ต ์๋๋ฅผ ํฅ์์ํค๋ ๊ฒ
โ ๋ชจ๋ธ ๋ณ๋ ฌํ

โช๏ธ ํ๋์ GPU์ ์ฌ๋ฆฌ๊ธฐ ์ด๋ ค์ด ๋งค์ฐ ํฐ ๋ชจ๋ธ์ ๊ฒฝ์ฐ, ๋ชจ๋ธ์ ์ฌ๋ฌ ๊ฐ์ GPU์ ๋๋ ์ ์ฌ๋ฆฌ๋ ๋ฐฉ์์ ํ์ฉ
โช๏ธ 1) ํ์ดํ๋ผ์ธ ๋ณ๋ ฌํ : ๋ชจ๋ธ์ layer ๋ณ๋ก ๋๋ ์ฌ๋ฆฌ๋ ๋ฐฉ์ (๊ทธ๋ฆผ์์ ์ํ๋ก ๋๋๋ ๋ฐฉ์ : ๋จธ์ 1&2/3&4)
โช๏ธ 2) ํ ์ ๋ณ๋ ฌํ : ํ ์ธต์ ๋ชจ๋ธ๋ ๋๋ ์ ์ฌ๋ฆฌ๋ ๋ฐฉ์ (๊ทธ๋ฆผ์์ ์ข์ฐ๋ก ๋๋๋ ๋ฐฉ์ : ๋จธ์ 1&3/2&4)
โ ํ ์ ๋ณ๋ ฌํ์์ ๊ธฐ์กด๊ณผ ๋์ผํ ๊ฒฐ๊ณผ๋ฅผ ์ป๊ธฐ ์ํ ๋ถ๋ฆฌ ์ฐ์ฐ ๋ฐฉ๋ฒ
โช๏ธ ํ์ดํ๋ผ์ธ ๋ณ๋ ฌํ๋ ๋ชจ๋ธ์ ์ธต ์์์ ๋ง์ถฐ ์์ฐจ์ ์ผ๋ก ์ฐ์ฐํ๋ฉด, ๋ณ๋ ฌํ ์ ๊ณผ ๋์ผํ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์๋๋ฐ, ํ ์๋ณ๋ ฌํ์ ๊ฒฝ์ฐ๋ ํ๋์ ์ธต์ ๋๋ ์๋ก ๋ค๋ฅธ GPU์ ์ฌ๋ฆฌ๊ธฐ ๋๋ฌธ์ ํ๋ ฌ ์ฐ์ฐ ์ ๋ถ๋ฆฌ ๋ฐฉ๋ฒ (์ด ๋ณ๋ ฌํ, ํ ๋ณ๋ ฌํ)์ ํตํด ํ๋ ฌ ๊ณฑ์ ์ ์ ์ฉํ๋ค.

โช๏ธ ์ด ๋ณ๋ ฌํ : ์ ๋ ฅ๋ฐ์ดํฐ x๋ ์ ์งํ๋ฉด์ ๋ชจ๋ธ ๊ฐ์ค์น๋ฅผ ๋ถ๋ฆฌํ(A1,A2) ๊ณฑ์ ํ๊ณ ๊ฒฐ๊ณผ Y1,Y2๋ฅผ ํ๋๋ก ์ฐ๊ฒฐํจ
โช๏ธ ํ ๋ณ๋ ฌํ : ์ ๋ ฅ๋ฐ์ดํฐ x์ ๋ชจ๋ธ ๊ฐ์ค์น A๋ฅผ ๋ชจ๋ ๋ถ๋ฆฌํด ๊ฐ๊ฐ ๊ณฑ์ ํ๊ณ ๊ฒฐ๊ณผ Y1,Y2๋ฅผ ๋ํด์ค

3.2 ZeRo
โ ๋ฐ์ดํฐ๋ณ๋ ฌํ์์ ์ค๋ณต ์ ์ฅ ์ค์ด๊ธฐ
โช๏ธ ๋ฐ์ดํฐ๋ณ๋ ฌํ๋, ๋์ผํ ๋ชจ๋ธ์ ์ฌ๋ฌ GPU์ ์ฌ๋ฆฌ๊ธฐ ๋๋ฌธ์ ์ค๋ณต์ผ๋ก ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฐจ์งํ์ฌ ๋นํจ์จ์ ์ด๋ค.
โช๏ธ ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ง์ดํฌ๋ก์ํํธ์์ ๊ฐ๋ฐํ ๊ฒ์ด ZeRO ๋ฐฉ์!

โช๏ธ ํ๋์ ๋ชจ๋ธ์ ๋ถ๋ถ์ ์ผ๋ก ๋๋์ด ์ฌ๋ฌ GPU์ ์ฌ๋ฆฌ๊ณ , ๊ฐ GPU์์๋ ์์ ์ ๋ชจ๋ธ ๋ถ๋ถ์ ์ฐ์ฐ๋ง ์ํํ๊ณ ๊ทธ ์ํ๋ฅผ ์ ์ฅํ๋ค. ํ์ํ ์๊ฐ์๋ง ๋ค๋ฅธ gpu์ ๋ชจ๋ธ ํ๋ผ๋ฏธํฐ๋ฅผ ๋ณต์ฌํด ์ฐ์ฐ์ ์ํํ๋ค. ์ด๋ฅผ ํตํด ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ๋ฉด์๋ ์๋๋ ๋น ๋ฅด๊ฒ ์ ์งํ ์ ์๋ค.
4. ํจ์จ์ ์ธ ํ์ต ๋ฐฉ๋ฒ (PEFT) : LoRA
4.1 LoRA
โ Parameter Efficient Fine-Tuning
โช๏ธ LLM ๋ชจ๋ธ ํฌ๊ธฐ๊ฐ ์ ์ฐจ ์ปค์ง๋ฉด์, ํ๋์ GPU๋ก ๋ชจ๋ ํ๋ผ๋ฏธํฐ๋ฅผ ํ์ตํ๋ ํ์ธํ๋์ ์ํํ๊ธฐ ์ด๋ ค์์ก๋ค. ๋ฐ๋ผ์, ์ ์ฒด๊ฐ ์๋ ์ผ๋ถ ํ๋ผ๋ฏธํฐ๋ง ํ์ตํ๋ PEFT ๋ฐฉ๋ฒ ์ฐ๊ตฌ๊ฐ ํ๋ฐํ ์ด๋ฃจ์ด์ง๊ณ ์๋ค.
โ LoRA
โช๏ธ ๋ชจ๋ธ์ ์ผ๋ถ ํ๋ผ๋ฏธํฐ๋ฅผ ์ถ๊ฐํ๊ณ ๊ทธ ๋ถ๋ถ๋ง ํ์ตํ๋ ๋ฐฉ์
โช๏ธ ๋ชจ๋ธ ํ๋ผ๋ฏธํฐ ์ฌ๊ตฌ์ฑํ์ฌ ๋ ์ ์ ํ๋ผ๋ฏธํฐ๋ฅผ ํ์ตํ์ฌ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ์ค์


โช๏ธ ๊ฐ๋ น, ์ ์ฒด ํ๋ผ๋ฏธํฐW๊ฐ ์์ ๋, ๋ ์์ 2๊ฐ ํ๋ ฌ A,B๋ฅผ ์ถ๊ฐํด ํด๋น ๋ถ๋ถ์ ์์ ํ๋ค.
โช๏ธ r=4, d=100์ด๋ผ๋ฉด, A = (100,4), B = (4,100)์ผ๋ก AB ์ฐ์ฐ ๊ฒฐ๊ณผ์ ์ฐจ์์ด W์ ๋์ผํ๋, 10,000๊ฐ์ ํ๋ผ๋ฏธํฐ ํ์ต์ด ์๋, 800๊ฐ์ ํ๋ผ๋ฏธํฐ๋ง ํ์ตํ๋ฉด๋จ
โช๏ธ ํ๋ ฌ A,B๊ฐ ์ถ๊ฐ๋๋ฏ๋ก ๋ชจ๋ธ ํ๋ผ๋ฏธํฐ ์ฉ๋ ์์ฒด๋ ์ฆ๊ฐํ์ง๋ง, GPU๋ฉ๋ชจ๋ฆฌ ๊ตฌ์ฑ์์์ธ ๊ทธ๋ ์ด๋์ธํธ, ์ตํฐ๋ง์ด์ ์ํ์ ์ฉ๋์ ๊ฐ์ํ๋ค.

4.2 LoRA ์ค์ ๊ฐ
โ 1) ์ฐจ์ r
โช๏ธ r์ ์๊ฒํ๋ฉด ํ๋ผ๋ฏธํฐ ์๊ฐ ๊ฐ์ํ์ฌ GPU๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ด ๊ฐ์ํ์ง๋ง, ๋ชจ๋ธ์ด ํ์ตํ ์ ์๋ ์ฉ๋์ด ์์์ง๊ธฐ ๋๋ฌธ์ ํ์ต ๋ฐ์ดํฐ ํจํด์ ์ถฉ๋ถํ ํ์ตํ์ง ๋ชปํ ์ ์๋ค. (์ ์ ํ r์ ์ค์ ํ๋ ๊ฒ์ด ์ค์)
โ 2) alpha
โช๏ธ ์ถ๊ฐํ ํ๋ผ๋ฏธํฐ๋ฅผ ๊ธฐ์กด ํ๋ผ๋ฏธํฐ์ ์ผ๋ง๋ ๋ง์ด ๋ฐ์ํ ์ง ๊ฒฐ์ ํ๋ ์ธ์
โช๏ธ LoRA๋ 'alpha/r' ๋งํผ์ ๋น์ค์ผ๋ก ํ๋ ฌ A์ B์ ๊ณฑํ ๊ฐ์ ๊ธฐ์กด ํ๋ผ๋ฏธํฐ W์ ๋ํด์ฃผ๋ ๋ฐฉ์์ ์ฌ์ฉํจ (alpha๊ฐ ์ปค์ง๋ฉด, ์๋กญ๊ฒ ํ์ตํ ํ๋ผ๋ฏธํฐ์ ์ค์์ฑ์ ํฌ๊ฒ ๊ณ ๋ คํ๋ ๊ฒ)
โ 3) ์ด๋ค ํ๋ผ๋ฏธํฐ๋ฅผ ์ฌ๊ตฌ์ฑํ ์ง ์ค์
โช๏ธ ์ผ๋ฐ์ ์ผ๋ก ์ ํ ์ฐ์ฐ(ex. ์ ํ์ดํ ์ ์ฐ์ฐ์์ QKV ๊ฐ์ค์น, ํผ๋ํฌ์๋ ์ธต์ ๊ฐ์ค์น)์ ๊ฐ์ค์น๋ฅผ ์ฌ๊ตฌ์ฑํ๋, ํน์ ๊ฐ์ค์น์๋ง ์ ์ฉํ๊ฑฐ๋ ์ ์ฒด ์ ํ์ธต์ ์ ์ฉํ๋ ๋ฐฉ์์ ์ทจํ ์๋ ์๋ค. ๋ณดํต ์ ์ฒด ์ ํ ์ธต์ ์ ์ฉํ ๊ฒฝ์ฐ ์ฑ๋ฅ์ด ๊ฐ์ฅ ์ข๋ค๊ณ ๋ ์๋ ค์ ธ์์ง๋ง ์คํ์ ํตํด ์ ์ ํ ์ ํํด์ผ ํ๋ค.

4.3 ์ฝ๋ ์ค์ต
โ ใ
โช๏ธ ํ๊น ํ์ด์ค์ peft ๋ผ์ด๋ธ๋ฌ๋ฆฌ
5. ํจ์จ์ ์ธ ํ์ต ๋ฐฉ๋ฒ (PEFT) : QLoRA
5.1 QLoRA
โ Efficient Finetuning of Quantized LLMs
โช๏ธ LoRA์ ์์ํ๋ฅผ ์ถ๊ฐํด ๋ฉ๋ชจ๋ฆฌ ํจ์จ์ฑ์ ๋์ธ ๋ฐฉ์

โช๏ธ QLoRA ์์ CPU๋ 'ํ์ด์ง ์ตํฐ๋ง์ด์ ' ๊ธฐ๋ฅ์ ์๋ฏธํ๋๋ฐ ์ด ๊ธฐ๋ฅ์ ํ์ต๋์ค์๋ OOM์๋ฌ ์์ด ์์ ์ ์ผ๋ก ์งํํ ์ ์๋๋ก ํด์ค๋ค.
5.2 4๋นํธ ์์ํ & 2์ฐจ ์์ํ, ํ์ด์ง ์ตํฐ๋ง์ด์
โ 4๋นํธ ์์ํ (Normal Float 4-bit) & 2์ฐจ ์์ํ (double quantization)

โช๏ธ ์์ํ๋ '๊ธฐ์กด ๋ฐ์ดํฐ์ ์ ๋ณด๋ ์ ์งํ๋ฉด์, ๋ ์ ์ ๋นํธ๋ฅผ ์ฌ์ฉํ๋ ๋ฐ์ดํฐ ํ์์ผ๋ก ๋ณํ' ํ๋ ๊ฒ์ด ํต์ฌ์ธ๋ฐ, ๊ธฐ์กด ๋ฐ์ดํฐ์ ์์๋๋ก ๋ฐ์ดํฐ ํ์์ ๋งตํํ๋ ๋ฐฉ์์ ์ ์ฉํ ๋ ๊ธฐ์กด ๋ฐ์ดํฐ์ ๋ถํฌ(ex.์ ๊ท๋ถํฌ)๋ฅผ ์๊ณ ์๋ค๋ฉด ์ฐ์ฐ์ด๋ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ ์์ด ๋น ๋ฅด๊ฒ ๋ฐ์ดํฐ ์์๋ฅผ ์ ํ ์ ์๋ค.
โช๏ธ ํ์ต๋ ๋ชจ๋ธ ํ๋ผ๋ฏธํฐ๋ ๊ฑฐ์ ์ ๊ท๋ถํฌ์ ๊ฐ๊น์ด๋ฐ, ๋ฐ๋ผ์ ์ ๋ ฅ์ด ์ ๊ท๋ถํฌ๋ผ๋ ๊ฐ์ ์ ํ์ฉํ๋ฉด ๋ชจ๋ธ์ ์ฑ๋ฅ์ ์ ์งํ๋ฉด์๋ ๋น ๋ฅธ ์์ํ๊ฐ ๊ฐ๋ฅํด์ง๋ค. QLoRA๋ ผ๋ฌธ์์๋ ์ด ์์ํ ๋ฐฉ์์ ์ํํ 4๋นํธ ๋ถ๋์์์ ๋ฐ์ดํฐ ํ์์ธ NF4๋ฅผ ์ ์ํ๋ค.
โช๏ธ QLoRA ๋ ผ๋ฌธ์์๋ NF4์์ํ ๊ณผ์ ์์ ๋ฐ์ํ๋ 32๋นํธ ์์๋ฅผ ํจ์จ์ ์ผ๋ก ์ ์ฅํ๋ ๋ฐฉ์์ธ 2์ฐจ ์์ํ๋ ์๊ฐํ๋ค. 64๊ฐ์ ๋ชจ๋ธ ํ๋ผ๋ฏธํฐ๋ฅผ ํ๋์ ๋ธ๋ก์ผ๋ก ๋ฌถ์ด ์์ํ๋ฅผ ์ํํ ์ ๊ฐ 1๊ฐ์ ์์๋ฅผ ์ ์ฅํ๋ค.

โ ํ์ด์ง ์ตํฐ๋ง์ด์
โช๏ธ QLoRA ๋ ผ๋ฌธ์์ ๊ทธ๋ ์ด๋์ธํธ ์ฒดํฌํฌ์ธํ ๊ณผ์ ์์ ๋ฐ์๊ฐ๋ฅํ OOM์๋ฌ๋ฅผ ๋ฐฉ์งํ๊ณ ์ paged optimizer๋ฅผ ์ฌ์ฉํ๋ค. ๊ทธ๋ ์ด๋์ธํธ ์ฒดํฌํฌ์ธํ ์ ์์ ํ ๊ณผ์ ์์ ์ผ๋ถ ๋ ธ๋๋ง ์ ์ฅํด ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ ์๋ ์์ผ๋, ์ญ์ ํ ์ฌ๊ณ์ฐ์ ์์ ํ์ ์ค๊ฐ ๊ฒฐ๊ณผ๋ค์ ๊ฐ์ ธ์ฌ ๋ ํ๊บผ๋ฒ์ ๋ง์ ๋ ธ๋๋ค์ด ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ๊ฐ๋ ๊ฒฝ์ฐ OOM ์๋ฌ๊ฐ ๋ฐ์ํ๋ค.
โช๏ธ ์๋น๋์์ ํตํฉ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํตํด GPU๊ฐ CPU ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ณต์ ํ๋ ๋ฐฉ์์ด paged optimizer ์ด๋ค. GPU๊ฐ ์ฒ๋ฆฌํ ๋ฐ์ดํฐ๊ฐ ๋ง์ผ๋ฉด ์ผ๋ถ ๋ฐ์ดํฐ๋ฅผ CPU์ ๋ณด๊ดํด๋๊ณ ํ์ํ ๋ ๋ค์ GPU๋ก ์ฎ๊ฒจ ์ฒ๋ฆฌํ๋ค.
5.3 ์ฝ๋ ์ค์ต
โ ใ
โช๏ธ ใ
'1๏ธโฃ AIโขDS > ๐ LLM' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [์ฑ ์คํฐ๋] 7. ๋ชจ๋ธ ๊ฐ๋ณ๊ฒ ๋ง๋ค๊ธฐ (3) | 2025.08.23 |
|---|---|
| [์ฑ ์คํฐ๋] 6. sLLM ํ์ตํ๊ธฐ (4) | 2025.08.07 |
| [์ฑ ์คํฐ๋] 5-1. GPU ํจ์จ์ ์ธ ํ์ต (3) | 2025.07.24 |
| [์ฑ ์คํฐ๋] 4. GPT-3๊ฐ ์ฑGPT๋ก ๋ฐ์ ํ ์ ์์๋ ๋ฐฉ๋ฒ (0) | 2025.07.06 |
| [์ฑ ์คํฐ๋] 3. ํ๊น ํ์ด์ค ํธ๋์คํฌ๋จธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ (4) | 2024.12.16 |
๋๊ธ