본문 바로가기
컴퓨터공학 + HCI/AI

LLM 기초 이론

by Tay Kim 김태희 2026. 1. 2.

LM(Language Model)의 종류

  1. SLM(Statistical Language Model): 말뭉치 데이터에서 통계적으로 많이 등장하는 단어 횟수를 바탕으로 확률 계산
    • 네이버에서 검색 시 '안녕' 뒤에 추천 검색어로 '안녕하세요'로 자동완성 문구가 생성되는 것
    • 통계적 추천 기능
    • Sparsity(희소성) 문제 - 희소한 문장은 통계적으로 생성이 불가한 구조
  2. NLM(Neural Language Model): 
    • Apple이 뭐냐고 물어보면 맥락에 따라 사과인지 회사인지를 구분할 수 있는데, 앞 뒤 데이터를 보고 현재 상태의 데이터의 의미가 달라지는 (Sequence 데이터) 이런 경우에 취약
    • RNN(Recurrent neural network) : 자연어의 흐름(문맥) 파악에 적합
      • RNN은 NLM의 특정 유형을 구현하는 데 사용되는 아키텍처 중 하나
      • 출처: https://ko.wikipedia.org/wiki/%EC%88%9C%ED%99%98_%EC%8B%A0%EA%B2%BD%EB%A7%9D
      • 뒤로 갈수록 앞에 있던 x0의 영향이 약해지면서 패턴 파악이 어려워지는 문제 (기울기 소실 Vanishing Gradient)
    • 그래서 LSTM, GRU 같은 개념이 등장
      • 장기기억을 두고, 중요한 개념으로 보이면 장기기억으로 보내고, 아닌 것 같으면 단기기억으로 보내면서 망각되게 함
      • Prime 기억으로 보낼지에 대한 판단이 포함된 LSTM
      • GRU는 국내에서 제안된 모델
    • RNN의 한계 (특히, LSTM의 한계)
      • 언어 번역 시 한계가 있었음
    • LSTM을 구조적으로 현명히 쓰고자 Seq2Seq(Sequence to Sequence) 아이디어 도입
      • 원문에 대한 [이해] 담당 Sequence / [통역] 담당 Sequence로 구분됨을 의미하는 구조
      • Transformer에 대한 핵심 아키텍처
      • 출처: https://www.davidsbatista.net/blog/2020/01/25/Attention-seq2seq/
      • 두 개의 RNN 구조: Encoder + Decoder
        • 인코더: 입력 시퀀스로 문장을 이해
        • 컨텍스트 벡터: 전체 문장을 축약한 고정 크기 벡터, 디코더가 문장 생성 시 참고
        • 디코더: 입력 문장에 대응되는 문장 생성
      • 그냥 매 순간마다 가장 그럴듯한 단어 하나를 예측하는 것을 반복하는 구조.
      • 다만 한계로, 번역 직전에 마지막으로 들어온 단어의 영향이 가장 크다는 것이 문제(의존성 문제). 해결 방안은 컨텍스트 벡터의 크기를 매우 늘리는 것(모든 정보를 담기 위해)
    • Attention Mechanism
      • Seq2Seq 모델의 한계: 컨텍스트 벡터의 고정된 크기, 마지막 단어에 지나치게 높은 의존성, Vanishing Gradient-긴 입력 시퀀스에서 정보 손실 발생 가능성
      • 그리고 RNN 기반 모델의 한계: 각 단어의 영향력을 정확히 반영할 수 없음
      • 기본 아이디어:
        • 입력 시퀀스의 각 부분의 중요성이 다름
        • 디코더가 출력 생성 시 입력 시퀀스의 특정 부분에 주목함 (가중치)
      • 임베딩해서 벡터 뽑아서 행렬 계산
        • 각 입력 단어에 대한 hidden state(key)가 생성됨
        • 디코더는 문장을 구성하는 단어(Query) 생성 시, 입력된 여러 단어 Hidden state의 기여도(Value)를 참고함
        • Attention score: 인코더의 모든 Hidden State에 대해, 디코더의 Hidden State와 얼마나 유사한지 측정한 점수 값 (주로 행렬 내적으로 계산)
        • Attention Distribution: 앞의 Attention Score를 확률의 분포로 변환하면서 모든 인코더의 Hidden State의 기여도가 확률값으로 반환됨(각 기여도는 Attention Weight라고 함)
      • Attention의 장점: 긴 입력 시퀀스에서도 정보 손실 최소화, 디코딩 시 입력의 특정 부분에 집중 가능. 시각화 가능
    • Transformer: "Attention is All You Need" 논문의 핵심 인공지능 모델
      • RNN 없이 Attention만 사용
      • LSTM이 없기 때문에 
      • sin/cos는 보통 주기 관련 개념에 사용됨 - 아주 작은, 차이가 거의 없는 값을 넣고 싶어서 순서 정보를 계산하기 위해 Positional Encoding을 함
      • 출처: Attention is all you need 논문
      • Self-Attention: 시퀀스 내 모든 토큰 간의 관계를 파악해 (attention 점수 계산) 새로운 표현 생성
        • 출처: Attention is all you need 논문
        • attention score 계산을 하고자 함  
          • W*Q: I love you #가중치가 곱해졌는데, 가중치도 여러개로 곱해보면서 문장에 대해 다방면으로 분석해서 봄
          • W* K: I love you
          • I에 대한 점수: 10점, love: 70, you: 20
          • V: I love you(사실 벡터값임)
          • W* Q*K = [0.1 0.7 0.2]
          • Q*K*V => V에 가중치가 적용된 결과를 얻게 됨 
            • [0.1*I 0.7*Love 0.2*You]
          • 번역을 할 때 어디를 주의 집중해서 번역했는지를 계속 가중치를 바꿔가면서 학습하게 됨
      • Multi-Head Attention
        • 여러 개의 Attention 매커니즘 동시 사용
        • 인코더: Self attention 연산으로 입력 문장의 정보를 학습
        • 디코더: Masked Multi-Head Attention(디코더에만 있는 구조)
          • 디코더는 LM(Language Model)의 역할을 수행해야 하기 때문에 앞 단어를 바탕으로 뒷 단어를 예측할 수 있어야 함
          • 그래서, 문장을 입력받으면 self attention 계산 시에 문장의 뒷부분을 의도적으로 가려서
          • 생성할 때는 강제로 답을 말할때마다 교정을 하면서 교사 강요 모델 방식으로 학습을 함
      • Transformer의 성과로 vision, audio, rl 등 다양한 분야 전반에서 성능이 입증됨
  3. PLM(Pre-trained Language Model)
    • 비지도학습을 통해 사전학습한 언어 모델 - 사실 LLM이 등장하면서 PLM이라는 용어로 불리게 된거라, 인위적인 용어임
    • 각 도메인에서 적은 학습량으로 사전학습하는 과정에서 파인튜닝해서 모델을 만들 수 있음 (제조업 등)
    • 모델 0에서 시작하는게 아니라 이미 완성된 모델에서 조금 변형하는 형식
      • 번역기 모델을 파인튜닝해서 생성형 모델로 만들거나
      • 감정 분류 모델을 파인튜닝해서 문장 분류 태스크로 만들거나 할 수 있음
    • 문장에 빈칸을 만들어서(마스킹) 그 자리에 어울리는 것을 맞추는 문제를 계속 맞추는 구조
      • 정답을 매핑하는 레이블링 자동화 가능해서 편리
      • 자연어 이해도가 높은 범용적 모델을 만들 수 있었음
    • PLM 중 하나가 Bert 
  4. LLM(Large Language Model)
    • PLM 중 크기가 큰 LM
    • 주로 Transformer의 Decoder 기반 모델 활용
    • PLM -> LLM으로 발전 (생성형 서비스의 발전 과정)
      • GPT-2까지는 오픈소스였음
      • GPT-3부터 사람과 같이 말하기 시작함. 하지만 성별,인종,종교 등에 대한 편향 문제가 대두
      • GPT-3.5에 대해서 오픈AI가 공식적인 자료를 발표하지 않았는데, 아마 RLHF와 Instruction tuning이 추가되었을 것으로 추측됨. 사람들이 선호하는 답변을 선택받아서 그 피드백을 바탕으로 미세하게 조정하며 답변 스타일을 조정. 
      • 이어서
      • Deep Research, GPT-5 ~ 

 


