rasbt/LLMs-from-scratch
Implement a ChatGPT-like LLM in PyTorch from scratch, step by step
이 프로젝트는 무엇인가
이 저장소는 Sebastian Raschka의 책 Build a Large Language Model (From Scratch) (Manning, 2024, ISBN 978-1633437166)에 수반되는 공식 소스 코드를 포함합니다. GPT 유사 대규모 언어 모델의 개발, 사전 학습, 파인튜닝을 위한 단계별 코드를 제공합니다. 기존 LLM 라이브러리에 의존하지 않고, PyTorch를 유일한 딥러닝 프레임워크로 사용하여 모델을 처음부터 구축합니다.
배우고 구축할 내용
각 장은 책을 반영하며 작지만 기능적인 LLM을 만드는 전체 과정을 안내합니다:
- 대규모 언어 모델 이해 (코드 없음)
- 텍스트 데이터 작업 – 훈련을 위한 텍스트 준비 (토큰화 및 데이터 로딩)
- 어텐션 메커니즘 코딩 (멀티헤드 어텐션 포함)
- GPT 모델을 처음부터 구현
- 레이블 없는 데이터로 사전 학습 – 원시 텍스트로 모델 훈련
- 텍스트 분류를 위한 파인튜닝 – 스팸 감지와 같은 작업에 모델 적응
- 지시 따르기를 위한 파인튜닝 – 사용자 프롬프트에 응답하도록 모델 학습
부록에는 추가 자료가 포함됩니다: PyTorch 소개, 참고 문헌, 연습 문제 해답, 훈련 루프 개선, LoRA를 사용한 파라미터 효율적 파인튜닝.
README는 여기서 사용된 훈련 및 개발 접근 방식이 ChatGPT와 같은 대규모 기반 모델 뒤에 있는 접근 방식을 반영하지만 교육 목적으로 축소되었다고 언급합니다. 저장소에는 파인튜닝을 위한 더 큰 사전 학습 모델의 가중치를 로드하는 코드도 포함되어 있습니다.
저장소 구성
각 장에는 전용 폴더가 있으며, 주요 장 코드(Jupyter 노트북), 요약 스크립트(예: gpt.py, gpt_train.py), 연습 문제 해답이 포함되어 있습니다. README의 "목차"는 각 장을 주요 노트북과 보조 파일에 매핑합니다.
사전 요구 사항
- 탄탄한 Python 기초 – 가장 중요한 사전 요구 사항으로 나열됨.
- 심층 신경망에 대한 친숙함 – LLM이 이를 기반으로 하므로 유용하지만 필수는 아님.
- PyTorch 기초 – 유용하지만 필수는 아님; 부록 A에 간결한 PyTorch 소개가 제공됨.
하드웨어 요구 사항
주요 장의 코드는 기존 노트북에서 합리적인 시간 내에 실행되도록 설계되었으며 특수 하드웨어가 필요하지 않습니다. GPU를 사용할 수 있으면 자동으로 사용합니다.
포함된 추가 자료
- 각 장의 연습 문제, 해답은 부록 C에 있음.
- 저장소의 보너스 자료, 처음부터 구축된 Byte Pair Encoding 토크나이저, 다양한 어텐션 변형(그룹 쿼리 어텐션, 멀티헤드 잠재 어텐션 등), Mixture-of-Experts, 대체 모델 아키텍처(Llama 3.2, Qwen3, Gemma 3 등), 사용자 인터페이스 데모와 같은 선택적 주제 포함.
- 동반 비디오 코스 – 각 장을 코딩하는 17시간 15분 코스.
- 후속 책 – Build A Reasoning Model (From Scratch), 사전 학습 모델에서 시작하여 추론 기술(추론 시간 스케일링, 강화 학습, 증류)을 구현하는 독립적인 후속작. 후속작에는 자체 GitHub 저장소가 있음.
- 무료 퀴즈 PDF – 각 장당 약 30개의 퀴즈 질문이 있는 170페이지 자가 테스트 소책자.
설정 및 지침
README는 Python 및 필요한 패키지 설치에 대한 지침을 위해 setup 폴더를 읽을 것을 권장합니다. 또한 GitHub 저장소 대신 출판사 웹사이트에서 코드 번들을 다운로드한 경우 최신 업데이트를 위해 공식 GitHub 저장소를 확인하는 것이 좋다고 언급합니다.
기여 제한
이 저장소는 인쇄된 책을 반영하므로 저자는 주요 장 코드를 확장하는 기여를 받을 수 없다고 언급합니다. 이는 물리적 책과의 차이를 만들기 때문입니다. 피드백은 Manning 포럼과 GitHub Discussions에서 환영합니다.
인용
책은 시카고 스타일로 인용할 수 있습니다:
Raschka, Sebastian. Build A Large Language Model (From Scratch). Manning, 2024. ISBN: 978-1633437166.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트