QLoRA ๊ธฐ๋ฐ 7B LLM ํ๋ ๋ฐ 14GB ๋ชจ๋ธ ๋ฐฐํฌ์ ์ธํ๋ผ ์ ์ฝ ๋ถ์
Fine-tuned 7B LLM as a broke student. And Can't even use it ๐ญ.
AI ์์ฝ
Context
Qwen 2.5-7B ๋ชจ๋ธ์ 687๊ฐ์ ๋ํ ๋ฐ์ดํฐ์ ์ผ๋ก Fine-tuning ํ์ฌ ํน์ ํ๋ฅด์๋๋ฅผ ๊ตฌํํ๋ ค๋ ์๋. ๋ฌด๋ฃ ํด๋ผ์ฐ๋ ํ๊ฒฝ์ VRAM ๋ฐ RAM ์ ํ์ผ๋ก ์ธํ ํ์ต ๋ฐ ๋ฐฐํฌ ์ํคํ ์ฒ์ ๋ณ๋ชฉ ํ์ ๋ฐ์.
Technical Solution
- 16GB T4 GPU ํ๊ฒฝ์์ ํ์ต์ ์ํํ๊ธฐ ์ํด QLoRA๋ฅผ ํตํ 4-bit Precision ์์ถ ์ ์ฉ
- 16MB ํฌ๊ธฐ์ Custom Adapter ์์ฑ ํ Base Model๊ณผ ๋ณํฉํ์ฌ 14GB ๋จ์ผ Asset์ผ๋ก ๋ณํ
- Colab์ 12GB RAM ํ๊ณ๋ฅผ ๊ทน๋ณตํ๊ธฐ ์ํด 30GB RAM์ ์ ๊ณตํ๋ Kaggle ํ๊ฒฝ์ผ๋ก Migration ํ์ฌ Layer Fusion ์ํ
- ๋์ฉ๋ ๋ชจ๋ธ ์ ๋ก๋๋ฅผ ์ํด ์ ์ฒด Asset์ 3GB ๋จ์์ Sharding ํ์ผ๋ก ๋ถํ
- Discord ID ๊ธฐ๋ฐ Dynamic Persona ๋ถ์ฌ ๋ฐ ์ค์๊ฐ ์ฑ๋ ํ์คํ ๋ฆฌ ์ถ์ถ์ ํตํ Smart Context Window ์ค๊ณ
์ค์ฒ ํฌ์ธํธ
1. Fine-tuning ์ ๋ต ์๋ฆฝ ์ ํ์ต ํ๊ฒฝ๋ฟ ์๋๋ผ Inference๋ฅผ ์ํ VRAM ๋น์ฉ ๋ฐ ํธ์คํ ๊ฐ๋ฅ ์ฌ๋ถ๋ฅผ ์ฐ์ ๊ฒํ ํ ๊ฒ
2. Adapter ๊ธฐ๋ฐ ๋ชจ๋ธ ์ฌ์ฉ ์ Serverless API์ Dynamic Loading ์ง์ ์ฌ๋ถ๋ฅผ ํ์ธํ๊ณ ํ์์ Model Merge ์ ๋ต์ ์๋ฆฝํ ๊ฒ
3. ๋์ฉ๋ ๋ชจ๋ธ ์ฒ๋ฆฌ ์ ํ๊ฒฝ๋ณ RAM/VRAM ์ ์ฝ ์ฌํญ์ ํ์ ํ์ฌ ํ์ต-๋ณํฉ-๋ฐฐํฌ ๋จ๊ณ๋ณ ์ต์ ํ๋ซํผ์ ์ ํํ ๊ฒ