관리 메뉴

너와 나의 스토리

NLP 발전 과정과 LLM의 등장 / GPT 로직 및 Attention Mechanism 설명 본문

Data Analysis/LLM

NLP 발전 과정과 LLM의 등장 / GPT 로직 및 Attention Mechanism 설명

노는게제일좋아! 2024. 5. 20. 16:14
반응형

NLP(Natural Language Processing)

  • 컴퓨터가 인간의 언어를 이해하고 생성하며 분석할 수 있도록 하는 인공지능의 한 분야.
  • NLP는 넓은 분야를 의미하고, LLM은 그 중 하나의 접근 방식이다.

 

LLM(Large Language Mechanism)

  • 방대한 양의 데이터로 훈련된 모델로, 자연어 이해와 생성에 뛰어난 성능을 보인다.
  • 규칙 기반(Rule based) 접근 방식의 한계를 극복하고, 문맥 이해와 다양한 NLP 작업을 처리하는 능력을 갖추고 있다.
  • 작동 방식은 크게 3가지로 나뉜다.
    • 토큰화
    • 트랜스포머 모델
    • 프롬프트

 

토큰화

  • 자연어 처리의 일부로 일반 인간 언어를 저수준 기계 시스템이 이해할 수 있는 시퀀스로 변환하는 작업

 

트랜스포머 모델

  • 순차적 데이터를 검사하여 어떤 단어가 서로 뒤따를 가능성이 높은지 관련 패턴을 식별하는 신경망의 일종으로 각각 다른 분석을 수행하여 어떤 단어가 호환되는지 결정하는 계층으로 구성된다.

 

프롬프트

  • 개발자가 LLM에 제공하는 정보

 

 

 

언어 모델링 

  1. 자기회귀 언어 모델(Autoregressive Language Model)
    • 이전 토큰만을 기반으로 다음 토큰을 예측하도록 훈련된다.
    • 이러한 모델은 트랜스포머 모델의 디코더 부분에 해당하며, 어텐션 헤드가 앞서 온 토큰만 볼 수 있도록 전체 문장에 mask가 적용되어 있다.
    • 자기회귀 언어 모델은 텍스트 생성에 이상적이다.
    • 예: GPT
  2. 자동 인코딩 언어 모델(Autoencoding Language Model)
    • 손상된 버전의 입력 내용으로부터 기존 문장을 재구성하도록 훈련된다.
    • 이러한 모델은 트랜스포머 모델의 인코더 부분에 해당하며 mask 없이 전체 입력에 접근할 수 있다.
    • 주요 애플리케이션은 문장 분류 또는 토큰 분류이다.
    • 예: BERT
  3. 자기회귀 + 자동 인코딩 조합의 모델
    • 다양하고 유연한 텍스트를 생성하기 위해 인코더와 디코더를 함께 사용할 수 있다.
    • 더 다양하고 창의적인 텍스트를 생성할 수 있다.
    • 예: T5

 

