TIL
내일배움캠프 본캠프 55일차
수현조
2025. 2. 17. 20:39
LLM 톺아보기 - 요약 정리
1. LLM이란?
- 대량의 텍스트 데이터를 학습해 자연어를 이해하고 생성하는 모델.
- 트랜스포머(Transformer) 기반의 신경망을 활용.
- 초기에는 단순한 MLP(Multilayer Perceptron, 다층 퍼셉트론) 구조였지만, 점점 발전.
2. 기존 신경망의 한계와 트랜스포머 등장
(1) MLP와 RNN의 한계
- MLP: 입력 데이터의 순서를 고려하지 않음 → 문맥 이해 어려움.
- RNN: 순차적 학습이 가능하지만, 긴 문장에서 정보 손실(장기 의존성 문제, 느린 속도).
(2) 트랜스포머의 등장
- 문장의 모든 단어를 동시에 처리하며 **"어텐션(Attention)"**을 통해 중요한 단어 간의 관계를 고려.
- 병렬 연산이 가능해 속도가 빨라지고, 문맥을 더 정확하게 이해.
3. GPT의 발전과 프롬프트 엔지니어링
(1) GPT 시리즈 발전
- GPT-1, 2: 여전히 사람의 말귀를 잘 못 알아들음.
- GPT-3 시리즈: 1,750억 개의 파라미터 → 인간 수준의 언어 이해 시작.
- GPT-4, GPT-4o: 1조 8천억 개의 파라미터 → 인간의 추론 능력에 근접.
(2) 프롬프트 엔지니어링 변화
- 기존: 세밀한 지시가 필요 → Few-shot, Role prompting 등 활용.
- 현재: GPT-4o 이후 간단한 프롬프트가 더 효율적.
- 오히려 맥락을 너무 많이 제공하면 성능 저하 가능.
4. LLM 활용의 현실과 과제
(1) 온디바이스 실행의 어려움
- LLM 모델 크기 문제: 수천억 개의 파라미터 → 실행하려면 엄청난 VRAM 필요.
- 오픈소스 LLM 모델들 등장: 예) LLaMA, Gemma 등.
(2) LLM 경량화 (Quantization)
- 고정소수점(float)을 낮추어 메모리 요구량 줄이기.
- Float32 → Float16 → 8bit → 4bit 변환.
- 성능 손실이 있지만, 더 작은 하드웨어에서도 실행 가능.
5. 로컬 LLM 실행하기
- Ollama를 활용하면 로컬에서도 LLM 실행 가능.
- OpenAI Python SDK 방식으로 활용 가능.
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:11434/v1",
api_key="ollama",
)
response = client.chat.completions.create(
model="llama3.1:8b",
messages=[{"role": "system", "content": "You are a helpful assistant."}],
)
print(response.choices[0].message.content)
📌 요약 핵심
- LLM은 트랜스포머 기반의 자연어 모델.
- GPT-4 이후 프롬프트 엔지니어링 패러다임 변화.
- 온디바이스 실행 어려움 → 모델 경량화 필요.
- 로컬 LLM 실행 방법(Ollama) 존재.
👉 프롬프트보다 데이터와 활용이 더 중요해지는 시대! 🚀