https://github.com/AiResearch2025/FigVarietyRAGChat
GitHub - AiResearch2025/FigVarietyRAGChat: RAG 기반 희귀품종 무화과 챗봇 프로젝트
RAG 기반 희귀품종 무화과 챗봇 프로젝트. Contribute to AiResearch2025/FigVarietyRAGChat development by creating an account on GitHub.
github.com
🌏 sLLM이 왜 필요할까?
✅ 인트로
최근 몇 년간 인공지능은 LLM(Large Language Model) 덕분에 폭발적으로 발전했다.
ChatGPT, Claude, Gemini와 같은 모델들이 대표적이다.
이들은 방대한 데이터를 학습해 사람처럼 언어를 이해하고 문장을 생성할 수 있다.
하지만, 이런 ‘거대함’은 동시에 여러 가지 현실적인 한계를 낳는다.
✅ LLM의 한계 (너무 큼)
LLM은 언어의 문맥, 의미, 추론 구조 등을 수학적으로 모델링하기 위해 수십억 개에서 많게는 수천억 개의 파라미터(parameter) 를 가진다.
이 파라미터 하나하나가 모델이 문장을 이해하고 생성할 때 사용되는 “지식 단위”이다.
즉, 모델이 커질수록 더 많은 언어적 패턴과 개념을 표현할 수 있지만,
그만큼 계산량, 메모리, 저장공간이 기하급수적으로 늘어난다.
| 모델 | 파라미터 수 | 파일 크기(대략) |
|---|---|---|
| GPT-2 | 1.5억 (0.15B) | 약 0.5GB |
| GPT-3 | 1,750억 (175B) | 약 350GB |
| GPT-4 | 수천억~1조 이상 추정 | TB 단위 이상 |
파라미터 수가 너무 많다는 이유 때문에, 현실적으로
- 연산 비용이 너무 큼
- 한 문장 만드려면 수십억 번의 matrix 연산이 필요하다.
- 고성능 GPU나 TPU가 여러 대 필요한데 대부분의 회사나 개인은 이 비용을 맞출 수 없다.
- 메모리, 저장 공간이 너무 많이 필요함
- 높은 전력 소모
- 지연 시간
- 서버에서는 빠르지만, 기기에서 직접 실행하면 응답 속도가 느려진다.
- 높은 비용
- 보안과 프라이버시 이슈
- 내부 문서나 개인정보를 모델에 입력하기 어렵다.
✅ sLLM의 장점
이런 이유로 최근 작지만 똑똑한 sLLM이 주목받고 있다.
“대규모 모델의 지능을 유지하면서, 훨씬 가볍고 빠르게 동작하는 모델을 만들자.”
(1) 기업 내부용 sLLM
많은 기업들은 LLM을 자체 서버나 폐쇄망에서 운영하고 싶어 한다. 하지만 거대한 LLM은 GPU 수십 장 없이는 구동조차 어렵다.
그래서 등장한 것이, LLaMA, Mistral, Phi 시리즈처럼 오픈소스 기반의 경량화 모델이다. 기업들은 이를 fine-tuning하여 내부 문서 검색, 이메일 요약, 코드 분석 등 다양한 업무에 적용한다.
(2) 온디바이스(On-device) sLLM
최근에는 스마트폰과 노트북에서도 AI 모델을 직접 돌리는 온디바이스 AI가 주목받고 있다.
예를 들어, Apple의 Neural Engine (뉴럴 코어), Qualcomm의 Hexagon NPU, 삼성의 Exynos NPU와 같은 이런 전용 AI 칩은 클라우드 없이도 기기 안에서 바로 추론을 수행할 수 있다.
다만 LLM을 그대로 올리기엔 너무 커서, 경량화된 sLLM이 필수적이다.
🌏 LLM을 sLLM으로 줄이는 방법
LLM의 지능을 최대한 보존하면서 크기를 최대한 줄여야 한다.
이를 위해서 대표적으로 4가지 방법이 있다.
✅ 지식 증류 (Knowledge Distillation)

가장 직관적인 방법이다. 큰 모델을 ‘선생님(Teacher)’, 작은 모델을 ‘학생(Student)’이라고 생각하면 된다.
크고 비싼 Teacher 모델이 가지고 있는 지식(knowledge)을 작은 student 모델에게 전수(transfer) 하는 방법론이다.
예를 들어, Teacher가 “이 문장에서 다음 단어는 70% 확률로 X야”라고 예측하면 Student는 그 확률 분포를 따라 학습한다. 이렇게 하면 작은 모델이 데이터뿐 아니라 생각하는 방식까지 배울 수 있다.
모델 자체를 모르더라도 API 콜만 할 수 있다면 작은 모델을 학습시킬 수 있다. 그리고 teacher, student 의 결과값의 분포를 비슷하게 만드는 것을 목표로 한다. (분포의 차이를 재는 KL Divergence를 최소화하는 방향으로 학습)
예. DistilBERT (BERT보다 40% 작지만 97% 성능 유지)
gpt-4o-mini (gpt-4o보다 빠르지만 성능 차이도 크지 않음)
- https://medium.com/@yugank.aman/knowledge-distillation-for-llms-techniques-and-applications-e23a17093adf
- https://devocean.sk.com/blog/techBoardDetail.do?ID=167285&boardType=techBlog
✅ 양자화 (Quantization)
모델의 숫자 표현을 단순화하는 방법이다. 일반적으로 딥러닝 모델은 모든 가중치를 16비트나 32비트 부동소수(float32) 로 저장하는데, 양자화를 하면 가중치를 8비트, 4비트 정수(Int8, Int4) 로 바꾸어 모델 크기와 메모리 사용량이 급격히 줄어든다. 물론 세부적인 표현력이나 특정 정보의 처리 능력에서 저하가 발생할 수 있다.
한국어 모델을 양자화할 때 더 조심할 점은, LLM 양자화가 영어나 프랑스어보다 한국어/일본어와 같은 언어에 더 큰 영향을 미친다는 것이다.
예. QLoRA, GPTQ, bitsandbytes 4bit quantization
✅ 프루닝 (Pruning)

모델 안을 들여다보면, 어떤 뉴런이나 연결은 거의 쓰이지 않는다. 이런 부분을 “가지치기”하듯 제거하는 과정이 프루닝이다.
중요도가 낮은 연결을 잘라내고, 남은 연결들만 다시 미세조정(fine-tuning)하면 성능은 거의 유지하면서 크기는 크게 줄어든다.
또 대규모 언어 모델에서 특정 레이어를 제거해도 성능이 유지되거나, 최소한의 파인튜닝으로 복원될 수 있다고 하는 논문 역시 발표되었다.
예. SparseGPT, Movement Pruning 등
- https://www.deepchecks.com/llm-pruning-and-distillation-importance/
- https://discuss.pytorch.kr/t/llm-layer-pruning-qlora/3951
✅ LoRA (Low-Rank Adaptation)

LoRA는 필요한 부분만 살짝 학습하는 효율적인 Fine-tuning 기법이다.
기존 모델 전체를 새로 훈련하지 않고, 가중치 행렬 일부를 작은 두 행렬로 분해해 그 부분만 학습한다.
그래서 기존 모델을 건드리지 않으면서도 새로운 태스크에 빠르게 적응할 수 있다.
예. LoRA, QLoRA, AdaLoRA 등

도움이 되었다면, 공감/댓글을 달아주면 깃짱에게 큰 힘이 됩니다!🌟
비밀댓글과 메일을 통해 오는 개인적인 질문은 받지 않고 있습니다. 꼭 공개댓글로 남겨주세요!