NLP 발전 과정과 LLM의 등장

  1. 규칙 기반 접근 방식 (Rule-Based Approaches)
    • 초기 자연어 처리(NLP) 시스템은 명시적인 규칙을 사용하여 텍스트를 처리했다.
    • 이 방식은 복잡한 문맥을 처리하기 어렵고 확장성이 떨어졌다.
  2. 통계적 모델 (Statistical Models)
    • 텍스트 데이터에서 발생 빈도와 같은 통계적 정보를 기반으로 언어를 모델링.
    • 아직 부족.
    • 예: n-그램 모델, 히든 마르코프 모델(HMM), 최대 엔트로피 모델 등
  3. 머신러닝 모델 (Machine Learing Models)
    • 통계적 정보를 기반으로 언어를 모델링.
    • 특정 작업에 대해 높은 성능을 보이나, 아직 복잡한 언어 구조 처리하는 데 어려움.
  4. 단어 임베딩 (Word Embedding)
    • 단어 임베딩은 단어를 저차원 밀집 벡터로 표현하는 방법이다.
    • 머신러닝 모델의 성능을 더욱 향상시키기 위해, 단어를 더 잘 표현할 수 있는 임베딩 기법이 도입.
    • Word2Vec, GloVe와 같은 알고리즘을 사용하여 단어 간의 의미적 유사성을 반영하는 벡터를 학습한다.
    • 벡터 내에서 거리가 의미적 유사성을 반영함.
    • 단어 임베딩은 NLP 모델의 성능을 크게 향상시켰다.
    • 예: Word2Vec, GloVe, FastText 등.
  5. 딥러닝 모델 (Deep Learning Model)
    • 인공 신경망을 기반으로 하는 머신러닝의 한 분야로, 대규모 데이터와 강력한 컴퓨팅 자원을 사용하여 복잡한 패턴을 학습한다.
    • 딥러닝의 발전은 NLP의 성능을 크게 향상시켰고, LLM의 핵심 기술이 되었다.
    • 긴 시퀀스를 처리하는 데 어려움이 있으며, 병렬 처리가 어렵다.
    • 예: RNN, LSTM, GRU 등.
  6. Seq2Seq(Sequence to Sequence)
    • 인코더-디코더 구조를 사용하여 입력 시퀀스를 출력 시퀀스로 변환하는 모델
    • 주로 RNN을 사용하며, 번역, 요약, 질의응답 등에서 사용된다.
    • 이 모델은 인코더와 디코더로 구성된다.
      • 인코더는 입력 시퀀스(원시 텍스트)를 고정된 크기의 컨텍스트 벡터로 변환하고, 어텐션을 사용하여 텍스트의 맥락을 이해한다.
      • 디코더는 이 컨텍스트 벡터를 사용하여 다음에 올 최적의 토큰을 예측함으로써 출력 시퀀스(텍스트)를 생성한다.
    • 인코더-디코더 구조는 긴 시퀀스를 처리하는 데 여전히 한계가 있다.
  7. 트랜스포머 모델 (Transformer)
    • 시퀀스 데이터를 처리하는 혁신적인 모델로, RNN의 한계를 극복하기 위해 개발되었다.
    • 어텐션 메커니즘을 사용해 병렬 처리가 가능하고, 긴 시퀀스도 효율적으로 처리할 수 있다.
    • 문맥 이해 능력이 뛰어나고, 병렬 처리로 학습 속도가 빠르다.
    • 트랜스포머는 현재 대부분의 최신 NLP 모델의 기반이 된다.
    • Attention Mechanism
      • 트랜스포머의 핵심 기술로, 모델이 입력 시퀀스의 모든 위치를 참조하여 중요한 부분에 더 많은 가중치를 부여할 수 있게 한다.
      • 이는 모델이 문맥을 더 잘 이해하고, 긴 시퀀스에서도 중요한 정보를 유지하는 데 도움을 준다.
    • 예: BERT, GPT, T5 등
  8. 대규모 언어 모델 LLM(Large Language Models)
    • 방대한 양의 데이터를 학습하여 복잡한 패턴을 이해하고 생성할 수 있는 능력을 갖췄다.
    • 높은 정확도와 유연성을 가지고 있으며, 사전 학습과 미세 조정을 통해 다양한 작업에 적용할 수 있다.
    • 예: GPT, BERT, T5 등

 

 

Attention과 Context Vector의 차이점

  • Context Vector는 문장의 전체 정보를 하나의 벡터로 압축한다. 이는 모델이 문장의 모든 부분을 동일하게 중요하게 여길 때 효과적이다. 그러나 긴 문장이나 문서의 경우, 정보 손실이 발생할 수 있다.
  • Attention은 문장의 특정 부분에 가중치를 두어 처리한다. 이는 중요한 부분에 더 집중하게 하여 정보 손실을 줄이고, 더 정확한 예측을 가능하게 한다.

 

GPT(Generative Pre-trained Transformer)

  • 주로 언어 생성 작업에 사용되는 LLM
  • Transformer의 기본 아키텍처를 기반
    • 하지만, Transformer의 인코더-디코더 구조 중 디코더 부분만을 사용.
    • Self-Attention 메커니즘
  • Pre-training
    • 대용량의 데이터셋을 이용해서 미리 학습한(Pre-trained Transformer)를 이용.
    • 이 단계에서 언어의 구조와 패턴을 학습.
  • 순차적 언어 생성
    • 이 모델이 텍스트를 생성할 때는 주어진 순서를 따르고, 미래의 정보를 보지 않도록 설계되어 있다. 
    • 이는 Masked Multi-Head Self-Sttention 메커니즘을 사용하여, 모델이 현재 단어를 예측할 때 미래의 단어를 참조하지 않게 한다.
  • 비지도 학습
    • GPT는 라벨링된 데이터를 필요로 하지 않으며, 대규모 비라벨링 텍스트 데이터를 사용하여 학습한다.

 

 

