[유튜브 강의 정리] 안드레 카파시 - Deep Dive into LLMs like ChatGPT

Introduction

Pre-Training

Step 1: Download and preprocess the internet

Step 2: Tokenization

Step 3: Neural network training

Step 4: Inference

Base model

Post-Training: Supervised Finetuning

Conversations

Hallucinations

Knowledge of Self

Models need tokens to think

Things the model cannot do well

Post-Training: Reinforcement Learning

Reinforcement learning

DeepSeek-R1

AlphaGo

Reinforcement learning from human feedback (RLHF)

Preview of things to come

Keeping track of LLMs

Where to find LLMs

Step 2: Tokenization

1. 토큰화(Tokenization)란?

대형 언어 모델(LLM)이 텍스트를 처리하기 위해 문장을 작은 단위(토큰)로 변환하는 과정.


2. 토큰화의 필요성

  1. 모델이 이해할 수 있도록 텍스트를 숫자로 변환

  2. 자주 등장하는 단어 조합을 하나의 토큰으로 만들어 시퀀스 길이를 줄임


3. 토큰화 과정

① UTF-8 인코딩: 모든 문자를 바이트 단위로 변환

  • 하지만, 단순히 모든 문자를 바이트 단위로 변환하면 너무 긴 시퀀스가 생성됨.

  • ➡️ 따라서 더 효율적인 토큰화 방법이 필요함! (=BPE)

② Byte Pair Encoding (BPE): 빈번하게 등장하는 문자 쌍을 하나의 토큰으로 등록 → 시퀀스를 줄임


예시

  • Original: "internationalization"

  • UTF-8: ['i', 'n', 't', 'e', 'r', 'n', 'a', 't', 'i', 'o', 'n', 'a', 'l', 'i', 'z', 'a', 't', 'i', 'o', 'n']

  • BPE 적용 후: ['international', 'ization']

➡️ 같은 단어라도 더 적은 토큰 수로 변환 가능, 즉 시퀀스 길이가 최적화됨!


4. 실제 GPT 모델에서의 토큰화

  • GPT-4의 토큰 개수: 100,277개

  • 토큰 ID 변환 과정:

    • "Hello world"["Hello", " world"][15339, 1917]

중요한 특징

  • 공백(space)도 하나의 토큰으로 처리됨 (" world" vs. "world")

  • 대소문자 차이도 토큰화 결과에 영향을 미침 ("Hello" vs. "hello")

  • 의미 있는 부분을 최소한의 토큰으로 변환하여 시퀀스를 줄임

📌 Tiktoken을 활용한 실제 토큰화 예제 사이트: Tiktokenizer


5. 토큰화를 활용한 모델 입력

  • 모델이 입력을 받을 때, 텍스트를 토큰 ID 시퀀스로 변환함.

  • 예제:

    • "The quick brown fox"[324, 9821, 4321, 294] (토큰 ID로 변환)

  • 모델이 예측하는 것은 다음 토큰의 ID 값.