책 이미지
책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 인공지능
· ISBN : 9791140715848
· 쪽수 : 560쪽
· 출판일 : 2025-09-22
책 소개
GPT를 밑바닥부터 구현하며 LLM의 원리를 손끝으로 체득하는 실전 가이드
어려운 개념은 그림으로 풀고, LLM은 직접 만들면서 배운다. 이 책은 대규모 언어 모델의 구조와 동작 원리를 처음부터 끝까지 직접 구현하며 학습할 수 있는 실전형 LLM 입문서다. 단순히 개념을 설명하는 데 그치지 않고 텍스트 전처리와 토큰화, 임베딩 과정을 출발점으로 삼아, 셀프 어텐션과 멀티헤드 어텐션, 트랜스포머 블록을 차근차근 구축해 나간다. 이어서 이러한 구성 요소들을 통합하여 실제 GPT 모델을 완성하고, 모델의 파라미터 수와 훈련 안정화 기법, 활성화 함수와 정규화 방법 등 최신 아키텍처 설계의 핵심 요소들을 직접 다뤄본다. 또한 사전 학습과 미세 튜닝 과정을 깊이 있게 안내한다. 레이블 없는 데이터에서 사전 훈련을 진행하고, 텍스트 분류와 같은 다운스트림 작업에 맞춰 모델을 튜닝하며, 최근 각광받는 지시 기반 학습 기법까지 실습할 수 있다. LoRA 기반의 파라미터 효율적 미세 조정(PEFT) 같은 최신 내용도 담아 LLM을 실제 서비스와 연구에 연결할 수 있는 방법까지 폭넓게 제시한다. 모든 개념은 파이토치 코드로 구현되어 있으며, 일반 노트북 환경에서도 실습할 수 있도록 최적화했다. 이 책의 구현 과정을 따라가다 보면 LLM 내부에서 어떤 일이 일어나는지 자연스럽게 이해하고, 대규모 언어 모델의 메커니즘이 어떻게 작동하는지 손끝으로 체득하게 될 것이다.
“만들 수 없다면, 진정으로 이해한 것이 아니다.” - 리처드 파인만
LLM을 이해하는 가장 좋은 방법은 밑바닥부터 직접 구현해 보는 것이다
이름에서 알 수 있듯이 LLM(Large Language Model)은 매우 큰 모델이다. 하지만 규모가 크다고 해서 LLM을 블랙박스처럼 생각할 필요는 없다. 파인만의 말처럼 무언가를 진정으로 이해하려면 직접 만들어보는 것이 가장 좋다. 이 책을 통해 단계별로 LLM을 구축하는 방법을 배우자. 기존의 다른 LLM 라이브러리를 사용하지 않고 직접 베이스 모델을 개발하고, 이를 텍스트 분류기로 발전시킨 뒤 궁극적으로 나의 대화 지시를 따르는 챗봇을 만들어보자. 모델 구축의 계획을 짜고 코딩하는 것부터 시작해 모델 훈련과 미세 튜닝에 이르기까지 모든 단계를 다룰 것이다. 이 책을 다 읽고 나면 ChatGPT와 같은 LLM의 동작 방식을 근본적인 수준에서 확실하게 이해하게 될 것이다.
[이 책에 담긴 내용]
▪GPT-2와 유사한 LLM을 기획하고 개발하기
▪텍스트 분류를 위해 LLM을 미세 튜닝하기
▪사전 훈련된 가중치 로드하기
▪사람의 지시를 따르는 LLM 개발하기
▪완전한 훈련 파이프라인 구축하기
워크북도 함께 제공! 좀더 쉽고 명확하게 이해해보자!
이 책의 학습 방법, 즉 직접 스스로 모델을 만들어보는 것은 대규모 언어 모델의 동작 방식을 근본부터 배울 수 있는 가장 좋은 방법이다. 이를 위해 명확한 설명, 그림, 코드를 담았지만, 다루는 주제가 복잡하기 때문에 어렵게 느껴질 수 있다. 조금 더 쉽고 명확하게 이해할 수 있도록 워크북을 준비했다. 이 워크북은 『밑바닥부터 만들면서 배우는 LLM』의 구성을 따라가며 각 장의 핵심 개념을 다루고 선다형 퀴즈, 코드와 핵심 개념에 대한 질문, 깊게 생각하고 길게 답변해야 하는 질문 등으로 스스로를 테스트할 수 있다. 물론 질문에 대한 답변도 함께 실었다. 본문을 읽기 전이나, 읽은 후, 시간을 두고 반복 학습을 하고자 할 때 등 다양하게 활용하면서 배운 지식을 확실하게 익히자.
[베타리더 후기]
트랜스포머 구조와 LLM을 이처럼 쉽게 풀어낸 설명을 거의 찾아볼 수 없었습니다. 특히 단계별 실습을 제공한다는 점이 저에게 큰 도움이 되었습니다. 기초를 튼튼히 다질 수 있다는 점에서 모든 AI 개발자에게 이 책을 추천합니다.
- 김병규 | 아이브릭스 AI 서비스 개발자
GPT 구조와 학습 과정이 실제 구현 단계와 함께 설명되어 있어, ChatGPT 같은 모델이 어떤 원리로 동작하는지 감을 잡을 수 있었습니다. LLM에 대한 지식이 전혀 없던 저에게, 이 책은 기본 개념부터 실제 활용까지 체계적으로 쌓을 수 있도록 도와준 유익한 길잡이였습니다.
- 김준호 | 에스에스지닷컴 백엔드 개발자
개념 설명과 실습이 함께 구성되어 있어, LLM 개발에 대한 두려움과 진입 장벽을 크게 낮춰 주는 책이라고 생각합니다.
- 김민선 | 한국수자원공사 데이터 관리
모든 소스를 구글 코랩에서 직접 실습할 수 있도록 해두었는데, 이러한 배려 덕분에 읽으면서 실습할 수 있는 환경이 마련되어 있다는 점이 특히 만족스러웠습니다. 무엇보다 제공되는 소스에 오류가 없다는 점이 인상적이었습니다. 이론과 실습을 병행하며 이해할 수 있도록 구성되어 있어 LLM이 어떻게 동작하는지 근본적인 원리를 알고 싶은 분께 이 책을 적극 추천합니다.
- 김종열 | 에코시스템 솔루션사업부 팀장
LLM의 기초 개념부터 출발해 실제 코드를 다뤄 보는 핸즈온(Hands-on) 실습을 통해 심화 내용까지 자연스럽게 이어집니다. 기초부터 차근차근 쌓아 올려 원리를 깊이 이해할 수 있도록 돕는 훌륭한 안내서입니다.
- 추상원 | GOTROOT Pentester
연구 논문의 아이디어 형성 과정까지 엿볼 수 있어 학문적으로도 영감을 얻을 수 있으며, 연구 수준의 추상적 개념을 기초부터 직접 구현함으로써 논문의 난해한 부분을 명쾌하게 이해할 수 있습니다. 방대한 내용을 다루면서도 코드 오류가 없어 내용에 몰입할 수 있고, 파이토치 중심의 직관적인 코드 구현은 실무 활용에도 큰 도움이 됩니다.
- 허민 | 한국외국어대학교 정보전략팀 AI 개발 및 전략기획
파이토치에 익숙하지 않은 사람도 무리 없이 따라올 수 있도록 배려한 구성이 인상적이었습니다. LLM의 기초 이론부터 실제 모델 구현, 실무적인 미세 튜닝 방법까지 LLM 개발의 전 과정을 완벽하게 아우르는 최고의 실전 가이드입니다.
- 강경목 | 한국썸벧(하림그룹 계열) 부장(팀장)·경영학 박사
단순히 LLM을 활용하는 법을 넘어, 직접 구현하며 이해할 수 있도록 돕는 훌륭한 책입니다.
- 이진 | 경동나비엔 개발팀 데이터 사이언티스트
목차
1장 대규모 언어 모델 이해하기
1.1 LLM이란 무엇인가요?
1.2 LLM 애플리케이션
1.3 LLM의 구축 단계
1.4 트랜스포머 구조 소개
1.5 대규모 데이터셋 활용하기
1.6 GPT 구조 자세히 살펴보기
1.7 대규모 언어 모델 만들기
1.8 요약
2장 텍스트 데이터 다루기
2.1 단어 임베딩 이해하기
2.2 텍스트 토큰화하기
2.3 토큰을 토큰 ID로 변환하기
2.4 특수 문맥 토큰 추가하기
2.5 바이트 페어 인코딩
2.6 슬라이딩 윈도로 데이터 샘플링하기
2.7 토큰 임베딩 만들기
2.8 단어 위치 인코딩하기
2.9 요약
3장 어텐션 메커니즘 구현하기
3.1 긴 시퀀스 모델링의 문제점
3.2 어텐션 메커니즘으로 데이터 의존성 포착하기
3.3 셀프 어텐션으로 입력의 서로 다른 부분에 주의 기울이기
__3.3.1 훈련 가능한 가중치가 없는 간단한 셀프 어텐션 메커니즘
__3.3.2 모든 입력 토큰에 대해 어텐션 가중치 계산하기
3.4 훈련 가능한 가중치를 가진 셀프 어텐션 구현하기
__3.4.1 단계별로 어텐션 가중치 계산하기
__3.4.2 셀프 어텐션 파이썬 클래스 구현하기
3.5 코잘 어텐션으로 미래의 단어를 감추기
__3.5.1 코잘 어텐션 마스크 적용하기
__3.5.2 드롭아웃으로 어텐션 가중치에 추가적으로 마스킹하기
__3.5.3 코잘 어텐션 클래스 구현하기
3.6 싱글 헤드 어텐션을 멀티 헤드 어텐션으로 확장하기
__3.6.1 여러 개의 싱글 헤드 어텐션 층 쌓기
__3.6.2 가중치 분할로 멀티 헤드 어텐션 구현하기
3.7 요약
4장 밑바닥부터 GPT 모델 구현하기
4.1 LLM 구조 구현하기
4.2 층 정규화로 활성화 정규화하기
4.3 GELU 활성화 함수를 사용하는 피드 포워드 네트워크 구현하기
4.4 숏컷 연결 추가하기
4.5 어텐션과 선형 층을 트랜스포머 블록에 연결하기
4.6 GPT 모델 만들기
4.7 텍스트 생성하기
4.8 요약
5장 레이블이 없는 데이터를 활용한 사전 훈련
5.1 텍스트 생성 모델 평가하기
__5.1.1 GPT를 사용해 텍스트 생성하기
__5.1.2 텍스트 생성 손실 계산하기
__5.1.3 훈련 세트와 검증 세트의 손실 계산하기
5.2 LLM 훈련하기
5.3 무작위성을 제어하기 위한 디코딩 전략
__5.3.1 온도 스케일링
__5.3.2 탑-k 샘플링
__5.3.3 텍스트 생성 함수 수정하기
5.4 파이토치로 모델 로드하고 저장하기
5.5 오픈AI에서 사전 훈련된 가중치 로드하기
5.6 요약
6장 분류를 위해 미세 튜닝하기
6.1 여러 가지 미세 튜닝 방법
6.2 데이터셋 준비
6.3 데이터 로더 만들기
6.4 사전 훈련된 가중치로 모델 초기화하기
6.5 분류 헤드 추가하기
6.6 분류 손실과 정확도 계산하기
6.7 지도 학습 데이터로 모델 미세 튜닝하기
6.8 LLM을 스팸 분류기로 사용하기
6.9 요약
7장 지시를 따르도록 미세 튜닝하기
7.1 지시 미세 튜닝 소개
7.2 지도 학습 지시 미세 튜닝을 위해 데이터셋 준비하기
7.3 훈련 배치 만들기
7.4 지시 데이터셋을 위한 데이터 로더 만들기
7.5 사전 훈련된 LLM 로드하기
7.6 지시 데이터에서 LLM 미세 튜닝하기
7.7 응답을 추출하여 저장하기
7.8 미세 튜닝된 LLM 평가하기
7.9 결론
__7.9.1 다음 단계는?
__7.9.2 빠르게 발전하는 분야의 최신 정보 얻기
__7.9.3 맺음말
7.10 요약
부록 A 파이토치 소개
A.1 파이토치란 무엇인가요?
__A.1.1 파이토치의 세 가지 핵심 요소
__A.1.2 딥러닝이란?
__A.1.3 파이토치 설치
A.2 텐서 이해하기
__A.2.1 스칼라, 벡터, 행렬, 텐서
__A.2.2 텐서 데이터 타입
__A.2.3 자주 사용하는 파이토치 텐서 연산
A.3 모델을 계산 그래프로 보기
A.4 자동 미분을 손쉽게
A.5 다층 신경망 만들기
A.6 효율적인 데이터 로더 설정하기
A.7 일반적인 훈련 루프
A.8 모델 저장과 로드
A.9 GPU로 훈련 성능 최적화하기
__A.9.1 GPU 장치를 사용한 파이토치 계산
__A.9.2 단일 GPU 훈련
__A.9.3 다중 GPU 훈련
A.10 요약
부록 B 참고 및 더 읽을 거리
부록 C 연습문제 해답
부록 D 훈련 루프에 부가 기능 추가하기
D.1 학습률 웜업
D.2 코사인 감쇠
D.3 그레이디언트 클리핑
D.4 수정된 훈련 함수
부록 E LoRA를 사용한 파라미터 효율적인 미세 튜닝
E.1 LoRA 소개
E.2 데이터셋 준비하기
E.3 모델 초기화하기
E.4 LoRA를 사용한 파라미터 효율적인 미세 튜닝
[워크북 목차]
1장 대규모 언어 모델 이해하기
2장 텍스트 데이터 다루기
3장 어텐션 메커니즘 구현하기
4장 밑바닥부터 GPT 모델 구현하기
5장 레이블이 없는 데이터를 활용한 사전 훈련
6장 분류를 위해 미세 튜닝하기
7장 지시를 따르도록 미세 튜닝하기
부록 A 파이토치 소개
부록 D 훈련 루프에 부가 기능 추가하기
부록 E LoRA를 사용한 파라미터 효율적인 미세 튜닝
리뷰
책속에서




