Self-Attention

  • 입력 시퀀스의 각 단어가 다른 모든 단어와 얼마나 관련 있는지를 계산하고, 이를 바탕으로 각 단어의 표현을 업데이트한다. 

 

Self-Attention의 두 가지 유형

  • Multi-Head Self-Attention: Self-Attention 메커니즘을 여러 번 병렬로 실행하는 것. 각 헤드가 입력 시퀀스를 다른 관점에서 해석할 수 있게 한다.
  • Masked Multi-Head Self-Attention: 특정 단어보다 미래에 있는 단어를 참조하지 못하도록 한다.

 

왜 Masked Multi-Head Self-Attention을 사용하는가?

  • 순서 강제: 언어 모델링에서는 텍스트를 순차적으로 생성해야 한다. 현재 단어를 예측할 때 미래의 단어를 참조하면, 학습이 왜곡되고 잘못된 결과를 생성할 수 있다.
  • 정보 누출 방지: 미래의 정보를 참조하지 못하도록 함으로써, 모델이 현재 단어의 맥락을 올바르게 학습하도록 한다.
  • 정확한 확률 분포 학습: 텍스트 생성 시, 각 단어가 주어졌을 때 다음 단어의 확률 분포를 정확하게 모델링하기 위해 미래의 정보를 차단한다.

 

Multimodal LLM

  • 텍스트뿐만 아니라 이미지, 음성, 비디오 등 다양한 형태의 데이터를 처리하고 이해할 수 있는 LLM
  • 단일 모델이 여러 유형의 입력 데이터를 동시에 처리할 수 있는 능력을 갖추고 있다.
  • 텍스트와 이미지, 텍스트와 오디오 등 다양한 모달리티 간의 상호작용을 이해하고 활용한다.
  • 예: Gemini, GPT-4o

 

LLM 작동 원리

LLM Optimization

  • Pre-training
  • Transfer Learning
  • Fine-tuning
  • RAG(Retrieval Augmented Generation)
  • Prompt Engineering

 

Pre-training

  • 대규모 비지도 학습을 통해 일반적인 언어 이해와 생성 능력을 학습
    • 비지도 학습(Unsupervised Learning): 레이블이 없는 데이터에서 패턴을 찾고 구조를 학습하는 방법
  • 문맥, 구문, 의미적 연관성 등 언어의 다양한 패턴을 학습하여 일반적인 언어 처리 능력을 갖추게 됨

 

 

Fine-tuning

  • Pre-trained model을 특정 작업이나 도메인에 맞춰 미세 조정
    • 특정 작업(예: 감정 분석, 번역)에 맞춘 소규모의 레이블 된 데이터셋을 사용
    • 가중치 조정
  • fine-tuning을 통해 적은 데이터로도 높은 성능을 발휘할 수 있다.

 

Transfer Learning

  • 한 작업에서 얻은 지식을 활용하여 다른 관련 작업의 성능을 향상시키는 기술.
  • 텍스트 분류나 텍스트 생성과 같은 특정한 '실제' 작업을 위해 작업 특정 데이터로 모델의 파라미터를 업데이트함으로써 모델을 파인튜닝하는 것을 포함한다.
  • 이러면 훨씬 적은 양의 데이터로 파인튜닝할 수 있다.

 

RAG(Retrieval Augmented Generation)

  • 정보 검색과 언어 생성을 결합하는 기법
  • 모델이 질문이나 요청에 대해 관련 정보를 외부 데이터베이스나 문서에서 검색
  • 검색된 정보를 바탕으로 응답을 생성하는데, 이 과정에서 언어 모델의 생성 능력을 활용

 

Prompt Engineering

  • 언어 모델의 출력을 제어하고 최적화하기 위해 입력 프롬프트(명령어)를 설계하는 과정

 

추가 

 

RNN(Recurrent Neural Network)

 

One-Shot Vector Table

  • 초기 단어 표현 방법으로, 각 단어를 고유한 벡터로 표현한다.
  • 예를 들어, 단어를 정수로 인코딩하고 이를 One-Hot Encoding으로 표현한다. 
  • 단점: 고차원 벡터를 사용해야 하며, 단어 간의 유사성을 반영하지 못한다.

 

  •  

 

 

 

 

 

 

반응형
Comments