Prompt Engineering

  • RAG 기법을 활용해 prompt engineering을 하는 것이 일반적임
  • 일반 대중을 상대로 한 prompt engineering은 문장을 잘 쓰는 법을 의미
  • 지금은 개발자 관점에서의 prompt engineering
    • 페르소나를 줌. 일반적인 질답이 아니라 인격을 제시. - 너는 테슬라 전용 GPT이다.
    • 모델 재학습, 구조적으로 복잡하게 하는 일 등을 할 필요 없어서 간편함
    • 타사를 언급하지 말 것 - 같은 지시어로, 자사화 프로젝트에서 활용
    • 하지만 점점 차별성이 부족해 더 자사화되고 더 복잡한 문제를 해결할 수 있는 방법을 찾게 됨
  • 그래서, => DB에 LLM을 붙여서 답변을 할 수 있도록 하는 RAG 기법이 각광받게 됨

참고) 워드 임베딩

  • I love you를 표현해보자
    • 0 1 2로 표현
    • [0,0,1] [0,1,0] [0,0,1]로 표현 - 한 언어에는 수만개의 단어가 있는데, 이를 고려하면 배열의 크기가 너무 커져서 수만개의 요소가 들어가는 배열이 될 수 있음. 메모리 용량 부하 발생 가능
    • king - man + woman -> Queen : 이처럼 벡터값으로 표현하니, 의미가 계산이 되는 결과를 얻음
    • 이처럼 언어를 처리하는 것과 + 여기에 추가로 모델을 만드는 식으로 / 언어모델을 다뤘었는데 transformer 모델이 제안되면서 두 작업을 한 번에 하는 것이 더 효과적일 수 있다는 시사점이 있음. 그래서 transformer 모델은 다방면으로 함의하는 바가 많음 

 


머신러닝 기초 개념

Artificial Intelligence(인공지능 / 1910년도: 산업혁명) > Machine Learning > Deep Learning 순으로 발달
- 결국 AI를 만들기 위한 구체적인 접근 방식이 변화해온 것

 

딥러닝 기초 개념

신경 시스템(Neural Network)을 모방한 인공 신경망
인공 신경망: 입력층 - 은닉층 - 출력층 (각 층 사이의 연결 선은 가중치(Weight)라고 함)
   - 가중치: 모델이 이해할 수 있는 값으로 정해줘야 함 (학습을 하면서 각 최적의 값을 찾아가는 것)

출처: https://wikidocs.net/234725

딥러닝 모델의 학습 방법

  • 딥러닝 모델의 Weight 값을 조정할 수 있도록 Loss Function 또는 Optimization을 함
    • Loss Function을 최소화 하기 위해 최적화 알고리즘을 적용
    • 예측 값과 실제 값 간의 오차를 줄이기 위해 오차 값을 최소화하는 인자를 찾는 알고리즘을 적용