트랜스포머·PEFT 2일 과정과정 로드맵← 이전목차다음 →MetaContents

과정 안내

과정 로드맵

9개 장을 이틀로 나눴습니다. 이 쪽에서는 하루마다 무엇을 배우고 무엇을 만드는지, 장끼리 어떻게 이어지는지를 한눈에 봅니다. 장의 자세한 내용은 목차에서 그 장을 눌러 봅니다.

과정 한눈에

외국어를 잘하는 수습 직원 한 명을 우리 가게 상담원으로 키우는 일을 떠올려 봅니다.

  1. 먼저 직원의 머릿속이 숫자 표(벡터와 행렬)로 움직인다는 것을 알고, 예전 직원(RNN)이 왜 긴 문장에서 앞 내용을 잊었는지 봅니다(1장).
  2. 문장을 레고 블록(토큰)으로 쪼개 번호를 붙이고, 번호를 성격표(임베딩)와 순서표(위치 정보)로 바꿉니다(2장).
  3. 낱말마다 다른 낱말을 얼마나 참고할지 정하는 Attention 과, 그것을 쌓은 Encoder 를 계산으로 따라갑니다(3장).
  4. 뒷장을 가리고 한 낱말씩 써 나가는 Decoder 를 배우고, 작은 영한 번역기를 처음부터 학습해 봅니다(4장).
  5. Decoder 만 아주 크게 쌓은 것이 GPT 와 Qwen 같은 LLM 이고, 사전학습 → SFT → 선호도 정렬 세 단계로 만들어진다는 것을 봅니다(5장).
  6. 둘째 날, 수습 직원(Qwen2.5-0.5B-Instruct)을 GPU 에 올려 말을 걸고, 말투를 고르는 다이얼(temperature, top-p)을 돌려 봅니다(6장).
  7. 상담 연습용 모범 답안집(SFT 데이터)을 만들고 대본 양식(Chat Template)에 맞춥니다(7장).
  8. 직원 전체를 다시 가르치는 대신 얇은 투명 필름(LoRA)만 덧붙여 말투를 가르칩니다(8장).
  9. 연수 전후를 시험(손실)과 실제 대화로 비교하고, 필름을 끼우고 빼고 붙이는 법, 사진을 작게 줄이듯 모델을 4비트로 줄이는 QLoRA 를 봅니다(9장).
1일차와 2일차를 차례로 이은 과정 로드맵

왼쪽에서 오른쪽으로 1일차, 2일차입니다. 상자마다 맨 위 줄에 묶음과 장, 가운데에 그 묶음의 이름, 맨 아래에 한마디 요약을 적었습니다.

묶음장한 줄 요약
1일차1장 준비 수학과 Transformer 개요, 2장 Transformer 입력 표현, 3장 Attention과 Encoder, 4장 Transformer Decoder와 작은 번역기, 5장 Decoder-only LLM과 학습 단계글이 숫자가 되고, Attention 으로 문맥을 읽고, 한 토큰씩 글을 만드는 Transformer 의 구조를 익힌다
2일차6장 Qwen 모델 준비와 텍스트 생성, 7장 SFT 데이터 구성과 Chat Template, 8장 PEFT와 LoRA 학습, 9장 모델 평가와 활용, QLoRA공개 LLM 을 SFT 데이터와 LoRA·QLoRA 로 적은 자원만 써서 조정하고 평가한다

장마다 강사 노트북의 원본 코드를 차례대로 묶은 실습과 프로젝트 1개가 있습니다. 실습 코드에는 줄마다 주석을 달았습니다. 3장은 노트북에 코드가 없어, 노트북의 식을 NumPy 로 따라 계산하는 실습을 새로 넣었습니다.

1일차. Transformer 구조에서 생성형 LLM까지

1장에서는 준비 수학과 Transformer 가 나온 까닭을 봅니다.

  • 벡터, 행렬, 행렬곱, 내적, Softmax 를 NumPy 로 계산해 보고, 신경망 안에서 shape 가 바뀌는 모습을 따라갑니다.
  • RNN 과 Seq2Seq 가 문장을 한 칸씩 읽어 생기는 한계, 그것을 푼 Attention, 그리고 "Attention Is All You Need"(2017)의 Transformer 전체 구조를 봅니다.

2장은 입력 표현입니다.

  • BERT 와 Qwen 의 토크나이저로 영어와 한국어를 토큰으로 쪼개고, 같은 뜻이라도 토큰 수가 다르다는 것을 봅니다.
  • 토큰 번호를 임베딩 벡터로 바꾸고, 사인·코사인 위치 인코딩으로 순서 정보를 더합니다.

3장은 Attention 과 Encoder 입니다.

  • Query, Key, Value 와 softmax(QKᵀ/√d_k)V 를 작은 숫자로 직접 계산합니다.
  • 여러 관점으로 나눠 보는 Multi-Head Attention, Add & Norm, FFN 을 쌓은 Encoder 블록을 봅니다.

4장은 Decoder 입니다.

  • Teacher Forcing, 뒷장을 가리는 Masked Self-Attention, 원문을 참고하는 Cross-Attention 을 봅니다.
  • 영어·한국어 문장쌍으로 작은 Encoder-Decoder 번역기를 처음부터 학습하고 번역해 봅니다.

5장은 Decoder-only LLM 입니다.

  • GPT 처럼 Decoder 만 쌓은 모델이 다음 토큰 예측으로 사전학습되는 과정, 크기를 키우자 생긴 일(Scaling Law)을 봅니다.
  • Qwen2.5-0.5B-Instruct 의 구조를 출력해 읽고, LLM 을 업무에 맞추는 Prompt, RAG, Fine-tuning 을 견줍니다.

2일차. SFT 데이터 구성과 LoRA 파인튜닝

6장에서는 Qwen 을 GPU 에 올려 글을 만들어 봅니다.

  • 모델 크기와 GPU 메모리의 관계(파라미터 수 × 바이트 수)를 계산합니다.
  • 한 토큰씩 이어 쓰는 생성 과정과 temperature, top-k, top-p 디코딩, SFT 와 선호도 정렬의 차이를 봅니다.

7장은 SFT 데이터입니다.

  • 질문과 모범 답변 CSV 를 점검하고, 대화 형식(prompt, completion)으로 바꿔 학습·검증·평가 데이터로 나눕니다.
  • Chat Template 이 messages 를 모델이 읽는 문자열로 바꾸는 모습, input_ids·attention_mask·labels 의 뜻을 봅니다.

8장은 PEFT 와 LoRA 입니다.

  • 모델 전체를 학습하는 부담과, 대부분을 얼리고 일부만 학습하는 PEFT, 저랭크 행렬 A·B 로 변화량을 배우는 LoRA 를 봅니다.
  • SFTTrainer 로 말투 LoRA 를 학습하고, 손실 곡선과 학습 전후 답변을 비교한 뒤 어댑터를 저장합니다.

9장은 평가와 활용입니다.

  • 평가 데이터의 손실로 학습 효과를 재고, 일반 질문으로 부작용을 점검합니다.
  • 어댑터를 불러와 끄고 켜고, 기반 모델에 병합해 저장합니다. 4비트로 줄인 기반 모델에 LoRA 를 붙이는 QLoRA 도 해 봅니다.
  • 마지막에 종합평가(고객 문의 응답 형식 LoRA 파인튜닝)를 안내합니다.
← 이전환경설정다음 →1장 · 먼저 큰 그림부터