1. LLM & GPUPermalink


ContentsPermalink

  1. LLM의 개념과 배경
    1. NLP Tasks
    2. LLM이란
    3. LLM의 두 부류
    4. LLM의 현업에서의 현실
    5. 현업에서 LLM을 활용하기 위해
    6. LLM의 향후 기술 전망
  2. LLM의 역사와 발전 배경
    1. 아키텍처 흐름
    2. Transformer의 활용
    3. LLM의 등장 흐름 1
    4. LLM의 등장 흐름 2
    5. LLM의 등장 흐름 3
  3. LLM의 Components
    1. LLM 작동 방식 및 원리
    2. Tokenizer
    3. Decoding Strategy
  4. GPU 자원 & LLM
    1. LLM의 GPU 의존성
    2. ROPE
    3. Llama 2 vs. Llama 3.1


1. LLM의 개념과 배경Permalink

(1) NLP TasksPermalink

  • 텍스트 분류 (Text Classification)
  • 개체명 인식 (Named Entity Recognition)
  • 감정 분석 (Sentiment Analysis)
  • 텍스트 요약 (Text Summarization)
  • 기계 번역 (Machine Translation)
  • 질문 응답 (Question Answering)
  • 대화형 인터페이스 (Conversational Interfaces)
  • 문서 유사성 측정 (Document Similarity)
  • 자연어 생성 (Natural Language Generation)


(2) LLM이란Permalink

  • 거대한 모델 + 방대한 데이터로 사전학습된 모델
  • 크게 BERT/GPT 계열로 나뉨
  • 다양한 NLP task들을 푸는데에 사용됨


(3) LLM의 두 부류Permalink

a) Autoregressive LMPermalink

  • Decoder-only model
  • GPT 계열
  • 강점: Text 생성
  • 강한 Task: 텍스트 요약, 기계 번역, 대화형 인터페이스


b) Autoencoding LMPermalink

  • Encoder-only model
  • BERT 계열
  • 강점: Text 이해
  • 강한 Task: 텍스트 분류, 개체명 인식, 감정 분석 등


(4) LLM의 현업에서의 현실Permalink

  1. Privacy 문제: 내부 데이터 반출 & 활용에 대한 민감성
  2. Domain 문제: general하게는 좋으나, 특정 도메인 하에서는 X수도
  3. 활용 용도: 특정 용도에 맞게 변형해서 활용해야


(5) 현업에서 LLM을 활용하기 위해서? (for 서비스 개발)Permalink

a) RAGPermalink

  • LLM + RAG (정보 검색)

    문서 검색, 쿼리 증강, 텍스트 생성을 함께 활용하기

  • e.g., LangChain, AutoRag


b) Domain-specific LLMPermalink

  • 특정 도메인에 맞게 Prompt-/Fine- tuning


(6) LLM 향후 기술 전망Permalink

  1. Multimodal (feat. MLLM)
  2. On Device (feat. sLLM)
  3. 통합 모델
  4. 다양한 Foundation model


2. LLM의 역사와 발전 배경Permalink

figure2

(1) 아키텍처 흐름Permalink

  1. RNN / LSTM / GRU
  2. Attention-LSTM
  3. Transformer


(2) Transformer의 활용Permalink

  • 다량의 데이터를 기반으로 pretrain
  • Scalability: model size ↑→ 성능
  • (Vision) CNN의 inductive bias 극복
  • 병렬화를 통한 효율적 연산


(3) LLM의 등장 흐름 1Permalink

  1. Transformer
  • by Google / 번역 Task / LLM의 Base
  1. GPT1
  • by OpenAI / Transformer decoder-only / 언어 생성 / Pretrain & Finetune
  1. BERT
  • by Google / Transformer encoder-only / 언어 이해 / Pretrain & Finetune
  1. GPT2
  • by OpenAI / GPT1 + (커진 파라미터,데이터) / 긴 context length / zero-shot (ICL)


(4) LLM의 등장 흐름 2Permalink

  1. XLNet
  • by Google + CMU / AR+AE 결합 / AR 학습 방식 (모든 가능한 permutation 학습)
  1. RoBERTa
  • by Facebook / Robustness + BERT / BERT + 훈련 개선 (긴 학습시간, 배치 크기) / NSP 제거
  1. MASS
  • by Microsoft / AR + AE 결합 / 마스킹된 / (E) 마스킹 제외 임베딩 & (D) 마스킹 부분 예측
  1. BART
  • by Facebook / AR + AE 결합 / 입력 텍스트 일부 corrupt & 원래대로 복원


figure2

  • BART의 corruption


(5) LLM의 등장 흐름 3Permalink

  1. MT-DNN
  • by Microsoft / BERT 기반 / 다양한 task
  1. T5
  • by Google / AR + AE / 모든 NLP작업을 Text-to-Text로 치환
  1. GPT3
  • by Open AI / GPT2 확장 (175B) / Zero-shoft


3. LLM의 ComponentsPermalink

(1) LLM 작동 방식 및 원리Permalink

figure2


(2) TokenizerPermalink

  • Token: 텍스트 분할의 최소 단위

  • 가장 자주 사용되는 tokenizer: BPE (Byte Pair Encoding) tokenizer

  • 빈번하게 등장 묶어서 subword 생성

  • 장점: 희귀 단어 & 새로운 단어 처리 가능!

    (어휘 집합 크기 증가 줄이면서도, 높은 커버리지)

BPE (Byte Pair Encoding) tokenizerPermalink

  • Step 1) 초기화
  • Step 2) 빈도 계산
  • Step 3) 쌍 변환
  • Step 4) 반복


(3) Decoding StrategyPermalink

  • Greedy Search: 각 단계에서 가장 높은 확률의 단어를 선택하는 직관적 방식.
  • Beam Search: 여러 후보 시퀀스를 유지하며, 최적의 문장을 선택.
  • Sampling: 확률 분포를 기반으로 단어를 무작위로 선택.
  • Top-k Sampling: 상위 k개의 단어만을 고려해 샘플링.
  • Top-p (Nucleus) Sampling: 누적 확률 p에 해당하는 단어 집합에서 샘플링.


4. GPU 자원 & LLMPermalink

(1) LLM의 GPU 의존성Permalink

  1. Transformer의 scalability
  • # params GPU 사용량 필요성


  1. 병렬성
  • 학습 / 추론 시간 단축 위해 필요


  1. 사전학습 ( + Context length )
  • 대규모의 사전 학습 및 긴 입력 길이 위해 필요
  • e.g., KV cache
  • e.g., ROPE: 더 긴 context length를 handle하기 위해


  1. Fine-tuning
  • 원하는 도메인에 맞게 fine-tuning하기 위해 필요


(2) 기타: ROPEPermalink

  1. 위치 벡터에 회전 변환 적용 상대적 위치 정보를 제공.

  2. 상대적 위치 이해 단어 간의 상대적 위치를 잘 이해.
  3. Attention 메커니즘 성능 향상
  4. 문맥 이해 향상: 상대적 위치 정보를 제공하므로


(3) 기타: Llama 2 vs. Llama 3.1Permalink

  Llama2 LLama3.1
# params 7B, 13B, 70B 8B, 70B, 405B
Context Length 4,096 131,072
(실제 학습은 128K)
Vocab Size 32,000 128,256
(Pretrain) # Tokens 2T 15T +


ReferencePermalink

https://fastcampus.co.kr/data_online_gpu