DM Log

[AI 개념 및 이해 #1] LLM(Language Model) 이해: GPT의 동작 본문

개발공부/AI

[AI 개념 및 이해 #1] LLM(Language Model) 이해: GPT의 동작

Dev. Dong 2025. 9. 6. 22:48

LLM의 중요성

 

  • LLM은 자연어를 이해하고 생각하는 법용 엔진
  • 검색, 요약, 번역, 코딩 보조, 지식질의 등 텍스트가 있는 곳이면 적용 가능
  • "어떻게 동작하는지"를 모르면, 환각 / 최신성 / 프롬프트 민감성 같은 한계를 제대로 다룰수 없음

언어 모델의 개념

  • LLM은 다음에 올 단어를 예측 하는 것
  • 확률적 정의
    • 문장 w1, w2, …, wT의 확률을 최대화
    • 즉, 매 순간 이전까지의 문맥을 보고 다음 토큰의 분포를 출력

  • 학습은 대규모 텍스트 말뭉치에서 정답(실제 다음 토큰)과 모델 예측 분포의 차이를 줄이는 방향으로 진행 (교차 엔트로피 손실)

[확률 기반 언어 모델의 등장 (n-gram 등)]

1) n-gram 모델

  • 개념: 바로 앞의 n-1개만 보고 다음 단어 예측 (마코프 가정)
  • 장점: 단순하고 빠름
  • 한계:
    • 장기 의존성 취약
    • 희소성 문제(드문 조합은 확률 추정이 어려움)
    • 표기 변형/문맥 다양성에 취약

2) Class-based n-gram

  • 단어 자체가 아니라 단어의 클래스 (품사, 의미군) 단위로 예측
  • 희소성 완화 효과

3) Cache-based Language 모델

  • 최근 등장한 단어가 다시 등장할 가능성이 높다는 가정
  • 최근 단어를 캐시에 넣어 확률 보정

4) Maximum Entropy (MaxEnt) 모델

  • 다양한 특성을 활용하는 모델
  • n-gram보다 더 일반화된 모델링 가능

[딥러닝 기반 LLM의 변화]

  • RNN / LSTM / GRU: 순차적으로 문맥을 흘려보내 장기 의존성 일부 개선 / 병렬화 문제 및 긴 시쿼스에서 기울기 소실 / 폭발 문제
  • Transformer: 어텐션으로 모든 위치를 서로 직접 참조 (병렬 처리). 대규모 데이터 / 모델 학습이 가능

GPT 핵심 아이디어

[Transformer 구조 소개]

  • Self-Attention: 토큰이 다른 모든 토큰을 얼마나 참고할지 가중치(어텐션)을 학습
    • 문장 안의 단어가 얼마나 관련 있는지 계산하는 메커니즘
    • 예: 나는 사과를 먹었다에서 사과는 먹었다와 강하게 연결(큰 가중치) 나는과는 약하게 연결
  • 멀티-헤드: 서로 다른 관점(문법/의미/참조 등)으로 문맥을 병렬 파악
    • Attention을 여러 세트로 병렬 학습하여, 다른 관계를 확인
    • 예: 한 헤드는 문법적 관계(주어-동사)를 다른 헤드는 의미적 연결(사과-먹다)를 본다고 생각
  • 포지셔널 인코딩: 단어 순서 정보를 벡터에 주입
    • Self-Attention만 사용시 단어 순서를 확인 불가능
    • 단어 벡터에 위치 정보(사인, 코사인 패턴)을 더해 순서 확인
  • 디코더 전용: GPT 계열은 미래 토큰을 가리지 않고 보면 안되므로 마스킹된 self-attention만 사용
    • 텍스트 생성 시, GPT는 왼쪽에서 오른쪽 단어만 예측
    • 나는 오늘까지 보고 다음 단어 예측 필요 미래 단어를 가리는 마스크를 사용

[다음 단어 예측 원리]

  1. 입력 문장(토큰열)을 벡터로 변환(임베딩)
  2. 마스킹된 self-attention으로 토큰이 과거 토큰들만 참조하도록 설정
  3. 마지막 레이어에서 어휘 전체에 대한 확률분포 출력
  4. 가장 높은 토큰 선택, 샘플링 / 탑-k / 탑-p 등으로 다양성을 주어 토큰 생성
  5. 새 토큰을 입력 뒤에 붙이기 반복하여 문장 생성

LLM의 한계

  • 맥락 길이 제한
    • 한 번에 볼 수 있는 토큰 수(컨텍스트 윈도우)가 제한
    • 긴 문서 / 다수 문서 처리 시 요약 / 슬라이딩 윈도우 / RAG가 필요
  • 환각(Hallucination) 문제
    • 사실이 아닌 내용을 말할 수 잇음
    • 출처 근거 제시, 검색 보강(RAG), 도메인 제약, 체크리스트 프롬프트 진행
  • 최신 정보 부족
    • 사전 학습 데이터 시점 한계로 인해 최근 이슈나 데이터 반영 어려움
    • 외부 검색 / 도구 호출, 사내 DB 연결, 파인 튜닝 / 업데이트 진행

LLM 활용 예시

  • 대화형 에이전트: 고객지원, 내부 지식 질의 응답
  • 코딩보조: 자동완성, 리팩토링, 테스트 코드 생성
  • 문서 작업: 요약, 초안 작성, 번역, 톤 조정
  • 검색 보조: 쿼리 확장, 결과 요약, 다문서 통합 정리
  • 업무 자동화: 외부 툴 / 데이터베이스 / 클라우드 API와 결합하여 에이전트 워크플로

(부록) 용어 정리

  • 토큰(Token): 모델이 처리하는 최소 단위(단어/서브워드/문자).
  • 임베딩(Embedding): 토큰/문장을 고정 길이 벡터로 표현한 것.
  • 어텐션(Attention): 토큰 간 참조 강도를 학습하여 중요한 문맥에 더 집중.
  • 마스킹된 어텐션(Causal Masking): 미래 토큰을 보지 못하게 가리는 기법.
  • 컨텍스트 윈도우(Context Window): 한 번에 넣을 수 있는 최대 토큰 길이.
  • 환각(Hallucination): 실제 근거 없이 생성된 사실오류 텍스트.
  • 샘플링/탑-k/탑-p: 다음 토큰 선택 시 다양성/안정성을 조절하는 방법.