[유튜브 강의 정리] 안드레 카파시 - 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

Conversations

대형 언어 모델(LLM)은 인터넷 문서 기반으로 사전 훈련(Pre-Training) 되어 있지만, 이 상태에서는 단순한 텍스트 예측기일 뿐, 자연스러운 대화형 AI 어시스턴트로 동작하지 못함.

이를 해결하기 위해 Post-Training(후속 훈련) 과정에서 새로운 대화 데이터셋(Conversations Dataset)을 사용하여 모델을 미세 조정(Fine-Tuning)함.


1. Conversation Data (대화 데이터) 생성 과정

🔹 1.1. 대화 데이터의 구성

대화 데이터셋은 기본적으로 "사용자 질문 (User Query) → AI의 이상적인 응답 (Assistant Response)" 형태로 구성됨.

  • 예시:

    • 사용자: "2 + 2는 얼마야?"

    • 어시스턴트: "2 + 2는 4입니다."

    • 사용자: "그럼 '+' 대신 '*'이면?"

    • 어시스턴트: "2 × 2는 4입니다."


🔹 1.2. 데이터 생성 방식

대화 데이터는 주로 인간 라벨러(Human Labelers)에 의해 생성되며, 최근에는 AI가 일부 자동 생성하는 방식도 사용됨.

(1) 인간 라벨러(Human Labelers) 활용

  • 전문성을 가진 라벨러들이 직접 대화를 생성함.

    • 예: 프로그래밍 질문은 개발자가, 과학 질문은 과학자가 답변.

  • 대화 데이터 예시:

    • "내 경력에 대한 열정을 되찾는 5가지 방법은?"

    • "다음 문장을 스페인어로 번역해줘."

    • "파리에 가면 꼭 봐야 할 5대 랜드마크는?"

(2) AI + 인간 검수 (Synthetic Data + Human Review) 활용

  • 최근에는 AI가 먼저 응답을 생성하고, 라벨러가 이를 검토 & 수정하는 방식이 일반적.

  • 대부분의 최신 대화 데이터셋은 AI가 생성한 "합성 데이터(Synthetic Data)" 로 구축됨.

  • 예: OpenAssistant 프로젝트 등은 크라우드소싱 방식으로 사용자들이 직접 질문과 답변을 생성하고 검수.


2. 모델 학습 과정 (Fine-Tuning on Conversations)

  • 대화는 모델이 이해할 수 있도록 토큰 시퀀스(Token Sequences) 로 변환됨.

  • 예를 들어:

<|im_start|>user<|im_sep|> 파리에서 꼭 가야 할 5대 랜드마크는? <|im_end|><|im_start|> assistant <|im_sep|> 1. 에펠탑 2. 루브르 박물관 3. 노트르담 대성당 4. 샹젤리제 거리 5. 몽마르뜨 <|im_end|>

  • 모델은 이를 기반으로 패턴을 학습하고, 다음 번 대화에서 유사한 방식으로 응답할 수 있도록 함.


3. ChatGPT의 응답 원리

  • 사용자가 질문하면, 모델은 "라벨러가 이 질문에 어떻게 답했을까?" 를 통계적으로 예측하여 답변을 생성함.

  • 즉, AI가 스스로 사고하는 것이 아니라 라벨러의 응답을 시뮬레이션하는 것.

  • 훈련 데이터에 유사한 질문이 있다면 거의 동일한 응답을 생성할 확률이 높음.

  • 훈련 데이터에 없는 질문이라도, 기존 지식을 바탕으로 "비슷한 느낌의 답변" 을 만들어냄.