LLM

LLM 입력 정리 및 Transformer 모델(Encoder-Decoder 구조)

sunning 2024. 8. 25. 13:20
728x90
반응형

LLM 입력 정리

1. Role (역할)

  • 대화형 AI에서 "role"은 일반적으로 대화의 참여자 역할을 지정
  • OpenAI의 ChatGPT와 같은 모델에서는 보통 두 가지 기본 역할이 있음
    • user: 모델과 상호작용하는 사용자  # 사용자가 질문을 하거나 요청하는 역할
    • assistant: AI 모델 자신  # 사용자의 요청에 응답하고 질문에 답변하는 역할

2. Context (문맥)

  • "context"는 이전 대화 내용을 포함하여 모델이 응답을 생성하는 데 필요한 정보를 제공
  • 대화형 AI에서 context는 사용자와 모델 간의 상호작용 기록으로 구성됨
  • 이 기록을 통해 모델은 대화의 흐름을 유지하고, 사용자에게 보다 연관성 있는 답변을 제공할 수 있음
  • 예를 들어, 여러 개의 대화 턴이 있다면, 각 턴이 context로서 다음 응답 생성에 영향을 미침
[ {"role": "user", "content": "What is the weather like today?"},
{"role": "assistant", "content": "I am not sure, but you can check a weather website for the latest information."} ]

 

 

인코더(Encoder)-디코더(Decoder) 구조

Encoder-Decoder 구조의 활용

  • 인코더와 디코더 2개의 구성요소로 이루어진 아키텍처
  • 입력 데이터를 특정 형식으로 변환하고, 이를 바탕으로 원하는 출력 데이터를 생성하는 방식으로 작동
  • 인코더-디코더 구조는 특정 유형의 모델, 특히 순차적 데이터를 처리하고 변환하는 데 유용한 모델에서 주로 사용
  • 번역, 요약, 챗봇과 같은 자연어 처리(NLP) 작업에서 사용

Encoder-Decoder 구조의 구성요소

  • 입력 데이터를 인코더가 고정된 크기의 context 표현으로 변환하고, 디코더가 이 표현을 사용하여 원하는 출력을 생성하는 방식 (번역기/텍스트 요약/이미지 캡셔닝)
    • 인코더: 입력 데이터를 순차적으로 받아들이고 이를 고차원 벡터(숨겨진 표현, hidden representation)으로 변환 (이 표현은 입력 데이터의 중요한 정보를 압축 요약한 것)
    • 디코더: 인코더의 출력(고차원 벡터)을 받아 필요한 시퀀스 생성 후 최종적으로 사람이 이해할 수 있는 형태(예: 번역된 문장, 생성된 텍스트)로 변환
  • 단순한 단어 대 단어 번역이 아니라, 문장의 전체적인 의미를 고려하여 문맥에 맞는 출력을 생성하는 데 필요

Transformer Model

  • Encoder-Decoder 구조를 가진 모델의 한 예로, 자연어 처리 분야에서 매우 인기 있는 아키텍처
  • 트랜스포머는 병렬 처리를 통해 더 빠르고 효율적인 학습을 가능하게 함
    (전체 시퀀스를 동시에 처리할 수 있어 훈련 시간이 단축되고 대규모 데이터셋에 대해 효율적으로 학습 가능)
  • BERT, GPT 시리즈, T5와 같은 많은 최신 모델들이 트랜스포머 구조를 기반으로 하고 있음
    • BERT (Bidirectional Encoder Representations from Transformers)
      • Google에서 개발한 NLP(Natural Language Processing) 특화 모델
      • Transformer 아키텍처의 인코더(Encoder) 부분만을 사용한 모델
      • 문장의 양방향성을 학습할 수 있음 (문장의 전후 맥락을 이해하는 데 강점을 가짐)
      • 사용 목적: 문장 분류, 문장 내 단어 예측, 문서 분류, 질문 답변, 텍스트 분류, NER(이름 인식) 등 NLP에 강점
    • GPT (Generative Pre-trained Transformer)
      • OpenAI에서 개발한 모델
      • Transformer 아키텍처의 디코더(Decoder) 부분만을 사용한 모델
      • 주로 왼쪽에서 오른쪽으로 이어지는 방식(단방향성)으로 학습 (전의 텍스트를 기반으로 다음 단어를 예측)
      • 사용 목적: 텍스트 생성, 대화형 AI, 창의적 글쓰기, 번역, 코딩 도움 등 텍스트 생성 및 창의적인 작업에 강점
      • GPT 모델은 주로 "Zero-shot", "One-shot", "Few-shot" 학습을 통해 다양한 작업을 수행할 수 있음
    • T5 (Text-to-Text Transfer Transformer)
      • Transformer 기반의 인코더-디코더 구조를 사용하여 다양한 NLP 작업을 텍스트-투-텍스트 형식으로 처리

Transformer Model 외의 AI 모델 구조

  • 순환 신경망(RNN, LSTM, GRU)
    • 인코더-디코더 구조가 트랜스포머 모델 이전에 주로 사용되었던 방식
    • 시퀀스 데이터를 처리하는 데 사용되며, 번역, 음성 인식 등에서 인코더-디코더 구조로 사용됨
  • Convolutional Neural Networks (CNNs) # 객체 인식, 이미지 분류 등에 사용
    • 주로 이미지와 같은 2D 데이터를 처리하는 데 사용
    • 인코더-디코더 구조 없이 사용됨
  • Autoencoders # 데이터의 중요한 특징을 추출하거나 차원 축소에 사용
    • 인코더-디코더 구조와 유사하지만, 인코더가 입력 데이터를 압축하고 디코더가 이를 복원함
  • GANs (Generative Adversarial Networks) # 이미지 생성, 스타일 변환에 사용
    • 인코더-디코더 구조와는 다른, 생성자(Generator)와 판별자(Discriminator) 두 네트워크가 경쟁하는 구조

Transformers Library & Model Hub

  • Transformers Library : 공유된 모델을 만들고 사용할 수 있는 다양한 기능들 제공(Hungging Face에서)
    • pipeline 함수) 모델에 필요한 전철/후처리 단계와 연결하여 텍스트를 직접 입력하고 이해하기 쉬운 답변을 만듬
  • Model Hub : 다운로드하여 사용할 수 있는 수천 개의 사전 학습된 모델들 포함/본인이 만든 모델도 업로드 가능
728x90
반응형

'LLM' 카테고리의 다른 글

LLM과 생성형 AI, RAG, LangChain 등등  (2) 2024.08.31
LLM 모델 Postprocessing 및 fine-tuning  (0) 2024.08.25
LLM 모델 평가 방법  (0) 2024.08.25
LLM/sLLM/sLM 정의 및 특징  (0) 2024.08.25
OpenAI Playground / MS Azure  (1) 2024.08.24