책소개
토크나이저부터 추론 모델까지,처음부터 끝까지 구현하며 배우는 LLM의 원리챗GPT 같은 대규모 언어 모델(LLM)이 일상에 깊이 들어온 지금, 그 작동 원리를 직접 구현해 본 사람은 많지 않습니다. 『밑바닥부터 시작하는 딥러닝』 여섯 번째 편은 토크나이저, 모델, 학습이라는 LLM의 핵심 세 단계를 완성된 라이브러리에 기대지 않고 밑바닥부터 구현합니다. CodeBot, StoryBot, WebBot 세 프로젝트를 거치며 BPE 토크나이저, 트랜스포머 어텐션, 사전 학습부터 SFT·GRPO·DPO 강화 학습까지 LLM 개발의 전 과정을 코드로 직접 재현합니다. 파이썬, 파이토치 기초와 딥러닝에 대한 기본 이해가 있다면, 이 책과 함께 나만의 LLM을 밑바닥부터 키워보세요.
저자소개
1984년 나가사키 현 쓰시마 출생. 도쿄공업대학교 공학부를 졸업하고 도쿄대학대학원 학제정보학부 석사 과정을 수료했다. 현재는 기업에서 인공지능 관련 연구·개발에 매진하고 있다. 『밑바닥부터 시작하는 딥러닝』 시리즈 집필 외에 『파이썬 인 프랙티스』, 『밑바닥부터 만드는 컴퓨팅 시스템』, 『Building Machine Learning Systems with Python』 등을 일본어로 옮겼다.
목차
CHAPTER 0 LLM이 만들어지기까지0.1 구성 요소0.2 LLM의 사전 학습0.3 LLM의 사후 학습[PART I 기본편: CodeBot 만들기]I.1 개발 흐름I.2 사전 학습I.3 SFT(지도 파인튜닝)I.4 강화 학습CHAPTER 1 토크나이저 (기본편)1.1 문자 단위 토큰화1.2 바이트 단위 토큰화1.3 BPE의 학습 알고리즘1.4 BPE를 적용한 인코딩과 디코딩1.5 특수 토큰 대응1.6 사전 토큰화1.7 TinyCodes를 이용한 학습1.8 토크나이저 평가1.9 TinyCodes 인코딩1.10 정리CHAPTER 2 모델 (기본편)2.1 어텐션 기본 원리2.2 어텐션의 수식과 구현2.3 어텐션 스케일링2.4 트랜스포머 기본 구조2.5 위치 인코딩2.6 어텐션 마스크2.7 밸류 변환 행렬 효율 개선2.8 멀티헤드 어텐션2.9 트랜스포머 블록2.10 GPT-22.11 정리CHAPTER 3 학습 (기본편)3.1 사전 학습3.2 텍스트 생성3.3 SFT(지도 파인튜닝)3.4 SFT 모델과 나누는 대화3.5 강화 학습과 언어 모델3.6 정책 경사법3.7 베이스라인3.8 오프-정책과 클리핑3.9 GRPO3.10 정리[PART II 응용편: StoryBot 만들기]II.1 데이터셋II.2 개발 흐름CHAPTER 4 토크나이저 (응용편)4.1 BPE 학습 개선 : 중복 제거4.2 BPE 학습 개선 : 부분 갱신4.3 BPE 학습 개선 : 분할 처리4.4 BPE 학습 개선 : 병렬화4.5 토크나이저 평가4.6 BPE 인코딩 개선 : 고속 병합4.7 BPE 인코딩 개선 : 대규모 데이터 처리4.8 정리CHAPTER 5 모델 (응용편)5.1 RoPE5.2 SwiGLU5.3 RMSNorm과 그 밖의 개선5.4 개선된 GPT 구현5.5 KV 캐시5.6 정리CHAPTER 6 학습 (응용편)6.1 AdamW의 원리6.2 AdamW 구현6.3 학습률 스케줄6.4 혼합 정밀도6.5 사전 학습 (개선 버전)6.6 텍스트 생성과 모델 평가6.7 RLHF와 DPO6.8 DPO 구현6.9 정리[PART III 도전편: WebBot 만들기]III.1 데이터셋III.2 개발 흐름CHAPTER 7 토크나이저 (도전편)7.1 WebBot의 토크나이저7.2 병목 지점 찾기7.3 러스트와 C++를 이용한 속도 개선7.4 특수 토큰 추가7.5 다른 토크나이저7.6 토크나이저를 사용하지 않는 접근법7.7 정리CHAPTER 8 모델 (도전편)8.1 모델 크기 선택8.2 FlashAttention8.3 Grouped-Query Attention(GQA)8.4 전문가 혼합(MoE)8.5 torch.compile8.6 컨텍스트 길이 확장8.7 정리CHAPTER 9 학습 (도전편)9.1 기울기 누적9.2 기울기 체크포인트9.3 분산 학습9.4 ZeRO9.5 Muon 옵티마이저9.6 Weights & Biases9.7 WebBot 학습과 생성 결과9.8 정리APPENDIX A UTF-8 인코딩의 원리APPENDIX B 어텐션의 스케일링 효과 증명APPENDIX C 베이스라인을 적용한 정책 경사 추정량의 불편성 증명APPENDIX D Adam의 편향 보정APPENDIX E DPO의 최적해 유도