AI & LLM

LLM 기본 개념

@deveely 2025. 8. 24. 21:33
반응형

LLM 정의

  • 언어 모델링 (Language Modeling) 은 NLP의 하위 분야
  • 토큰을 기본 입력으로 한다.
    • 토큰이란 문장이나 텍스트에서 의미를 가지는 가장 작은 단위
  • 모델링 방법
    • 자동 인코딩 작업
      • 손상된 입력 내용으로부터 기존 문장을 재구성 하도록 하는 형태로 학습
      • 주로 문장 분류 또는 토큰 분류
    • 자기회귀 작업
      • 이전 토큰으로 다음 토큰을 예측 하도록 훈련
      • 텍스트 생성에 이상적이며 GPT가 자기회귀

LLM 주요 특징

  • 트랜스포머 아키텍쳐 기반
  • 인코더: 원시 텍스트를 → 핵심 구성 요소로 분리 → 벡터로 변환, 어텐션을 사용하여 맥락 이해
  • 디코더: 어텐션을 사용하여 다음에 올 최적의 토큰을 예측하여 텍스트를 생성
  • 인코더로 텍스트를 잘 이해하고, 디코더로 잘 생성해내는 구조
  • GPT 계열 LLM은 자기회귀 모델링으로 학습, 디코더만 있는 모델로 텍스트 생성에 최적화

LLM 작동 원리

  • 사전 훈련 (Pre-Traning)
    • 대량의 텍스트 데이터로 일반적인 언어, 단어 간의 관계를 배움
    • BERT(자동 인코딩 모델)의 경우 마스크된 언어 모델링 (MLM) 및 다음 문장 예측 (NSP)로 학#습
    • MLM은 하나의 문장에서 토큰의 상호작용 인식하도록 함
    • NSP는 문장들 사이에 토큰이 어떻게 상호작용하는지 이해하도록 함
    # MLM
    이스탄불은 방문하기에 훌륭한 [마스크] << 추측하도록 함
    
    # NSP
    A: 이스탄불은 방문하기에 훌륭한 도시입니다.
    B: 나는 거기 가봤습니다.
    
    문장 B는 문장의 A의 바로 다음에 왔습니까? Y or N
    
    • GPT 계열은 다른 데이터 셋에, 다른 방식으로 사전 훈련함
    • 이런 사전 훈련을 뭐로 하냐에 따라 어떤 LLM이 되냐가 갈리게된다.
  • 전이학습 (Transfer Learning)
    • 적이학습이란 한 작업에서 나온 결과물을 다른 작업의 성능 향상에 활용하는 방식
    • LLM 에서는 말뭉치 (텍스트를 목적에 맞는 포맷으로 데이터화 해둔것) 를 기반으로 사전 훈련 (말뭉치 전이학습) 되고, 이보다 작은 데이터셋을 통해 파인튜닝 할 수 있다.
  • 파인튜닝
    • 사전 훈련된 LLM을 특정 도메인에 특화 시키는 과정
    • 사전 훈련이 기본적이고 일반적인 개념을 가르치는 과정이라면, 파인튜닝은 해당 분야 전문 지식을 가르치는 것
    • 적절한 학습률, 에포크 설정이 필요
    • 용어 정리
      • 학습률 : 딥 러닝 모델에서 입력 데이터로 학습된 데이터 가중치를 얼마나 변경할 지
      • 에포크 : 딥 러닝에서 전체 데이터 셋이 해당 신경망을 통과한 횟수 (문제집 전체 몇 번 풀었냐)
  • 어텐션
    • 동일 입력 (문장, 단어)에 대해 동일하게 보지 않고 상황에 따라 가중치를 두어 중요도를 다르게 함
    • LLM이 중요한 것을 판가름할 수 있는데에 도움을 줌
  • 임베딩
    • 우리가 인지하는 텍스트를 기계가 읽을 수 있는 형태로 변환하는 것
    • 단어, 구절, 토큰을 수학적으로 표현한 데이터 구조
    • 임베딩도 여러 종류가 있으며 파인튜닝을 통해 업데이트 가능
  • 토큰화
    • 텍스트를 토큰으로 나누는 과정
    • 전통적인 NLP에서 불용어 (the, a, an) 제거 등은 하지 않는다
      • LLM은 사람이 사용하는 언어의 본질을 이해 시키는 게 목적이기 때문
    • 영어의 경우 대소문자 변환 과정도 포함될 수 있으며 모델 성능에 영향을 끼친다
      • 단순한 작업은 대소문자 상관이 없지만 프로그래밍 코드와 같은건 대소문자 구문이 필수
    • LLM이 사전에 없는 단어 (OOV - Out Of Vocaburary)를 발견하면 자신이 알고 있는 가장 작은 단어로 나눈다
      • 예시 사전: [”Sin”], 문장 “Sinan” 일 경우 [”Sin”, “##an”] 이라는 2 토큰으로 나뉨
      • ##은 부분 단어임을 의미 (LLM이 구분할 수 있도록)

현재 많이 사용되는 LLM

  • BERT
    • 어텐션 메커니즘 활용하는 자동 인코딩 모델 (공백 추측)
    • 인코더만 있고 디코더는 사용하지 않아 입력 속도가 매우 빠름
      • 이해를 잘하고 생성은 좀 못한다
    • 텍스트 생성 보단 분류 등 특정 NLP 작업을 위한 사전 훈련 모델로 이용
  • GPT-4, ChatGPT
    • 어텐션 메커니즘 활용하는 자기회귀 모델 (이전 토큰 기반 다음 토큰 예측)
    • 인코더를 사용하지 않고 디코더를 통해 생성하기 때문에 텍스트 생성에 뛰어남
      • 이해는 잘 못하지만 생성은 잘한다
    • GPT 기반 모델은 큰 문맥을 주었을 때 텍스트를 잘 생성해냄
  • T5
    • 자동 인코딩 모델 및 자기회귀 모델 방식을 적절히 섞은 것
      • 이해도 생성도 잘한다
    • 파인튜닝 없이 준수한 성능 자랑
반응형