๋ถ์ : ํ๊ท ๋ชจ๋ธ๋ถํฐ LoRA ํ์ธํ๋๊น์ง, 5๊ฐ์๊ฐ์ ์์ถ ์ฑ์ฅ ๊ธฐ๋ก
๋ค์ด๊ฐ๋ฉฐ
์ง๋ 5๊ฐ์๊ฐ(24๋ 6์~10์) Google Developers Group์์ ์ฃผ์ตํ Google Machine Learning Bootcamp์ ์ฐธ์ฌํ์ต๋๋ค. ํํํ ๊ธฐ๋ณธ๊ธฐ๋ฅผ ๋ค์ง๋ ๊ฒ๋ถํฐ ์ต์ LLM ํธ๋ ๋๋ฅผ ์ง์ ๊ตฌํํด๋ณด๋ ๊ฒ๊น์ง, ํ์ AI ์์ง๋์ด์๊ฒ ํ์ํ ์ญ๋์ ์์ถ์ ์ผ๋ก ๊ฒฝํํ ์ ์์๋ ์๊ฐ์ด์์ต๋๋ค.
์ด๋ฒ ํฌ์คํ ์์๋ ๋ถํธ์บ ํ ์ ์ฒด์ ์ฌ์ ์ ๋์ง์ด๋ณด๊ณ , ํนํ ๋ง์ง๋ง Gemma Sprint์์ ์งํํ๋ ๊ฐ์ธํ ๊ธ์ต ์๋ฌธ ์ฑ๋ด ๊ฐ๋ฐ ํ๋ก์ ํธ์ ๋ฌธ์ ํด๊ฒฐ ๊ณผ์ ๊ณผ ๊ธฐ์ ์ ์์ฌ๊ฒฐ์ ์ ๊น์ด ์๊ฒ ๊ณต์ ํด๋ณด๋ ค๊ณ ํฉ๋๋ค.
1. ๋ถํธ์บ ํ ์ฌ์ : ๊ธฐ๋ณธ๊ธฐ์์ ์ค์๋น์ค ๋ฐฐํฌ๊น์ง
๋ถํธ์บ ํ ์ด๋ฐ์๋ ๋จธ์ ๋ฌ๋์ ๊ทผ๊ฐ์ด ๋๋ ํ๊ท ๋ชจ๋ธ๋ง์ ์ง์คํ์ต๋๋ค. ์ค๊ณ ์ฐจ ๊ฐ๊ฒฉ ์์ธก ๋ํ๋ฅผ ํตํด Scikit-learn, XGBoost, LightGBM ๊ฐ์ ์ฃผ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ค๋ฃจ๋ฉฐ ๋จ์ํ ๋ชจ๋ธ์ ํธ์ถํ๋ ๊ฒ์ ๋์ด, ์ฑ๋ฅ์ ๊ทนํ์ผ๋ก ๋์ด์ฌ๋ฆฌ๋ ๊ณผ์ ์ ํ๋ จํ์ต๋๋ค.
Advanced Feature Engineering: ๋ณ์ ๊ฐ์ ๊ด๊ณ๋ฅผ ๋ถ์ํ๊ณ ํ์ ๋ณ์๋ฅผ ์์ฑํ๋ฉฐ ๋ชจ๋ธ์ด ๋ฐ์ดํฐ๋ฅผ ๋ ์ ์ดํดํ ์ ์๋๋ก ํ์ต๋๋ค.
Hyperparameter Tuning: Grid Search, Bayesian Optimization ๋ฑ์ ํ์ฉํด ์ต์ ์ ํ๋ผ๋ฏธํฐ๋ฅผ ํ์ํ์ต๋๋ค.
End-to-End Pipeline: ๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ๋ถํฐ ๋ชจ๋ธ ํ์ต, ์์ธก, ๊ทธ๋ฆฌ๊ณ ์ค์๋น์ค ๋ฐฐํฌ๊น์ง ์ด์ด์ง๋ ์ ์ฒด ํ์ดํ๋ผ์ธ์ ๊ตฌ์ถํ๋ฉฐ ์ด์(MLOps) ๊ด์ ์ ์ญ๋์ ๊ฐํํ์ต๋๋ค.
์ด ๊ณผ์ ์์ ๋ค์ง ํํํ ๊ธฐ๋ณธ๊ธฐ๋ ์ดํ LLM ํ๋ก์ ํธ์์ ๋ง์ฃผ์น ๋ณต์กํ ๋ฌธ์ ๋ค์ ํด๊ฒฐํ๋ ๋ฐ ๋ ๋ ํ ๋ฐํ์ด ๋์ด์ฃผ์์ต๋๋ค.
2. ์ต์ข ํ๋ก์ ํธ: Gemma-2B ๊ธ์ต ์๋ฌธ ์ฑ๋ด ๊ฐ๋ฐ๊ธฐ
๋ถํธ์บ ํ์ ๋๋ฏธ๋ Google์ ๊ฒฝ๋ ๋ชจ๋ธ์ธ Gemma๋ฅผ ํ์ฉํ ์คํ๋ฆฐํธ์์ต๋๋ค. ์ ๋ '์ฌ์ฉ์ ํ๋กํ ๊ธฐ๋ฐ ๊ฐ์ธํ ๊ธ์ต ์๋ฌธ ์ฑ๋ด'์ด๋ผ๋ ์ฃผ์ ๋ฅผ ์ ์ ํ์ต๋๋ค. ๋ฒ์ฉ ๋ชจ๋ธ์ธ gemma-2-2b-it๋ฅผ ํน์ ๋๋ฉ์ธ์ ๋ง์ถฐ ํจ์จ์ ์ผ๋ก ํนํ์ํค๋ ๊ฒ์ด ํต์ฌ ๊ณผ์ ์์ต๋๋ค.
2.1. ๋ฌธ์ ์ ์ ๋ฐ ๋ฐ์ดํฐ ์ค๊ณ: ๋ชจ๋ธ์ ์ํ ๋ง์ถค ๊ต๊ณผ์ ๋ง๋ค๊ธฐ
๊ฐ์ฅ ๋จผ์ ๊ณ ๋ฏผํ ๊ฒ์ '์ด๋ป๊ฒ ๋ชจ๋ธ์ ๊ฐ๋ฅด์น ๊ฒ์ธ๊ฐ?'์์ต๋๋ค. Instruction-tuned ๋ชจ๋ธ์ธ Gemma์ ํน์ฑ์ ์ต๋ํ ํ์ฉํ๊ธฐ ์ํด, ๋ช ํํ ์ง์(Input)์ ๊ทธ์ ๋ฐ๋ฅธ ๋ชจ๋ฒ ๋ต์(Output) ํ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ค๊ณํ์ต๋๋ค.
์ฌ์ฉ์ ํ๋กํ์ ๊ตฌ์กฐํ๋ ํ ์คํธ๋ก ์ ๋ ฅํ๊ณ , ๊ทธ์ ๋ง๋ ๊ธ์ต ์กฐ์ธ์ ์ถ๋ ฅ์ผ๋ก ๊ตฌ์ฑํ์ฌ ๋ชจ๋ธ์ด ๋งฅ๋ฝ์ ๋ง๋ ๋ต๋ณ ์์ฑ ํจํด์ ํ์ตํ๋๋ก ์ ๋ํ์ต๋๋ค.
2.2. ๋ชจ๋ธ ์ต์ ํ: ๊ฒฝ๋ํ์ ์ฑ๋ฅ ์ฌ์ด์ ๊ท ํ์ก๊ธฐ
2B ๋ชจ๋ธ๋ ๊ฐ์ธ ๊ฐ๋ฐ ํ๊ฒฝ์์๋ ๋ถ๋ด์ค๋ฌ์ธ ์ ์์ต๋๋ค. ์ ํ๋ ๋ฆฌ์์ค ๋ด์์ ์์ ์ ์ธ ํ์ต์ ์ํด ์ฑ๋ฅ ์ ํ๋ฅผ ์ต์ํํ๋ฉด์ ๋ชจ๋ธ์ ๊ฒฝ๋ํํ๋ ์ ๋ต์ด ํ์์ ์ด์์ต๋๋ค.
1) 4-bit ์์ํ (Quantization)
๋ชจ๋ธ์ ๊ฐ์ค์น๋ฅผ ํํํ๋ ๋ฐ์ดํฐ ํ์ ์ ์ ๋ฐ๋๋ฅผ ๋ฎ์ถฐ(e.g., 32-bit float -> 4-bit), ๋ชจ๋ธ์ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ํ๊ธฐ์ ์ผ๋ก ์ค์ด๋ ๊ธฐ๋ฒ์ ๋๋ค. BitsAndBytesConfig๋ฅผ ์ฌ์ฉํด NF4(Normalized Float 4) ํ์ ์ผ๋ก ์์ํ๋ฅผ ์ ์ฉ, GPU ๋ฉ๋ชจ๋ฆฌ ๋ถ๋ด์ ํฌ๊ฒ ๋์ด๋์ต๋๋ค.
2) ํ๋ผ๋ฏธํฐ ํจ์จ์ ํ์ธํ๋ (PEFT) with LoRA
๋ชจ๋ธ์ ๋ชจ๋ ํ๋ผ๋ฏธํฐ(์์ญ์ต ๊ฐ)๋ฅผ ์ ๋ฐ์ดํธํ๋ ๋์ , ๊ทน์์์ ํ๋ผ๋ฏธํฐ๋ง ์ถ๊ฐํ๊ณ ํ์ตํ๋ PEFT ๊ธฐ๋ฒ์ ์ ์ฉํ์ต๋๋ค. ํนํ LoRA(Low-Rank Adaptation)๋ ๊ธฐ์กด ๊ฐ์ค์น ์์ ์์ ํฌ๊ธฐ์ ํ๋ ฌ์ ์ถ๊ฐํ์ฌ ์ด ๋ถ๋ถ๋ง ํ์ต์ํค๋ฏ๋ก, Full Fine-tuning ๋๋น ํจ์ฌ ์ ์ ๋ฆฌ์์ค๋ก ๋น ๋ฅธ ํ์ต์ด ๊ฐ๋ฅํฉ๋๋ค. ์ด๋ ์ด๋ฒ ํ๋ก์ ํธ์ ์ฑํจ๋ฅผ ๊ฐ๋ฅธ ํต์ฌ์ ์ธ ์ ํ์ด์์ต๋๋ค.
์์น๋ก ๋ณด๋ ์ต์ ํ ํจ๊ณผ
- Gemma-2B ์ ์ฒด ํ๋ผ๋ฏธํฐ: ์ฝ 25์ต ๊ฐ(โ2.5B) - LoRA ํ์ต ํ๋ผ๋ฏธํฐ: ์ฝ 130๋ง ๊ฐ(์ ์ฒด์ ์ฝ 0.05%) - ๋ฉ๋ชจ๋ฆฌ ๊ด์ (๊ฐ์ค์น ๊ธฐ์ค): FP16 โ 5.0GB โ 4-bit(NF4) โ 1.25GB ์์ค - ํจ๊ณผ: Full-tuning ๋๋น ํ์ต ์๊ฐ/๋น์ฉ์ ๋ํญ ์ ๊ฐํ๋ฉด์๋, ๊ฐ์ธ ๊ฐ๋ฐ ํ๊ฒฝ์์ ์์ ์ ์ผ๋ก ์ฌํ ๊ฐ๋ฅ
2.3. ํ๋ จ ๋ฐ ๊ฒฐ๊ณผ
Hugging Face์ SFTTrainer๋ฅผ ํ์ฉํด ์ค๋น๋ ๋ฐ์ดํฐ์ ์ต์ ํ ์ค์ ์ ๋ฐํ์ผ๋ก ํ์ธํ๋์ ์งํํ์ต๋๋ค. ๋จ 3 epoch์ ์งง์ ํ์ต๋ง์ผ๋ก๋ ๋ชจ๋ธ์ ์ฃผ์ด์ง ํ๋กํ ํ์์ ๋ง์ถฐ ์ ๋ฒ ๊ทธ๋ด๋ฏํ ๊ธ์ต ์กฐ์ธ์ ์์ฑํ๊ธฐ ์์ํ์ต๋๋ค.
์ถ๋ก ๊ฒฐ๊ณผ
ํ์ต์ด ์๋ฃ๋ LoRA ๊ฐ์ค์น๋ฅผ ์๋ ๋ชจ๋ธ๊ณผ ๋ณํฉํ์ฌ, ์ด๋์๋ ์ฝ๊ฒ ๋ถ๋ฌ์ ์ฌ์ฉํ ์ ์๋ ๋ ๋ฆฝ์ ์ธ ๋ชจ๋ธ๋ก ๋ง๋ค์ด ํ๋ก์ ํธ๋ฅผ ๋ง๋ฌด๋ฆฌํ์ต๋๋ค.
3. ํ๋ก์ ํธ๋ฅผ ํตํด ๋ฐฐ์ด ์
์ด๋ฒ ๋ถํธ์บ ํ์ ์ต์ข ํ๋ก์ ํธ๋ฅผ ํตํด ์ป์ ๊ฐ์ฅ ํฐ ์ํ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
PEFT๋ ์ ํ์ด ์๋ ํ์: ๊ฐ์ธ ํน์ ์์ ํ ๋จ์์์ LLM์ ํน์ ๋๋ฉ์ธ์ ๋ง๊ฒ ํ๋ํ ๋, LoRA์ ๊ฐ์ PEFT ๊ธฐ๋ฒ์ ๋น์ฉ๊ณผ ์๊ฐ์ ๊ทน์ ์ผ๋ก ์ ์ฝํด์ฃผ๋ ๊ฐ์ฅ ํ์ค์ ์ธ ํด๊ฒฐ์ฑ ์์ ์ฒด๊ฐํ์ต๋๋ค.
๋ฐ์ดํฐ ์ค๊ณ์ ์ค์์ฑ: "Garbage in, Garbage out" ์์น์ LLM์์๋ ๋์ผํ๊ฒ ์ ์ฉ๋ฉ๋๋ค. ๋ชจ๋ธ์ ์ ์ฌ๋ ฅ์ ์ต๋ํ ๋์ด๋ด๊ธฐ ์ํด์๋ ๋ชจ๋ธ์ ํน์ฑ์ ์ดํดํ๊ณ ๊ทธ์ ๋ง๋ ๊ณ ํ์ง์ ํ์ต ๋ฐ์ดํฐ๋ฅผ ์ค๊ณํ๋ ๋ฅ๋ ฅ์ด ๋ฌด์๋ณด๋ค ์ค์ํฉ๋๋ค.
End-to-End ๊ฒฝํ: ์์ด๋์ด๋ฅผ ๊ตฌ์ฒดํํ๊ณ , ๋ฐ์ดํฐ๋ฅผ ์ ์ ํ๋ฉฐ, ๋ชจ๋ธ์ ํ๋ํ๊ณ , ์ต์ข ์ ์ผ๋ก ๋ฐฐํฌ ๊ฐ๋ฅํ ์ฐ์ถ๋ฌผ์ ๋ง๋ค์ด๋ด๋ ์ ๊ณผ์ ์ ์ง์ ์ํํ๋ฉฐ ํ๋ก์ ํธ ์ ์ฒด๋ฅผ ์กฐ๋งํ๋ ์์ผ๋ฅผ ๊ฐ์ง ์ ์์์ต๋๋ค.
๋ง์น๋ฉฐ
Google ML Bootcamp์์์ 5๊ฐ์์ ๋จ์ํ ์๋ก์ด ๊ธฐ์ ์ ๋ฐฐ์ฐ๋ ๊ฒ์ ๋์ด, ๋ฌธ์ ํด๊ฒฐ์ ์ํ ๊ธฐ์ ์ ์์ฌ๊ฒฐ์ ๋ฅ๋ ฅ๊ณผ ๋๊ธฐ๋ฅผ ๊ธฐ๋ฅผ ์ ์์๋ ์ฑ์ฅ์ ์๊ฐ์ด์์ต๋๋ค. ํ๊ท ๋ถ์๋ถํฐ Gemma ํ์ธํ๋๊น์ง, ๋์ ์คํํธ๋ผ์ ๊ฒฝํ์ ํตํด AI ์์ง๋์ด๋ก์ ํ ๋จ๊ณ ๋ ๋์ฝํ ์ ์๋ ์์ ๊ฐ์ ์ป์์ต๋๋ค. ์ด ๊ฒฝํ์ ๋ฐํ ์ผ์ ์์ผ๋ก ๋ ๋ณต์กํ๊ณ ๋์ ์ ์ธ ๋ฌธ์ ๋ค์ ํด๊ฒฐํด๋๊ฐ ์๊ฐ์ ๋ฒ์จ๋ถํฐ ๊ฐ์ด์ด ๋๋๋ค.