최근 AI 실무 교육을 들으면서, LLM을 단순히 “좋은 모델”로 보는 관점에서 벗어나 “어떤 문제를 어떻게 풀어야 하는가”라는 구조적 이해가 훨씬 중요하다는 것을 다시 느꼈다.

이 글에서는 다음 두 가지를 하나의 흐름으로 정리한다.

  • LLM은 무엇이며, 왜 틀리는가
  • 그래서 우리는 언제 RAG를 쓰고, 언제 SFT를 써야 하는가

1. LLM은 무엇인가 (생각보다 단순한 본질)

많은 사람들이 LLM을 “지식을 가진 모델”이라고 생각하지만,
본질은 훨씬 단순하다.

LLM은 “다음 토큰을 가장 그럴듯하게 예측하는 모델”이다.

즉,

  • 질문을 이해해서 답을 “찾는” 모델이 아니라
  • 문맥(context)을 보고 “이어질 문장”을 생성하는 모델이다

2. LLM은 어떻게 학습되는가

LLM의 학습 목표는 명확하다.

👉 정답 토큰에 높은 확률을 주도록 학습

그 과정은 다음과 같다:

  1. 입력 (문장)
  2. 다음 단어 예측
  3. 정답과 비교 (Loss 계산)
  4. 오차 줄이기 (Backpropagation)

핵심은 Loss 함수다:

 

 

이 식이 의미하는 것은 단 하나다:

👉 정답을 얼마나 확신했는가

 

예를 들어:

  • 정답 확률이 0.9 → 작은 패널티
  • 정답 확률이 0.1 → 매우 큰 패널티

 

3. 그런데 왜 LLM은 틀릴까?

이제 중요한 질문이다. LLM은 꽤 똑똑한데 왜 틀릴까?

1) 정답을 검증하지 않는다

LLM은 “정답 여부”를 판단하지 않는다.
그저 “그럴듯한 다음 문장”을 생성할 뿐이다.

2) 외부 세계를 모른다

  • 최신 뉴스
  • 실시간 데이터
  • 회사 내부 정보

이런 것들은 기본적으로 알 수 없다.

3) “모른다”를 말하지 않는다

학습 목표가 “그럴듯한 문장 생성”이기 때문에
모를 때도 대답하는 것이 더 높은 점수를 받는다.

 

4. Hallucination은 필연이다

이 세 가지가 합쳐지면 결과는 명확하다.

👉 Hallucination(환각)은 구조적으로 피할 수 없다

그래서 LLM 시스템 설계는 “모델을 더 좋게 만드는 것”이 아니라

👉 “틀릴 수 있는 모델을 어떻게 통제할 것인가”의 문제

 

5. 그 해결 전략: RAG vs SFT

이제 본론이다. LLM의 한계를 해결하기 위해 등장한 대표적인 전략이 두 가지다:

  • RAG (Retrieval-Augmented Generation)
  • SFT (Supervised Fine-Tuning)

 

6. RAG: “무엇을 말할지” 해결

RAG는 간단하다.

👉 외부 지식을 가져와서 답변하게 만든다

 

동작 방식:

  1. 질문을 받는다
  2. 관련 문서를 검색한다 (embedding 기반)
  3. 문서를 포함해서 LLM에 입력한다
  4. 답변 생성

즉, 지식 부족 문제를 해결한다

언제 쓰는가?

  • 최신 정보가 필요한 경우
  • 근거 기반 답변이 필요한 경우
  • 사내 문서 기반 QA

 

7. SFT: “어떻게 말할지” 해결

SFT는 완전히 다른 문제를 푼다.

👉 모델의 “출력 방식”을 학습시킨다

 

예:

  • JSON 형식으로 응답
  • Tool 호출 구조 맞추기
  • 특정 말투 유지

즉, 형식 / 스타일 / 규칙 문제를 해결한다

 

8. 핵심 정리 (가장 중요한 부분)

이 교육에서 가장 인상 깊었던 한 줄:

“무엇을 말할지 → RAG
어떻게 말할지 → SFT”

 

이걸 조금 더 구조적으로 보면:

문제 유형 해결 방법
지식 부족 RAG
출력 형식 / 스타일 SFT
둘 다 필요 RAG + SFT

9. 실무에서 자주 하는 실수

많은 팀이 이런 실수를 한다:

 “모델이 이상하게 답한다 → 더 큰 모델 쓰자”

 

하지만 실제 문제는 대부분:

  • 정보가 없음 → RAG 문제
  • 형식이 깨짐 → SFT 문제

모델 문제가 아니라 설계 문제

 

10. 결론: LLM은 모델이 아니라 시스템이다

LLM을 제대로 쓰기 위해서는 관점이 바뀌어야 한다.

  • 모델을 잘 고르는 것보다
  • 문제를 어떻게 분해하고 설계하는지가 더 중요하다

정리하면:

  • LLM은 “정답 엔진”이 아니라
  • “확률 기반 생성기”

그래서 우리는:

  • RAG로 “지식”을 보완하고
  • SFT로 “출력”을 통제해야 한다

 

마무리

이번 교육을 통해 느낀 가장 중요한 포인트는 이것이다:

“LLM을 잘 쓰는 것은 모델을 이해하는 것이 아니라,
문제를 구조적으로 설계하는 것이다.”

 

 

+ Recent posts