
밑바닥부터 만들면서 배우는 LLM
Description
책소개
한 줄 한 줄 코드를 따라가다 보면, 나만의 GPT가 완성된다!
GPT를 밑바닥부터 구현하며 LLM의 원리를 손끝으로 체득하는 실전 가이드
어려운 개념은 그림으로 풀고, LLM은 직접 만들면서 배운다.
이 책은 대규모 언어 모델의 구조와 동작 원리를 처음부터 끝까지 직접 구현하며 학습할 수 있는 실전형 LLM 입문서다.
단순히 개념을 설명하는 데 그치지 않고 텍스트 전처리와 토큰화, 임베딩 과정을 출발점으로 삼아, 셀프 어텐션과 멀티헤드 어텐션, 트랜스포머 블록을 차근차근 구축해 나간다.
이어서 이러한 구성 요소들을 통합하여 실제 GPT 모델을 완성하고, 모델의 파라미터 수와 훈련 안정화 기법, 활성화 함수와 정규화 방법 등 최신 아키텍처 설계의 핵심 요소들을 직접 다뤄본다.
또한 사전 학습과 미세 튜닝 과정을 깊이 있게 안내한다.
레이블 없는 데이터에서 사전 훈련을 진행하고, 텍스트 분류와 같은 다운스트림 작업에 맞춰 모델을 튜닝하며, 최근 각광받는 지시 기반 학습 기법까지 실습할 수 있다.
LoRA 기반의 파라미터 효율적 미세 조정(PEFT) 같은 최신 내용도 담아 LLM을 실제 서비스와 연구에 연결할 수 있는 방법까지 폭넓게 제시한다.
모든 개념은 파이토치 코드로 구현되어 있으며, 일반 노트북 환경에서도 실습할 수 있도록 최적화했다.
이 책의 구현 과정을 따라가다 보면 LLM 내부에서 어떤 일이 일어나는지 자연스럽게 이해하고, 대규모 언어 모델의 메커니즘이 어떻게 작동하는지 손끝으로 체득하게 될 것이다.
GPT를 밑바닥부터 구현하며 LLM의 원리를 손끝으로 체득하는 실전 가이드
어려운 개념은 그림으로 풀고, LLM은 직접 만들면서 배운다.
이 책은 대규모 언어 모델의 구조와 동작 원리를 처음부터 끝까지 직접 구현하며 학습할 수 있는 실전형 LLM 입문서다.
단순히 개념을 설명하는 데 그치지 않고 텍스트 전처리와 토큰화, 임베딩 과정을 출발점으로 삼아, 셀프 어텐션과 멀티헤드 어텐션, 트랜스포머 블록을 차근차근 구축해 나간다.
이어서 이러한 구성 요소들을 통합하여 실제 GPT 모델을 완성하고, 모델의 파라미터 수와 훈련 안정화 기법, 활성화 함수와 정규화 방법 등 최신 아키텍처 설계의 핵심 요소들을 직접 다뤄본다.
또한 사전 학습과 미세 튜닝 과정을 깊이 있게 안내한다.
레이블 없는 데이터에서 사전 훈련을 진행하고, 텍스트 분류와 같은 다운스트림 작업에 맞춰 모델을 튜닝하며, 최근 각광받는 지시 기반 학습 기법까지 실습할 수 있다.
LoRA 기반의 파라미터 효율적 미세 조정(PEFT) 같은 최신 내용도 담아 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를 사용한 파라미터 효율적인 미세 튜닝
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를 사용한 파라미터 효율적인 미세 튜닝
상세 이미지
출판사 리뷰
“만들 수 없다면, 진정으로 이해한 것이 아니다.” - 리처드 파인만
LLM을 이해하는 가장 좋은 방법은 밑바닥부터 직접 구현해 보는 것이다
이름에서 알 수 있듯이 LLM(Large Language Model)은 매우 큰 모델이다.
하지만 규모가 크다고 해서 LLM을 블랙박스처럼 생각할 필요는 없다.
파인만의 말처럼 무언가를 진정으로 이해하려면 직접 만들어보는 것이 가장 좋다.
이 책을 통해 단계별로 LLM을 구축하는 방법을 배우자.
기존의 다른 LLM 라이브러리를 사용하지 않고 직접 베이스 모델을 개발하고, 이를 텍스트 분류기로 발전시킨 뒤 궁극적으로 나의 대화 지시를 따르는 챗봇을 만들어보자.
모델 구축의 계획을 짜고 코딩하는 것부터 시작해 모델 훈련과 미세 튜닝에 이르기까지 모든 단계를 다룰 것이다.
이 책을 다 읽고 나면 ChatGPT와 같은 LLM의 동작 방식을 근본적인 수준에서 확실하게 이해하게 될 것이다.
[이 책에 담긴 내용]
■GPT-2와 유사한 LLM을 기획하고 개발하기
■텍스트 분류를 위해 LLM을 미세 튜닝하기
■사전 훈련된 가중치 로드하기
■사람의 지시를 따르는 LLM 개발하기
■완전한 훈련 파이프라인 구축하기
워크북도 함께 제공! 좀더 쉽고 명확하게 이해해보자!
이 책의 학습 방법, 즉 직접 스스로 모델을 만들어보는 것은 대규모 언어 모델의 동작 방식을 근본부터 배울 수 있는 가장 좋은 방법이다.
이를 위해 명확한 설명, 그림, 코드를 담았지만, 다루는 주제가 복잡하기 때문에 어렵게 느껴질 수 있다.
조금 더 쉽고 명확하게 이해할 수 있도록 워크북을 준비했다.
이 워크북은 『밑바닥부터 만들면서 배우는 LLM』의 구성을 따라가며 각 장의 핵심 개념을 다루고 선다형 퀴즈, 코드와 핵심 개념에 대한 질문, 깊게 생각하고 길게 답변해야 하는 질문 등으로 스스로를 테스트할 수 있다.
물론 질문에 대한 답변도 함께 실었다.
본문을 읽기 전이나, 읽은 후, 시간을 두고 반복 학습을 하고자 할 때 등 다양하게 활용하면서 배운 지식을 확실하게 익히자.
[지은이 서문]
저는 기본 개념과 관련된 코드를 작성하는 데 자신감을 갖는 것이 이 분야에서 성공하는 데 중요하다고 생각합니다.
이는 버그를 수정하고 성능을 향상하는 것뿐만 아니라 새로운 아이디어를 실험하는 데도 도움이 됩니다.
제가 몇 년전 처음 LLM을 접했을 때는 이를 구현하는 방법을 어렵게 배웠습니다.
전체적인 내용을 이해하기 위해 많은 연구 논문과 불완전한 코드 저장소를 뒤져야 했습니다.
이 책에서는 LLM의 주요 구성 요소와 개발 단계를 상세히 설명하는 단계별 튜토리얼을 제공합니다.
이를 통해 LLM을 쉽게 이해할 수 있으면 좋겠습니다.
LLM을 이해하는 가장 좋은 방법은 밑바닥부터 직접 구현해 보는 것이라 굳게 믿고 있습니다.
이게 재미도 있다는 것을 알게 될 거예요! 즐거운 독서와 코딩이 되시길!
[옮긴이 서문]
LLM을 이해하는 가장 좋은 방법은 밑바닥부터 직접 구현해 보는 것이라는 저자의 말에 동감합니다.
특히 컴퓨터 과학과 머신러닝에서는 이런 학습 방법이 효과적입니다.
엔지니어로서 저는 여전히 도구의 작동 방식에 호기심이 더 많습니다.
아마 이 책을 든 여러분도 저와 비슷할지 모르겠습니다.
이 책을 따라 파이토치로 벽돌을 하나씩 차곡차곡 쌓아 LLM 탑을 완성해 가다 보면 지금 시대의 인공지능과 LLM이 어떤 수준에 도달했는지 명확하게 알 수 있습니다.
LLM의 구조를 샅샅이 분해하다 보면 LLM은 실제 추론을 하는 게 아니라 사후 합리화를 위해 추론을 하는 것 같은 텍스트를 생성한다는 주장에도 고개를 끄덕이게 됩니다.
추론이라는 것은 본질적으로 무엇일까요? 사람은 기계와 달리 어떻게 차별화될까요? 우리가 풀지 못한 문제가 아직 너무 많습니다.
앞으로도 이 분야는 흥미롭고 신비로운 일들이 끊이지 않을 것임에 틀림없습니다.
[베타리더 후기]
트랜스포머 구조와 LLM을 이처럼 쉽게 풀어낸 설명을 거의 찾아볼 수 없었습니다.
특히 단계별 실습을 제공한다는 점이 저에게 큰 도움이 되었습니다.
기초를 튼튼히 다질 수 있다는 점에서 모든 AI 개발자에게 이 책을 추천합니다.
- 김병규 | 아이브릭스 AI 서비스 개발자
GPT 구조와 학습 과정이 실제 구현 단계와 함께 설명되어 있어, ChatGPT 같은 모델이 어떤 원리로 동작하는지 감을 잡을 수 있었습니다. LLM에 대한 지식이 전혀 없던 저에게, 이 책은 기본 개념부터 실제 활용까지 체계적으로 쌓을 수 있도록 도와준 유익한 길잡이였습니다.
- 김준호 | 에스에스지닷컴 백엔드 개발자
개념 설명과 실습이 함께 구성되어 있어, LLM 개발에 대한 두려움과 진입 장벽을 크게 낮춰 주는 책이라고 생각합니다.
- 김민선 | 한국수자원공사 데이터 관리
모든 소스를 구글 코랩에서 직접 실습할 수 있도록 해두었는데, 이러한 배려 덕분에 읽으면서 실습할 수 있는 환경이 마련되어 있다는 점이 특히 만족스러웠습니다.
무엇보다 제공되는 소스에 오류가 없다는 점이 인상적이었습니다.
이론과 실습을 병행하며 이해할 수 있도록 구성되어 있어 LLM이 어떻게 동작하는지 근본적인 원리를 알고 싶은 분께 이 책을 적극 추천합니다.
- 김종열 | 에코시스템 솔루션사업부 팀장
LLM의 기초 개념부터 출발해 실제 코드를 다뤄 보는 핸즈온(Hands-on) 실습을 통해 심화 내용까지 자연스럽게 이어집니다.
기초부터 차근차근 쌓아 올려 원리를 깊이 이해할 수 있도록 돕는 훌륭한 안내서입니다.
- 추상원 | GOTROOT Pentester
연구 논문의 아이디어 형성 과정까지 엿볼 수 있어 학문적으로도 영감을 얻을 수 있으며, 연구 수준의 추상적 개념을 기초부터 직접 구현함으로써 논문의 난해한 부분을 명쾌하게 이해할 수 있습니다.
방대한 내용을 다루면서도 코드 오류가 없어 내용에 몰입할 수 있고, 파이토치 중심의 직관적인 코드 구현은 실무 활용에도 큰 도움이 됩니다.
- 허민 | 한국외국어대학교 정보전략팀 AI 개발 및 전략기획
파이토치에 익숙하지 않은 사람도 무리 없이 따라올 수 있도록 배려한 구성이 인상적이었습니다. LLM의 기초 이론부터 실제 모델 구현, 실무적인 미세 튜닝 방법까지 LLM 개발의 전 과정을 완벽하게 아우르는 최고의 실전 가이드입니다.
- 강경목 | 한국썸벧(하림그룹 계열) 부장(팀장)·경영학 박사
단순히 LLM을 활용하는 법을 넘어, 직접 구현하며 이해할 수 있도록 돕는 훌륭한 책입니다.
- 이진 | 경동나비엔 개발팀 데이터 사이언티스트
트랜스포머의 셀프 어텐션 메커니즘을 단계별로 설명합니다. LLM과 GPT 모델의 내부 시스템 작동 방식에 대한 직관을 키우고 싶다면 꼭 읽어봐야 할 책입니다.
- 아마존 독자 리뷰
저자가 모든 코드를 제공하고, 쉽게 따라 할 수 있습니다.
코드를 쉽게 수정하고, 많은 것을 배울 수 있습니다. LLM의 작동 방식을 배우고 싶다면 최고의 투자입니다.
- 아마존 독자 리뷰
LLM을 이해하는 가장 좋은 방법은 밑바닥부터 직접 구현해 보는 것이다
이름에서 알 수 있듯이 LLM(Large Language Model)은 매우 큰 모델이다.
하지만 규모가 크다고 해서 LLM을 블랙박스처럼 생각할 필요는 없다.
파인만의 말처럼 무언가를 진정으로 이해하려면 직접 만들어보는 것이 가장 좋다.
이 책을 통해 단계별로 LLM을 구축하는 방법을 배우자.
기존의 다른 LLM 라이브러리를 사용하지 않고 직접 베이스 모델을 개발하고, 이를 텍스트 분류기로 발전시킨 뒤 궁극적으로 나의 대화 지시를 따르는 챗봇을 만들어보자.
모델 구축의 계획을 짜고 코딩하는 것부터 시작해 모델 훈련과 미세 튜닝에 이르기까지 모든 단계를 다룰 것이다.
이 책을 다 읽고 나면 ChatGPT와 같은 LLM의 동작 방식을 근본적인 수준에서 확실하게 이해하게 될 것이다.
[이 책에 담긴 내용]
■GPT-2와 유사한 LLM을 기획하고 개발하기
■텍스트 분류를 위해 LLM을 미세 튜닝하기
■사전 훈련된 가중치 로드하기
■사람의 지시를 따르는 LLM 개발하기
■완전한 훈련 파이프라인 구축하기
워크북도 함께 제공! 좀더 쉽고 명확하게 이해해보자!
이 책의 학습 방법, 즉 직접 스스로 모델을 만들어보는 것은 대규모 언어 모델의 동작 방식을 근본부터 배울 수 있는 가장 좋은 방법이다.
이를 위해 명확한 설명, 그림, 코드를 담았지만, 다루는 주제가 복잡하기 때문에 어렵게 느껴질 수 있다.
조금 더 쉽고 명확하게 이해할 수 있도록 워크북을 준비했다.
이 워크북은 『밑바닥부터 만들면서 배우는 LLM』의 구성을 따라가며 각 장의 핵심 개념을 다루고 선다형 퀴즈, 코드와 핵심 개념에 대한 질문, 깊게 생각하고 길게 답변해야 하는 질문 등으로 스스로를 테스트할 수 있다.
물론 질문에 대한 답변도 함께 실었다.
본문을 읽기 전이나, 읽은 후, 시간을 두고 반복 학습을 하고자 할 때 등 다양하게 활용하면서 배운 지식을 확실하게 익히자.
[지은이 서문]
저는 기본 개념과 관련된 코드를 작성하는 데 자신감을 갖는 것이 이 분야에서 성공하는 데 중요하다고 생각합니다.
이는 버그를 수정하고 성능을 향상하는 것뿐만 아니라 새로운 아이디어를 실험하는 데도 도움이 됩니다.
제가 몇 년전 처음 LLM을 접했을 때는 이를 구현하는 방법을 어렵게 배웠습니다.
전체적인 내용을 이해하기 위해 많은 연구 논문과 불완전한 코드 저장소를 뒤져야 했습니다.
이 책에서는 LLM의 주요 구성 요소와 개발 단계를 상세히 설명하는 단계별 튜토리얼을 제공합니다.
이를 통해 LLM을 쉽게 이해할 수 있으면 좋겠습니다.
LLM을 이해하는 가장 좋은 방법은 밑바닥부터 직접 구현해 보는 것이라 굳게 믿고 있습니다.
이게 재미도 있다는 것을 알게 될 거예요! 즐거운 독서와 코딩이 되시길!
[옮긴이 서문]
LLM을 이해하는 가장 좋은 방법은 밑바닥부터 직접 구현해 보는 것이라는 저자의 말에 동감합니다.
특히 컴퓨터 과학과 머신러닝에서는 이런 학습 방법이 효과적입니다.
엔지니어로서 저는 여전히 도구의 작동 방식에 호기심이 더 많습니다.
아마 이 책을 든 여러분도 저와 비슷할지 모르겠습니다.
이 책을 따라 파이토치로 벽돌을 하나씩 차곡차곡 쌓아 LLM 탑을 완성해 가다 보면 지금 시대의 인공지능과 LLM이 어떤 수준에 도달했는지 명확하게 알 수 있습니다.
LLM의 구조를 샅샅이 분해하다 보면 LLM은 실제 추론을 하는 게 아니라 사후 합리화를 위해 추론을 하는 것 같은 텍스트를 생성한다는 주장에도 고개를 끄덕이게 됩니다.
추론이라는 것은 본질적으로 무엇일까요? 사람은 기계와 달리 어떻게 차별화될까요? 우리가 풀지 못한 문제가 아직 너무 많습니다.
앞으로도 이 분야는 흥미롭고 신비로운 일들이 끊이지 않을 것임에 틀림없습니다.
[베타리더 후기]
트랜스포머 구조와 LLM을 이처럼 쉽게 풀어낸 설명을 거의 찾아볼 수 없었습니다.
특히 단계별 실습을 제공한다는 점이 저에게 큰 도움이 되었습니다.
기초를 튼튼히 다질 수 있다는 점에서 모든 AI 개발자에게 이 책을 추천합니다.
- 김병규 | 아이브릭스 AI 서비스 개발자
GPT 구조와 학습 과정이 실제 구현 단계와 함께 설명되어 있어, ChatGPT 같은 모델이 어떤 원리로 동작하는지 감을 잡을 수 있었습니다. LLM에 대한 지식이 전혀 없던 저에게, 이 책은 기본 개념부터 실제 활용까지 체계적으로 쌓을 수 있도록 도와준 유익한 길잡이였습니다.
- 김준호 | 에스에스지닷컴 백엔드 개발자
개념 설명과 실습이 함께 구성되어 있어, LLM 개발에 대한 두려움과 진입 장벽을 크게 낮춰 주는 책이라고 생각합니다.
- 김민선 | 한국수자원공사 데이터 관리
모든 소스를 구글 코랩에서 직접 실습할 수 있도록 해두었는데, 이러한 배려 덕분에 읽으면서 실습할 수 있는 환경이 마련되어 있다는 점이 특히 만족스러웠습니다.
무엇보다 제공되는 소스에 오류가 없다는 점이 인상적이었습니다.
이론과 실습을 병행하며 이해할 수 있도록 구성되어 있어 LLM이 어떻게 동작하는지 근본적인 원리를 알고 싶은 분께 이 책을 적극 추천합니다.
- 김종열 | 에코시스템 솔루션사업부 팀장
LLM의 기초 개념부터 출발해 실제 코드를 다뤄 보는 핸즈온(Hands-on) 실습을 통해 심화 내용까지 자연스럽게 이어집니다.
기초부터 차근차근 쌓아 올려 원리를 깊이 이해할 수 있도록 돕는 훌륭한 안내서입니다.
- 추상원 | GOTROOT Pentester
연구 논문의 아이디어 형성 과정까지 엿볼 수 있어 학문적으로도 영감을 얻을 수 있으며, 연구 수준의 추상적 개념을 기초부터 직접 구현함으로써 논문의 난해한 부분을 명쾌하게 이해할 수 있습니다.
방대한 내용을 다루면서도 코드 오류가 없어 내용에 몰입할 수 있고, 파이토치 중심의 직관적인 코드 구현은 실무 활용에도 큰 도움이 됩니다.
- 허민 | 한국외국어대학교 정보전략팀 AI 개발 및 전략기획
파이토치에 익숙하지 않은 사람도 무리 없이 따라올 수 있도록 배려한 구성이 인상적이었습니다. LLM의 기초 이론부터 실제 모델 구현, 실무적인 미세 튜닝 방법까지 LLM 개발의 전 과정을 완벽하게 아우르는 최고의 실전 가이드입니다.
- 강경목 | 한국썸벧(하림그룹 계열) 부장(팀장)·경영학 박사
단순히 LLM을 활용하는 법을 넘어, 직접 구현하며 이해할 수 있도록 돕는 훌륭한 책입니다.
- 이진 | 경동나비엔 개발팀 데이터 사이언티스트
트랜스포머의 셀프 어텐션 메커니즘을 단계별로 설명합니다. LLM과 GPT 모델의 내부 시스템 작동 방식에 대한 직관을 키우고 싶다면 꼭 읽어봐야 할 책입니다.
- 아마존 독자 리뷰
저자가 모든 코드를 제공하고, 쉽게 따라 할 수 있습니다.
코드를 쉽게 수정하고, 많은 것을 배울 수 있습니다. LLM의 작동 방식을 배우고 싶다면 최고의 투자입니다.
- 아마존 독자 리뷰
GOODS SPECIFICS
- 발행일 : 2025년 09월 22일
- 쪽수, 무게, 크기 : 560쪽 | 183*235*23mm
- ISBN13 : 9791140715848
You may also like
카테고리
한국어
한국어