Skip to content

rickiepark/llm-from-scratch

Repository files navigation

밑바닥부터 만들면서 배우는 LLM (길벗, 2025)

<밑바닥부터 만들면서 배우는 LLM>(길벗, 2025) 책의 공식 코드 저장소로 GPT와 유사한 LLM의 개발, 사전 훈련, 미세 튜닝하기 위한 코드를 포함하고 있습니다.



<밑바닥부터 만들면서 배우는 LLM>에서는 대규모 언어 모델(LLM)이 내부적으로 어떻게 작동하는지 밑바닥부터 단계별로 직접 코딩하면서 배우고 이해합니다. 이 책에서는 명확한 설명, 다이어그램, 예제를 통해 여러분만의 LLM을 만드는 과정을 안내합니다.

이 책에서는 교육적인 목적으로 작지만 완전한 기능을 갖춘 모델을 만듭니다. 이런 모델을 훈련하고 개발하는 방법은 ChatGPT와 같은 대규모 파운데이터션 모델을 만드는 데 사용된 방법과 동일합니다. 또한, 이 책에는 사전 훈련된 모델의 가중치를 불러와 미세 튜닝하는 코드도 포함되어 있습니다.

동영상 강의


이 저장소를 다운로드하려면 Download ZIP 버튼을 클릭하거나 터미널에서 다음 명령을 실행하세요:

git clone --depth 1 https://github.com/rickiepark/llm-from-scratch.git

목차

README.md 파일은 마크다운(Markdown)(.md) 파일입니다. 저장소를 다운로드해서 이 파일을 로컬 컴퓨터에서 보려면 마크다운 에디터나 뷰어를 사용하세요.

깃허브는 마크다운 파일을 자동으로 렌더링해 줍니다.


팁: 로컬 컴퓨터나 클라우드에서 파이썬 환경을 구성하는 가이드를 찾고 있다면 setup 디렉토리 안의 README.md 파일을 참고하세요.


제목 메인 코드 모든 코드 + 부록
Setup recommendations - -
1장: 대규모 언어 모델 이해하기 코드 없음 -
2장: 텍스트 데이터 다루기 - ch02.ipynb
- dataloader.ipynb (요약)
- exercise-solutions.ipynb
./ch02
3장: 어텐션 메커니즘 구현하기 - ch03.ipynb
- multihead-attention.ipynb (요약)
- exercise-solutions.ipynb
./ch03
4장: 밑바닥부터 GPT 모델 구현하기 - ch04.ipynb
- gpt.py (요약)
- exercise-solutions.ipynb
./ch04
5장: 레이블이 없는 데이터를 활용한 사전 훈련 - ch05.ipynb
- gpt_train.py (요약)
- gpt_generate.py (요약)
- exercise-solutions.ipynb
./ch05
6장: 분류를 위해 미세 튜닝하기 - ch06.ipynb
- gpt_class_finetune.py
- exercise-solutions.ipynb
./ch06
7장: 지시를 따르도록 미세 튜닝하기 - ch07.ipynb
- gpt_instruction_finetuning.py (요약)
- ollama_evaluate.py (요약)
- exercise-solutions.ipynb
./ch07
부록 A: 파이토치 소개 - code-part1.ipynb
- code-part2.ipynb
- DDP-script.py
- exercise-solutions.ipynb
./appendix-A
부록 B: 참고 및 더 읽을 거리 코드 없음 ./appendix-B
부록 C: 연습문제 해답 코드 없음 ./appendix-C
부록 D: 훈련 루프에 부가 기능 추가하기 - appendix-D.ipynb ./appendix-D
부록 E: LoRA를 사용한 파라미터 효율적인 미세 튜닝 - appendix-E.ipynb ./appendix-E

 

아래 그림이 이 책에서 다룰 내용을 요약해서 보여줍니다.


 

사전 지식

가장 중요한 사전 지식은 파이썬 프로그래밍에 대한 탄탄한 기초입니다. 이를 바탕으로 LLM의 매력적인 세계를 탐험하고 이 책에 제시된 개념과 코드 예제를 충분히 이해할 수 있습니다.

LLM이 심층 신경망을 기반으로 구축되므로 이에 대한 경험이 있다면 일부 개념이 더 익숙하게 느껴질 수 있습니다.

이 책은 외부 LLM 라이브러리를 사용하지 않고 파이토치(PyTorch)를 활용해 코드를 처음부터 구현합니다. 파이토치에 대한 숙련도는 필수는 아니지만, 파이토치의 기본 사항에 익숙하면 분명히 도움이 됩니다. 파이토치가 처음이라면 간략하게 파이토치를 소개하는 부록 A를 참고하세요.


하드웨어 요구사항

이 책의 주요 장에 포함된 코드는 합리적인 시간 내에 일반 노트북에서 실행될 수 있도록 설계되었으며, 전용 하드웨어가 필요하지 않습니다. 이런 방식을 채택함으로써 더 많은 독자가 쉽게 내용을 따라갈 수 있습니다. 또한, 이 저장소의 코드는 GPU가 사용 가능한 경우 이를 자동으로 활용합니다. (추가 권장 사항은 설정 문서를 참조하세요.)


Exercises

이 책의 각 장에는 여러 연습문제가 포함되어 있습니다. 해답은 부록 C에 요약되어 있으며, 해당 코드 노트북은 이 저장소의 주요 장 폴더(예: ./ch02/01_main-chapter-code/exercise-solutions.ipynb)에서 확인할 수 있습니다.

코드 연습문제 외에도, 본문과 별도로 140페이지 분량의 워크북이 함께 제공됩니다. 워크북에는 장당 약 30개의 퀴즈 문제와 해답이 포함되어 있어, 학습 내용을 점검하는 데 도움이 될 것입니다.


보너스 자료

관심있는 독자를 위해 몇몇 폴더에 추가 자료가 담겨 있습니다:

About

<밑바닥부터 만들면서 공부하는 LLM>(길벗, 2025)의 코드 저장소

Topics

Resources

License

Stars

Watchers

Forks